cleoanka

an interactive page · audio

Every app its own volume

Three pretend apps, three separate audio lanes. Set level, EQ and boost per app and watch the spectrum live.

canvas & code, no dependencies · auricle on GitHub


1

Every app its own lane

macOS gives you one volume knob: music, video calls and notification sounds all go up or down together. Turning the music down a bit during a meeting, sending notifications to headphones and the call to the speakers, needs a separate lane per app. auricle does this with Core Audio process taps: it catches each app’s audio before it reaches the system, runs it through its own chain and sends it to the output you choose.

FIG. 1 — Press “start sound”. All three apps are synthesised in the browser. Each lane has its own level, boost up to 200% (with a limiter to stop distortion), EQ and direction. Since browsers do not everywhere allow choosing the output device, routing is imitated here with the left and right channels.

Boost is for lifting a quiet app up to the level of the others. But digital audio has a ceiling: double the signal and the peaks clip. That is why auricle puts a limiter after the boost; the level rises but the waveform does not slam into the ceiling and break.

2

The real curve of an equaliser

An equaliser is not the sum of its bands but the product of its filters. Each band is a biquad filter and neighbouring bands spill into each other’s skirts, so moving one knob gently reshapes the whole curve. The curve below is not a drawing: it is the frequency response of real filters in the browser’s audio engine, read straight from the engine itself.

FIG. 2 — Drag the points up, down and sideways. Faint lines are the individual bands, the bold line the total response. If sound is on, this EQ is applied straight to the music lane and you hear the change at once.
process tap
The Core Audio feature that catches an app’s audio before it reaches the system.
limiter
Gently holds peaks down after boost; prevents clipping.
biquad
The building block of EQ bands; the total response is the product of filters.