Repository navigation
Audio-DSP-Lab 1.2 — analysis with THD and spectrum
Audio-DSP-Lab 1.2 turns the response analyzer into Analysis: a Frequency Response, THD and Spectrum part. It also gives the DSP its true clock, and the manual gains a mechanical design chapter.
Firmware 1.2, protocol 1 (new requests and events only), application 1.2, panel firmware 1.2.
Downloads
| File | What it is |
|---|---|
Audio-DSP-Lab-1.2-windows-x64.zip |
The Windows application (self-contained), the board's and the panel's firmware with their flash tools, and the documentation as Markdown and PDF |
Audio-DSP-Lab-firmware-1.2.zip |
The firmware for the board and the panel with the flash tools alone |
Not the "Source code (zip)": it holds the repository, without AudioDspLab.exe and the firmware images; download Audio-DSP-Lab-1.2-windows-x64.zip above.
Updating from 1.1
- Flash the board:
firmware\Flash-Firmware.cmd COM5(your board's port). Its stored settings stay: WiFi networks, stations, your SigmaStudio program. - Flash the front panel, if you have one:
firmware\Flash-Panel.cmd. Board and panel of the same release belong together. - Replace
AudioDspLab.exewith the new one. - Keep the Frequency Response reference again. A reference kept with 1.1 was measured at the DSP's old, wrong clock.
- For THD and Spectrum, the board needs the analysis' DSP program with its serial output. The firmware carries it; nothing to do in SigmaStudio.
What's new
-
The DSP's clock is right now. Firmware 1.0 and 1.1 gave the ADAU1701 24.576 MHz instead of 12.288 MHz, because the ESP32's MCLK pin carries the APLL, which runs at twice the port's MCLK. The DSP ran at twice its rating, and its converters made sporadic single-sample errors. Now:
- the DSP samples at 48 kHz with its core at 96 kHz;
- all DSP frequencies are computed for that rate;
- a K3→K2 loopback measures about 0.016 % THD;
- the Frequency Response is flat within 0.3 dB from 20 Hz to 20 kHz.
If you run your own SigmaStudio programs, they now run at the rate SigmaStudio assumes.
-
Analysis (formerly Response) has three parts, in the application (Measure), on the panel (the Resp / THD / Spec key) and in the protocol (the application's word stays
analyzer):-
Frequency Response: the sweep, as before.
-
THD: plays a tone and measures what returns on the line input, continuously, about every 1.6 s. For each channel you get:
- the fundamental's level;
- THD (H2 to H10) and THD+N (20 Hz to 20 kHz);
- each harmonic;
- the spectrum.
It uses an 8192-point FFT with a Blackman-Harris window and averages 4 captures. New:
thd,harmonics,spectrum points,! thd. -
Spectrum: measures what comes in without a tone of its own. It gives the RMS from 20 Hz to 20 kHz and the five strongest peaks per channel. The board's open input measures about -97.5 dBFS. New:
spectrum,spectrum peaks,! spectrum.
-
-
On the front panel, the spectrum is drawn below the keys. While THD or Spectrum measures, its values take the place of the settings tiles:
- THD: the tone's frequency, then THD, THD+N and the level of each channel;
- Spectrum: the RMS and the strongest peak of each channel.
Stop brings the tiles back.
-
How the samples get to the ESP32. The analysis' DSP program sends both line inputs untouched to the DSP's serial output (MP6, clocks on MP10/MP11). The ESP32 receives them on its second I2S port (GPIO32, 13, 19). It needs about 82 KB of heap while it measures, so it also runs after the radio has played. New errors:
busy,no-memory,no-clock. -
Mechanical design. A new manual chapter covers the 3D-printed enclosure for the board and the front panel:
- the STL files in
CAD; - photos of the built unit: the box on its own, all the parts, the empty panel case with the connector between box and panel, and the complete assembly;
- drawings of the parts;
- how to wire the USBi socket and the panel's 5 V supply.
- the STL files in
-
Front panel: the panel lets go of its TX line when the board loses power. It no longer half-powers an unplugged board.
-
Board: a failed EEPROM read is retried after freeing the I2C bus. Also new are the diagnostics
diag heap,diag boot,diag clocks,diag capture,diag record,diag thd-testanddiag blocks. -
Docs:
- The overview drawing now includes the front panel.
- The front panel chapter is self-contained.
- The installation guide has a first measurement.
- All documents name the project's home, github.com/andiepp/Audio-DSP-Lab.
See CHANGELOG.md for every change.
Licences
Audio-DSP-Lab is MIT-licensed. The board's firmware contains:
- arduino-audio-tools and libhelix (GPL-3.0);
- esp-dsp (Apache-2.0).
The panel's firmware contains LVGL (MIT). See THIRD-PARTY-NOTICES.md in the packages.