// MANUAL · VERSION 1.2.1
Voicing

Voicing

A three-band tone control built on
Baxandall-style musical curves.

VST3/WIN · LINUX x64 · ARM64/STEREO/ZERO LATENCY
// CONTENTS
  1. Overview
  2. Quick Start
  3. Controls
  4. Output Meter
  5. How It Works
  6. Use Cases
  7. Specifications
  8. FAQ & Troubleshooting
  9. Design Notes
§01

Overview

Voicing is a three-band tone control: a low shelf, a bell and a high shelf, processed in that order. It is built for setting the overall tonal balance of a system or a recording by ear — a house curve, a gentle tilt, a little presence — and for leaving it there.

The shelves follow the Baxandall tone-control shape: broad, gentle shoulders that taper smoothly toward their final gain, with no bump or overshoot. Cut and boost are mirror images of each other. The bell is a constant-Q peaking filter whose Q stops at 1.0, so it can lean and shape but never notch.

Everything is minimum phase with zero latency: whatever ringing a filter has comes after the sound, where the ear masks it, never before it. With all three gains at 0 dB the plugin is transparent to well below the noise floor of any real signal.

What Voicing deliberately is not: a surgical EQ. No high-Q notches, no extra bands, no mid/side, no dynamics. It is the listener-end counterpart to Janus — Janus divides the signal between drivers, Voicing shapes how the whole thing sounds.

Voicing interface: Low Shelf, Bell and High Shelf panels with Enable, Freq, Gain and Slope or Q; OUT meter
§02

Quick Start

Every value can also be typed: click the value box under a knob, type the number and press Enter. Frequencies are in plain Hz (250, 1500 — not 1.5k), gains in dB (-2.5), slope as dB/oct or stages (12 dB/oct, 12 or 2 all select 12 dB/oct).

§03

Controls

All continuous controls are smoothed over 30 ms, so you can move them during playback without zipper noise. Every control is automatable.

Low shelf

Freq
Hz · 20 – 500 · default 100 Hz

The shelf's midpoint: the frequency where the shelf has reached half its gain in dB. A +6 dB shelf at 100 Hz is +3 dB at 100 Hz, approaching +6 dB further below. This is the convention most engineers expect from "a shelf at 100 Hz".

Gain
dB · −20 to +20 · default 0 dB

The shelf's full gain, reached well below the midpoint. Positive boosts the low end, negative cuts it; the two are exact mirror images.

Slope
6 · 12 · 18 dB/oct · default 6 dB/oct

How quickly the shelf moves from flat to full gain. 6 dB/oct is the classic first-order Baxandall shape: the broadest and most gentle. 12 and 18 dB/oct cascade two or three identical stages, each carrying an equal share of the gain, so the total gain and the midpoint stay where you set them while the transition gets tighter.

Changing the slope during playback is click-free: the gain is redistributed between the stages smoothly over 30 ms.

Enable
checkbox · default on

Fades the band in or out over 10 ms. The filter keeps running while disabled, so re-enabling it produces no transient.

Bell

Freq
Hz · 60 – 12 000 · default 1000 Hz

Centre frequency of the peak or dip.

Gain
dB · −20 to +20 · default 0 dB

Gain at the centre frequency. Boost and cut have the same width — a −4 dB bell is the exact inverse of a +4 dB bell at the same frequency and Q.

Q
0.30 – 1.00 · default 0.71

Width of the bell, constant regardless of gain. 0.3 is very wide — a broad tonal lean across several octaves; 1.0 is the narrowest setting, about 1.4 octaves wide, suited to presence or body. Q stops at 1.0 on purpose: narrower bells ring longer, and this is not a corrective EQ.

Enable
checkbox · default on

As for the low shelf: a 10 ms fade, with the filter kept running.

High shelf

Freq
Hz · 1000 – 12 000 · default 8000 Hz

The shelf's midpoint, as for the low shelf. The 12 kHz limit keeps the shelf's corner well inside the audio band at every sample rate, including 44.1 kHz.

Gain
dB · −20 to +20 · default 0 dB

The shelf's full gain, reached well above the midpoint.

Slope
6 · 12 · 18 dB/oct · default 6 dB/oct

As for the low shelf.

Enable
checkbox · default on

A 10 ms fade, with the filter kept running.

Bypass

Use your host's bypass. Because Voicing has no latency, bypassing it causes no timing shift anywhere in the chain.

§04

Output Meter

The OUT meter on the right shows the peak level of the left and right outputs, after all three bands.

Large boosts can push the output over full scale. If the clip mark lights, lower your source level or the boost — Voicing does not limit.

§05

How It Works

The shelves

Each shelf stage is a first-order Baxandall prototype: one real pole and one real zero placed symmetrically around the midpoint frequency — for a gain G in dB, at fc / A and fc · A, with A = 10^(G/40). That symmetry is what makes the curve reciprocal and puts half the gain exactly at the midpoint.

The analog pole and zero are mapped to the digital domain with the matched-Z transform, which keeps their frequencies exactly where they are at every sample rate. The result: the audible curve is the same at 44.1 kHz and 192 kHz to within 0.3 dB below 14 kHz. The common alternative, the bilinear transform, bends the curve as it approaches Nyquist — up to 3.35 dB of difference between rates in the same test. The one trade-off is near Nyquist itself: a +20 dB high shelf at 5 kHz reaches +17.1 dB at 20 kHz in a 44.1 kHz session instead of the analog +18.1 dB, above the range where it matters.

Slopes of 12 and 18 dB/oct cascade two or three of these stages, each with an equal share of the gain.

The bell

A constant-Q peaking filter built on a trapezoidal (TPT) state-variable filter. The structure stays numerically well-behaved even for low frequencies at high sample rates — 60 Hz at 192 kHz — where a conventional biquad's poles crowd against the unit circle, and it can be modulated smoothly without zipper noise or instability.

Precision and transparency

§06

Use Cases

House curve on a playback system

The job Voicing was designed for. After room correction or a crossover, a measured-flat system often sounds bright and thin in a real room. A gentle downward tilt — low shelf +2 to +4 dB at 100–200 Hz, high shelf −1 to −3 dB at 5–8 kHz, both at 6 dB/oct — brings it back toward what most listeners prefer. Set it once in JRiver or your player's VST3 chain and forget it.

Tonal balance per recording

A bright or thin recording often needs only a single broad move. The bell at Q 0.3–0.5 between 2 and 4 kHz, cut by 1–2 dB, takes the edge off without dulling the top; a 6 dB/oct high shelf does the same for cymbals and air.

Bass weight without boom

A 12 or 18 dB/oct low shelf at 60–80 Hz adds weight to the lowest octave while leaving the 150–300 Hz region, where boom lives, mostly untouched — something a 6 dB/oct shelf at the same setting cannot do.

In a multi-way active system

After Janus splits the signal, a Voicing per band — or one on the summed input — trims the balance between drivers by ear in a way that complements a measured crossover. With MetaHost, each stereo pair of a multichannel bus can carry its own Voicing.

§07

Specifications

Plugin format
VST3
OS support
Windows 10+ (64-bit); Linux x64 with glibc 2.35+ (Ubuntu 22.04+, Debian 12+, Fedora 36+); Linux ARM64 with glibc 2.28+ (Raspberry Pi OS 64-bit on Pi 4/5, Ubuntu 20.04+ arm64)
Channels
Stereo; on wider buses channels 1–2 are processed and the rest pass through untouched (input and output widths must match)
Sample rates
44.1 – 192 kHz; curves sample-rate invariant to 0.3 dB below 14 kHz
Bands
Low shelf → bell → high shelf, each with its own enable
Low shelf
20 – 500 Hz, ±20 dB, 6 / 12 / 18 dB/oct
Bell
60 Hz – 12 kHz, ±20 dB, Q 0.30 – 1.00
High shelf
1 – 12 kHz, ±20 dB, 6 / 12 / 18 dB/oct
Filter type
Minimum phase. Shelves: Baxandall prototype, matched-Z. Bell: TPT state-variable, constant Q
Latency
0 samples; 0.5 s tail reported
Precision
64-bit double internally; 32- or 64-bit host I/O
Smoothing
30 ms for controls, 10 ms crossfade for band enables
Parameters
12 — Freq, Gain, Slope/Q and Enable per band — all automatable
Bundle size
~4 MB (Windows) · ~4 MB (Linux)
License
Donationware — pay what you want, including €0
§08

FAQ & Troubleshooting

I set a shelf to +6 dB at 100 Hz, but my analyzer shows only +3 dB at 100 Hz.

That is the midpoint convention: the frequency you set is where the shelf reaches half its gain in dB. The full +6 dB arrives an octave or more below. At 12 and 18 dB/oct it arrives sooner.

Why does Q stop at 1.0?

A narrow bell rings: the narrower it is, the longer its decay. Voicing's priorities are, in order, the least audible ringing and musical shapes. Above Q 1.0 the bell turns into a corrective tool, and that is a different product. For a narrow cut, use a parametric EQ — or Themis for measured correction.

Can I use it on a 5.1 or 7.1 bus?

Yes, in the sense that Voicing accepts any bus with two or more channels, as long as input and output match. It processes channels 1 and 2 as left and right, and passes every other channel through untouched. To voice all speakers, run one Voicing per pair inside MetaHost.

I typed "6 dB/oct" into the slope and got 18 dB/oct.

That was a bug in versions before 1.2.1. Update to 1.2.1: "6 dB/oct", "12" and "18 dB" now select what you typed, and a bare 1, 2 or 3 selects that number of stages.

Will my sessions from v1.2 load in v1.2.1?

Yes, unchanged. The saved state is byte-identical between the two versions.

Does Voicing add latency or change the phase?

No latency at all. Like every minimum-phase EQ — and every analog tone control — it shifts the phase where it changes the level, and only there; with a band at 0 dB, that band does nothing.

How do I install it on Linux?

Copy the Voicing.vst3 folder to ~/.vst3/ (or /usr/lib/vst3/ for all users), then rescan plugins in your host. Use the x64 download on a PC (glibc 2.35 or newer — Ubuntu 22.04+, Debian 12+, Fedora 36+ or a current Arch) and the ARM64 download on 64-bit ARM Linux such as a Raspberry Pi 4 or 5 running 64-bit Raspberry Pi OS (glibc 2.28 or newer). Neither needs a separate C++ runtime.

§09

Design Notes

Voicing started as a personal tool: a last-stage EQ for applying a house curve to a playback system, set once and left alone. That use defined the priorities, in strict order: least audible ringing, musical shapes, numerical robustness across every sample rate, and zero colouration when flat. Every feature that doesn't serve that job was left out on purpose.

Minimum phase followed from the first priority. A linear-phase EQ moves half of every filter's ringing in front of the sound, as pre-ringing, which the ear does not mask. A minimum-phase filter puts all of it afterwards, where temporal masking hides it.

The Baxandall shape followed from the second. Peter Baxandall's 1952 tone control is still the reference for a shelf that sounds natural: no overshoot, no bump, gentle shoulders, and boost and cut that undo each other exactly. The matched-Z realisation keeps that shape the same at every sample rate, rather than letting it drift as rates change.

The adjustable slope was the one addition to the original single-slope design. A first-order shelf is wide — a bass boost at 80 Hz still reaches well into the low mids — so 12 and 18 dB/oct cascade the same stage two or three times. The character stays Baxandall; only the reach gets shorter.