diff --git a/MEMLNaut-PAF-CARL.ino b/MEMLNaut-PAF-CARL.ino index 5cab153..5ae1f43 100644 --- a/MEMLNaut-PAF-CARL.ino +++ b/MEMLNaut-PAF-CARL.ino @@ -155,23 +155,23 @@ void loop() } -void AUDIO_FUNC(audio_block_callback)(float in[][kBufferSize], float out[][kBufferSize], size_t n_channels, size_t n_frames) -{ - digitalWrite(Pins::LED_TIMING, HIGH); - for (size_t i = 0; i < n_frames; ++i) { +// void AUDIO_FUNC(audio_block_callback)(float in[][kBufferSize], float out[][kBufferSize], size_t n_channels, size_t n_frames) +// { +// // digitalWrite(Pins::LED, HIGH); +// for (size_t i = 0; i < n_frames; ++i) { - float y = in[0][i]; +// float y = in[0][i]; - // Audio processing - if (audio_app) { - y = audio_app->ProcessLean(); - } +// // Audio processing +// if (audio_app) { +// y = audio_app->ProcessLean(); +// } - out[0][i] = y; - out[1][i] = y; - } - digitalWrite(Pins::LED_TIMING, LOW); -} +// out[0][i] = y; +// out[1][i] = y; +// } +// // digitalWrite(Pins::LED, LOW); +// } void setup1() @@ -201,10 +201,10 @@ void setup1() MEMORY_BARRIER(); } - AudioDriver::SetBlockCallback(audio_block_callback); + // AudioDriver::SetBlockCallback(audio_block_callback); // Start audio driver AudioDriver::Setup(); - AudioDriver::SetBlockCallback(audio_block_callback); + // AudioDriver::SetBlockCallback(audio_block_callback); WRITE_VOLATILE(core_1_ready, true); diff --git a/PAFSynthAudioApp.hpp b/PAFSynthAudioApp.hpp index 20d6a0c..5b0b3b4 100644 --- a/PAFSynthAudioApp.hpp +++ b/PAFSynthAudioApp.hpp @@ -30,66 +30,66 @@ public: stereosample_t __force_inline Process(const stereosample_t x) override; - float __force_inline ProcessLean() - { - float x1[1]; + // float __force_inline ProcessLean() + // { + // float x1[1]; - // const float trig = pulse.square(1); + // // const float trig = pulse.square(1); - paf0.play(x1, 1, baseFreq, baseFreq + (paf0_cf * baseFreq), paf0_bw * baseFreq, paf0_vib, paf0_vfr, paf0_shift, 0); - float y = x1[0]; + // paf0.play(x1, 1, baseFreq, baseFreq + (paf0_cf * baseFreq), paf0_bw * baseFreq, paf0_vib, paf0_vfr, paf0_shift, 0); + // float y = x1[0]; - const float freq1 = baseFreq * detune; + // const float freq1 = baseFreq * detune; - paf1.play(x1, 1, freq1, freq1 + (paf1_cf * freq1), paf1_bw * freq1, paf1_vib, paf1_vfr, paf1_shift, 1); - y += x1[0]; + // paf1.play(x1, 1, freq1, freq1 + (paf1_cf * freq1), paf1_bw * freq1, paf1_vib, paf1_vfr, paf1_shift, 1); + // y += x1[0]; - const float freq2 = freq1 * detune; + // const float freq2 = freq1 * detune; - paf2.play(x1, 1, freq2, freq2 + (paf2_cf * freq2), paf2_bw * freq2, paf2_vib, paf2_vfr, paf2_shift, 1); - y += x1[0]; + // paf2.play(x1, 1, freq2, freq2 + (paf2_cf * freq2), paf2_bw * freq2, paf2_vib, paf2_vfr, paf2_shift, 1); + // y += x1[0]; - #ifdef ARPEGGIATOR - const float ph = phasorOsc.phasor(1); - const bool euclidNewNote = euclidean(ph, 12, euclidN, 0, 0.1f); - if(zxdetect.onZX(euclidNewNote)) { - envamp=0.8f; - freqIndex++; - if(freqIndex >= nFREQs) { - freqIndex = 0; - } - baseFreq = frequencies[freqIndex]; - }else{ - // constexpr float envdec = 0.2f/9000.f; - envamp -= envdec; - if (envamp < 0.f) { - envamp = 0.f; - } - } - #else - if(newNote) { - newNote = false; - envamp=0.8f; - }else{ - // constexpr float envdec = 0.2f/9000.f; - envamp -= envdec; - if (envamp < 0.f) { - envamp = 0.f; - } - } - #endif) - y = y * envamp* envamp; + // #ifdef ARPEGGIATOR + // const float ph = phasorOsc.phasor(1); + // const bool euclidNewNote = euclidean(ph, 12, euclidN, 0, 0.1f); + // if(zxdetect.onZX(euclidNewNote)) { + // envamp=0.8f; + // freqIndex++; + // if(freqIndex >= nFREQs) { + // freqIndex = 0; + // } + // baseFreq = frequencies[freqIndex]; + // }else{ + // // constexpr float envdec = 0.2f/9000.f; + // envamp -= envdec; + // if (envamp < 0.f) { + // envamp = 0.f; + // } + // } + // #else + // if(newNote) { + // newNote = false; + // envamp=0.8f; + // }else{ + // // constexpr float envdec = 0.2f/9000.f; + // envamp -= envdec; + // if (envamp < 0.f) { + // envamp = 0.f; + // } + // } + // #endif + // y = y * envamp* envamp; - #ifndef ARPEGGIATOR - y *= noteVel; - #endif + // #ifndef ARPEGGIATOR + // y *= noteVel; + // #endif - float d1 = (dl1.play(y, 3500, 0.8f) * dl1mix); - // float d2 = (dl2.play(y, 15000, 0.8f) * dl2mix); - y = y + d1;// + d2; - frame++; - return y; - } + // float d1 = (dl1.play(y, 3500, 0.8f) * dl1mix); + // // float d2 = (dl2.play(y, 15000, 0.8f) * dl2mix); + // y = y + d1;// + d2; + // frame++; + // return y; + // } void Setup(float sample_rate, std::shared_ptr interface) override; diff --git a/src/memllib b/src/memllib index 95c1e6a..a85fab4 160000 --- a/src/memllib +++ b/src/memllib @@ -1 +1 @@ -Subproject commit 95c1e6abd474c744b17763d432e65fe208a773b3 +Subproject commit a85fab44b44034098cec31285bfd68f4a041b33a