overhaul the audio engine for much higher speed. There is now some extra processor time to play with, to implement more midi controls like panning, expression, etc, in a future PR :)
add ASR-looping to the engine and the WEB UI
add MIDI CHANNEL to WEB UI, and to midi engine : WVR can listen on only one midi channel, and is not stuck in OMNI mode :)
Each midi channel now maps to its respective voice at boot. ie. midi events on channel 5 play sounds from voice 5, etc. Program Change events still modify that routing, but they reset to defaults at boot.
upgrade to ESP32-ARDUINO v2.1
fix bug where server returns NULL sometimes, freezing the UI loading process.
ASR-looping adds struct asr_t to the struct wav_file_t in storage, so this PR increments the version number to v2.x.x. It is incompatible with previous versions, and will trigger an eMMC reset when first booted.
overhaul the audio engine for much higher speed. There is now some extra processor time to play with, to implement more midi controls like panning, expression, etc, in a future PR :) add ASR-looping to the engine and the WEB UI add MIDI CHANNEL to WEB UI, and to midi engine : WVR can listen on only one midi channel, and is not stuck in OMNI mode :) Each midi channel now maps to its respective voice at boot. ie. midi events on channel 5 play sounds from voice 5, etc. Program Change events still modify that routing, but they reset to defaults at boot. upgrade to ESP32-ARDUINO v2.1 fix bug where server returns NULL sometimes, freezing the UI loading process.
ASR-looping adds struct asr_t to the struct wav_file_t in storage, so this PR increments the version number to v2.x.x. It is incompatible with previous versions, and will trigger an eMMC reset when first booted.
closes #30 closes #7 closes #21