diff --git a/badge23/audio.c b/badge23/audio.c
index c642cef51f6d504c34b52b622e9bfdd301630c4e..44c81444dc00bae07ce7e3f00760d8fd4e56d290 100644
--- a/badge23/audio.c
+++ b/badge23/audio.c
@@ -12,12 +12,6 @@
 #include <string.h>
 #include "../../py/mphal.h"
 
-
-#define DRUMS_TOP 0
-
-#define NUM_SYNTH 10
-
-static trad_osc_t synths[NUM_SYNTH];
 static void audio_player_task(void* arg);
 
 #define DMA_BUFFER_SIZE     64
@@ -52,34 +46,6 @@ static void i2s_init(void){
 
 }
 
-static float FREQ_TABLE[] = {
-    523.25,
-    587.33,
- 659.25 ,
- 698.46 ,
- 783.99 ,
- 880.00 ,
- 987.77 ,
- 1046.50,
- 1174.66,
- 1318.51,
-};
-
-#if 0
-static float FREQ_TABLE[] = {
-     783.99,
-     415.30,
-     440.0,
-     493.88,
-     523.25,
-     587.33,
-     659.25,
-     698.46,
-     830.61,
-     880.00,
-};
-#endif
-
 typedef struct _audio_source_t{
     void * render_data;
     float (* render_function)(void *);
@@ -165,63 +131,14 @@ static void _audio_init(void) {
     init_scope(241);
     i2s_init();
     //ESP_ERROR_CHECK(i2s_channel_enable(tx_chan));
-
-    /*
-    for(int i = 0; i < NUM_SYNTH; i++){
-        if((i%2) || (!DRUMS_TOP) ){ //bottom leaves
-            synths[i].decay_steps = 50;
-            synths[i].attack_steps = 3;
-            if(i == 2 || i == 8) synths[i].attack_steps = 15;
-            synths[i].vol = 1.;
-            synths[i].gate = 0.01;
-            synths[i].freq = FREQ_TABLE[i]/2;
-            synths[i].counter = 0;
-            synths[i].bend = 1;
-            synths[i].noise_reg = 1;
-            synths[i].waveform = 1;
-            synths[i].skip_hold = !(i % 2);
-            if(DRUMS_TOP) synths[i].waveform = 4;
-        } else { //top leaves
-            synths[i].decay_steps = 50;
-            synths[i].attack_steps = 0;
-            synths[i].bend = 1;
-            synths[i].vol = 0.0;
-            synths[i].skip_hold = 1;
-            switch(i){
-                case 0: //kick
-                    synths[i].freq = 1800;
-                    break;
-                case 2: //snare 1
-                    synths[i].freq = 5000;
-                    break;
-                case 4: //snare 2
-                    synths[i].freq = 6000;
-                    break;
-                case 6: //hihat
-                    synths[i].freq = 12000;
-                    break;
-                case 8: //crash
-                    synths[i].freq = 16000;
-                    synths[i].gate = 0.1;
-                    break;
-            }
-            synths[i].counter = 0;
-            synths[i].waveform = 8;
-            synths[i].noise_reg = 1;
-        }
-        add_audio_source(&(synths[i]), trad_osc);
-    }
-    */
     TaskHandle_t handle;
     xTaskCreate(&audio_player_task, "Audio player", 20000, NULL, configMAX_PRIORITIES - 1, &handle);
 }
 
-#define MIN(a,b) ((a > b) ? b : a)
-#define LR_PHASE -1
+#define LR_PHASE 1
 #define NAT_LOG_DB 0.1151292546497023
 
 static uint16_t _global_vol = 3000;
-static void * _extra_synth = NULL;
 
 void set_global_vol_dB(int8_t vol_dB){
     if(vol_dB < (BADGE_MIN_VOLUME_DB)){
@@ -234,30 +151,14 @@ void set_global_vol_dB(int8_t vol_dB){
     }
 }
 
-void set_extra_synth(void * synth){
-    _extra_synth = synth;
-}
-
-void clear_extra_synth(){
-    _extra_synth = NULL;
-}
-
 static void audio_player_task(void* arg) {
     int16_t buffer[DMA_BUFFER_SIZE * 2];
-    //memset(buffer, 0, sizeof(buffer));
+    memset(buffer, 0, sizeof(buffer));
 
     while(true) {
 
         for(int i = 0; i < (DMA_BUFFER_SIZE * 2); i += 2){
             float sample = 0;
-            /*
-            for(int j = 0; j<NUM_SYNTH; j++){
-                sample += trad_osc(&(synths[j]));
-            }
-            if(_extra_synth != NULL){
-                sample += trad_osc((trad_osc_t * )_extra_synth);
-            }
-            */
             audio_source_t * audio_source = _audio_sources;
             while(audio_source != NULL){
                 sample += (*(audio_source->render_function))(audio_source->render_data);
@@ -272,7 +173,6 @@ static void audio_player_task(void* arg) {
         }
 
         size_t count = 0;
-        //i2s_channel_write(tx_chan, buffer, sizeof(buffer), &count, 1000);
         i2s_write(I2S_PORT, buffer, sizeof(buffer), &count, 1000);
         if (count != sizeof(buffer)) {
             printf("i2s_write_bytes: count (%d) != length (%d)\n", count, sizeof(buffer));
@@ -283,30 +183,8 @@ static void audio_player_task(void* arg) {
 
 void audio_init() { _audio_init(); }
 
-extern const int16_t boot_snd_start[] asm("_binary_boot_snd_start");
-extern const int16_t boot_snd_end[] asm("_binary_boot_snd_end");
-
-extern const int16_t pan_s16_start[] asm("_binary_pan_s16_start");
-extern const int16_t pan_s16_end[] asm("_binary_pan_s16_end");
-
-void play_bootsound() {
-    /*
-    sound_cfg_t sound = {0,};
-    sound.buffer = boot_snd_start, sound.size = boot_snd_end - boot_snd_start;
-    //sound.buffer = pan_s16_start, sound.size = pan_s16_end - pan_s16_start;
-    sound.slot = 10;
-    xQueueSend(sound_queue, &sound, 0);
-    */
-}
-
-void synth_set_freq(int i, float freq){
-    synths[i].freq = freq;
-}
-
-void synth_set_vol(int i, float vol){
-    synths[i].vol = vol;
-}
 
+/*
 #define NAT_LOG_SEMITONE 0.05776226504666215
 
 void synth_set_bend(int i, float bend){
@@ -317,7 +195,9 @@ void synth_set_bend(int i, float bend){
         synths[i].bend = exp(bend * NAT_LOG_SEMITONE);
     }
 }
+*/
 
+/*
 void synth_stop(int i){
     if(synths[i].env_phase){
         synths[i].env_phase = 3;
@@ -335,3 +215,4 @@ void synth_start(int i){
 float synth_get_env(int i){
     return synths[i].env;
 }
+*/
diff --git a/badge23/audio.h b/badge23/audio.h
index dddb44cfe6166edb5bc30345396e43e0aa2f8021..8de1ee6c5af53154f29b9c16f12439ec2a57c4b1 100644
--- a/badge23/audio.h
+++ b/badge23/audio.h
@@ -7,18 +7,8 @@
 #define BADGE_VOLUME_LIMIT 30000
 
 void audio_init();
-void play_bootsound();
-void synth_set_freq(int i, float freq);
-void synth_set_vol(int i, float vol);
-void synth_set_bend(int i, float bend);
-void synth_start(int i);
-void synth_stop(int i);
-void synth_fullstop(int i);
-float synth_get_env(int i);
 
 void set_global_vol_dB(int8_t vol_dB);
-void set_extra_synth(void * synth);
-void clear_extra_synth();
 uint16_t count_audio_sources();
 
 uint16_t add_audio_source(void * render_data, void * render_function);
diff --git a/badge23/espan.c b/badge23/espan.c
index 53343f85e87951d4d7bc88343c9a0f7e856fbef1..8aba033add84acf7cd458c687ec67c316b72bf43 100644
--- a/badge23/espan.c
+++ b/badge23/espan.c
@@ -66,14 +66,14 @@ void espan_handle_captouch(uint16_t pressed_top, uint16_t pressed_bot)
     bool changed = false;
     for(int i=0; i<10; i++) {
         if(active_paddles[i] == false && paddles[i] == true) {
-            if(!(i == 2 || i == 8)) synth_start(i);
+            //if(!(i == 2 || i == 8)) synth_start(i);
             leds_animate(i);
             active_paddles[i] = true;
             changed = true;
         } else if(active_paddles[i] == true && paddles[i] == false) {
             active_paddles[i] = false;
             changed = true;
-        if(!(i == 2 || i == 8)) synth_stop(i);
+        //if(!(i == 2 || i == 8)) synth_stop(i);
         }
     }
 
@@ -103,7 +103,6 @@ void os_app_main(void)
     captouch_init();
 
     mp_hal_stdout_tx_str("task inits done\n\r");
-    //play_bootsound();
     //not sure how slow captouch_get_cross is so duplicating edge detection here;
     bool prev_petals[10] = {0};
     //pitch bend as movement relative to inital touch pos to make intonation easier
@@ -121,6 +120,7 @@ void os_app_main(void)
         vTaskDelay(3 / portTICK_PERIOD_MS);
 
         continue;
+        /*
         i = (i + 1) % 10;
         if(!(i == 2 || i == 8)) continue;
         if(VIB){
@@ -175,6 +175,7 @@ void os_app_main(void)
 
         vTaskDelay(10 / portTICK_PERIOD_MS);
         //captouch_print_debug_info();
+        */
     }
 
     ESP_ERROR_CHECK(i2c_driver_delete(I2C_MASTER_NUM));