Real-time audio tuning

Real-time audio tuning — a visual tool for embedded audio

A visual tool for embedded audio

Tuning the sound of a smart speaker used to mean rewriting a C configuration header, compiling the firmware, flashing, listening — and starting over. For a global semiconductor manufacturer we built a tool that gives audio engineers sliders instead of recompilation: parameters change on a running board in real time, and the finished settings are generated directly as production code.

The audio chain is composed visually from nodes — equalizers, bass and treble enhancement, spatial virtualization, volume control. Each node has properties with live frequency response charts, and a spectrum analyzer shows the result during playback. The connection to real hardware is what matters: the tool attaches to a running board through a debugger, and parameter changes are audible immediately, with no compiling or firmware flashing. Once the sound is right, a single button generates configuration code ready for production firmware. A simulator is included for working without a board.

/// Desktop application/// Embedded/// Audio

Technology

We built the application on the Oidis Framework in TypeScript as a desktop tool with embedded Node.js — charts are rendered by ECharts, and projects are stored in the JSONP format. Board communication is handled by a layer over a debugging interface that reads and writes parameters directly in firmware memory. The code generator is template-based and extensible with new node types. The simulator packages the native audio library as a Node.js addon.

The brief

Audio tuning is iterative by nature — the ear decides. Yet every iteration through code edits and recompilation takes minutes and breaks concentration. The chip manufacturer needed a tool for its audio library that would shorten an iteration to a slider move, and still deliver reliable production code at the end — not values copied by hand from notes.

The solution

We built a desktop application on web technologies with a visual audio chain editor. Live tuning is handled by a communication layer over a debugging interface: the tool reads and writes parameters directly in the memory of the running firmware, into which a small platform-independent driver is integrated. A code generator converts the visual graph into C/C++ headers for the specific platform. A native simulator of the audio library allows tuning offline, without a connected board. The application ships as a standalone installer, and its example integration is part of the manufacturer's official SDK.

Key features

  • visual composition of the audio chain from nodes (EQ, bass, treble, virtualization, volume)
  • real-time parameter tuning on a running board, no recompilation
  • live frequency response charts and a spectrum analyzer
  • generation of production C/C++ code from the visual design
  • offline simulator of the audio library for working without hardware
  • projects with undo/redo and an onboarding guide for new users
  • support for a range of the manufacturer's microcontroller platforms

Results & benefits

  • tuning iterations cut from minutes to seconds — a slider instead of recompilation
  • generated code instead of hand-copied values — fewer integration errors
  • example integration included in the manufacturer's official SDK
  • multi-year production deployment with continuous releases

More projects and references

View all projects →