Synthesizer based on the Unzen / Nucleo F746ZG

Dependencies:   amakusa mbed-dsp mbed shimabara ukifune unzen_nucleo_f746

Fork of skeleton_unzen_nucleo_f746 by seiichi horie

雲仙フレームワークのテストとして作っているプロジェクトです。中身はどんどん変っていきます。 説明はDSP空挺団の「シンセサイザー」カテゴリーを参照してください。初回は「ドッグフードを食べる」です。

Revision:
22:dc2cbe8db9d9
Parent:
20:53021b2c424d
Child:
23:58626090fce3
--- a/signal_processing.h	Sat Feb 04 15:05:44 2017 +0000
+++ b/signal_processing.h	Sun Feb 05 06:16:49 2017 +0000
@@ -15,7 +15,7 @@
     virtual ~VFO(void);
     void run(           
         float out_buffer[],         // place to write the right output samples
-        unsigned int block_size =0    // block size [sample]
+        unsigned int block_size    // block size [sample]
         );
            
         // parameter settings
@@ -84,6 +84,9 @@
     void set_vfo_frequency( int freq );     // unit is Hz.
     void set_vfo_duty_cycle( float duty );  // 0 ... 0.5
     void set_vfo_wave_form( wave_form form );
+    void set_filter_mode( svf_mode mode );
+    void set_filter_Q( float Q );           // 0.5 .. inf
+    void set_filter_f_factor( float f_factor ); // 0.0..1.0
 private:
     VFO *vfo;
     DCBlocker *dc_blocker;
@@ -107,10 +110,13 @@
            
         // project depenedent members.
     void set_volume( float vol );
-    void set_Fs( int Fs );          // unit is Hz.
-    void set_vfo_frequency( int freq );  // unit is Hz.
-    void set_vfo_duty_cycle( float duty );  // 0 ... 0.5
+    void set_Fs( int Fs );                      // unit is Hz.
+    void set_vfo_frequency( int freq );         // unit is Hz.
+    void set_vfo_duty_cycle( float duty );      // 0 ... 1.0
     void set_vfo_wave_form( wave_form form );
+    void set_filter_mode( svf_mode mode );
+    void set_filter_Q( float Q );               // 0.0..1.0
+    void set_filter_f_factor( float f_factor ); // 0.0..1.0
 private:
         // essential members. Do not touch.
     void enter_critical_section(void);