Studio Hub
A standalone rack device for automatic room correction and audio metering, controlled from a touchscreen.

Studio Hub measures your room and corrects your speakers, all on the device itself. There's no extra software on a computer: you place a microphone, follow the steps on the screen and shape the sound with your fingers. It started as my master's thesis at TU Berlin, where the prototype was still called "Neorack".
Why room correction?
Studio monitors today are calibrated to be almost linear. But what you actually hear depends on the room: reflections and room modes boost some frequencies and cancel others, and the result changes with the position of the speakers and the listener. So no speaker can be tuned at the factory to sound linear everywhere.
There are two ways to deal with that:
- Acoustic treatment fixes the cause. It's expensive, not always possible, and especially hard for low frequencies: an absorber for 50 Hz needs a quarter of the wavelength, which is 1.70 m.
- Digital equalization treats the symptoms. It's cheap and works in any room, but it can't fix destructive interference and it's only valid for a limited listening area.
Studio Hub does the second, and is careful about its limits.
Goals
- Magnitude correction with minimum-phase FIR filters
- A customizable and fast correction algorithm
- Direct interaction and an intuitive interface
- Room correction, monitor controller and audio analyzer in one device
The prototype
The first prototypes were small desktop units with a 3D-printed case, a touchscreen and a big knob.

The current prototype is a 9.5" half-rack device, two rack units high. It's built from three parts:
- Raspberry Pi 4B that runs everything
- Waveshare 7.9" touchscreen with 400 × 1280 pixels, covering the whole front
- MOTU M4 audio interface, with microphone preamps and phantom power for the measurement microphone
There's no separate DSP chip: the interface and the audio processing share the same CPU. Every touch is heard immediately, and the device runs correction filters of up to 100,000 samples without dropouts.
Software
The app is built with C++ and JUCE, with newer DSP components written in Rust. Two libraries were made for it:
- neobox: a DSP library with all the building blocks for room correction, like FIR generation, deconvolution, windowing, warping and filtering.
- neoplot: a plotting library for impulse and magnitude plots, made for touch interaction and fast enough for the Raspberry Pi.
The correction algorithm
The screen guides you through each step. First the device checks that both speakers are connected and calibrates the level with pink noise. Then it measures:
- Sweep: each speaker plays an exponential sine sweep, recorded by the microphone at the listening position.
- Deconvolution and windowing turn the recording into the impulse response, and from there into the room transfer function.
- Warping spreads the frequency points so the low end, where the room has the most influence, gets more resolution.
- Multiple positions: you can measure between 1 and 37 positions around your listening spot, and the device averages them.


Then the device builds the filter:
- Smoothing enlarges the listening area and makes the correction more robust.
- Target curve: a perfectly flat response often sounds unpleasant, so you shape the target yourself, right on the touchscreen.
- Frequency limits keep the correction inside the range the speakers can play, or only in the low frequencies.
- Gain limits stop the filter from pushing power into dips caused by destructive interference, which no EQ can fill.
- Minimum-phase FIR: the inverted response becomes a minimum-phase filter through homomorphic deconvolution. A linear-phase filter would add latency of half its length; this one adds none. A final window limits the filter length.
- Interchannel matching aligns the delay and level of the left and right speakers.

At the end you can switch between the corrected and the original sound to hear the difference, and change the target again at any time.