Skip to content

Audio Kit: the CPU at 240 MHz, so a 48 kHz synth keeps its reverb - #374

Merged
bdbarnett merged 1 commit into
mainfrom
audio-kit-240mhz
Nov 10, 2026
Merged

bdbarnett merged 1 commit into
mainfrom
audio-kit-240mhz

Conversation

@bdbarnett

Copy link
Copy Markdown
Contributor

The ESP32 Audio Kit variant now boots with its CPU at 240 MHz, the chip's rated clock, where upstream's ESP32 default is 160. It's the same setting upstream's sdkconfig.240mhz makes for its own boards. This is the other half of PyDevices/apps#44, with PyDevices/audiodsp#399: a soundmodule synth at 48 kHz with its default Reverb clicked about every 10 ms on this board.

Measured on the board, per 256-frame block (5.3 ms at 48 kHz): even with audiodsp#399, the audioeffects Reverb (hall) averages 4.7 ms at 160 MHz, and two playing voices add about 1 ms, so the pump falls behind. At 240 MHz the Reverb averages 3.6 ms (2.8 ms best case). The seven-note test run from the issue, recorded off the speaker with a microphone, has 0 dropouts with the Reverb on and the driver reports 0 starved blocks; the same run at 160 MHz had audible clicks all through the notes. The waveforms beside the effects=False reference show a steady tone with the reverb's tail.

bt_player starts and advertises at 240 MHz. Not verified at 240: a full Bluetooth stream or call from a phone, and how much warmer the board runs. The QT Py variant is unchanged.

The ESP32 Audio Kit variant now boots its CPU at 240 MHz, the chip's rated
clock, where upstream's default is 160. A soundmodule synth with its default
reverb clicked at 160 MHz: the reverb and two voices need about 5 ms of each
5.3 ms block there. At 240 MHz the Reverb takes 2.8 to 3.6 ms per block, and
the seven-note test run recorded off the speaker has no dropouts.
@bdbarnett
bdbarnett merged commit 997e23e into main Nov 10, 2026
2 checks passed
@bdbarnett
bdbarnett deleted the audio-kit-240mhz branch November 10, 2026 04:12
bdbarnett added a commit that referenced this pull request Nov 10, 2026
#375)

Moves audiodsp to audiodsp#399. In size-optimised firmware, the classic ESP32's for one, the reverb tank now compiles for speed: 4.7 to 4.0 ms per 48 kHz block at 160 MHz, with output identical to the bit. With the AUDIO_KIT variant at 240 MHz (#374) the seven-note soundmodule run from apps#44 plays with its Reverb and no dropouts. The GIGA build passes with an 80-byte M4 pad (#379).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant