Repository navigation
The speakers have parametric EQs organised in containers. Each container holds a fixed number of bands, and each parameter is stored as one array with one entry per band.
Source mark [measured]: see the legend on Home. Tested hardware: KH 120 II firmware 1_7_3, KH 750 DSP firmware 2_1_2, two units of each. Ranges, units and filter types on this page are what the speakers report about themselves via osc/limits; value types and array lengths come from reading every leaf.
A container lives under an output path, e.g. audio/out/eq2. Below it there are six leaves. Each leaf is an array with one entry per band.
| Leaf | Value type | Range / options | Source |
|---|---|---|---|
enabled |
Boolean | – | [measured] |
gain |
float, dB | -99 … 24 | [measured] |
boost |
float, dB | -99 … 24 | [measured] |
frequency |
float, Hz | 10 … 24000 | [measured] |
q |
float | 0.1 … 16 | [measured] |
type |
string |
PARAMETRIC, LOSHELF, HISHELF, LOWPASS, HIGHPASS, BANDPASS, NOTCH, ALLPASS, HI6DB, LO6DB, INVERSION
|
[measured] |
- All six leaves exist as per-band arrays in every EQ container of both models, with the types above [measured].
- Both models report the same ranges and filter types for every EQ container, including the KH 750 crossover. Each limit carries
count(the number of bands) andsubscr: true, but nowriteablekey [measured]. - Every value read was inside the reported range [measured].
-
bypassandorderdo not exist:audio/out/eq2/bypassandaudio/out/eq2/orderanswer 404address not foundon both models [measured]. - All six leaves of
audio/out/eq2accept a set on both models: the test wrote back each leaf's current value, and the device echoed it [measured].
An array of the container's full length with null in every place but one changes only that band; the other bands keep their values. A shorter array answers 406 not acceptable and changes nothing [measured]. Tested on 2026-10-19 with gain on one band of every container of both models (KH 120 II eq2, eq3; KH 750 eq2, eq3, eq1/in1, eq1/in2 on out, out1 and out2): written, read back, other bands untouched, restored [measured].
-> {"audio":{"out":{"eq2":{"gain":[null,null,null,null,null,null,null,null,null,3.0]}}}}
<- {"audio":{"out":{"eq2":{"gain":[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.0]}}}}
Writing one band this way cannot overwrite a change another client made to a different band in the meantime.
Request size: both models refuse a request of more than 29 JSON tokens with 413 request too long. A set of a 20-band leaf (eq3) is exactly 29 tokens; with an osc/xid it is 33 and refused, so such writes go without the xid. The six leaves of one band in one message are refused for the same reason: a band is always written leaf by leaf [measured]. Details: SSC-Protocol. Asking for a container instead of a leaf does not return its leaves: {"audio":{"out":{"eq2":null}}} answers 404 at the container, on both models [measured]. Error format: SSC-Protocol.
Measured on a KH 750 with a 50 Hz sine at input B and the Sub output meter, which sits after the EQ [measured]:
Band on audio/out/eq2
|
gain +6 | boost +6 | both +6 |
|---|---|---|---|
| PARAMETRIC 50 Hz, Q 1 (on the tone) | +6.0 dB | +6.0 dB | +12.1 dB |
| PARAMETRIC 500 Hz, Q 4 (far from the tone) | +6.1 dB | 0.0 dB | – |
-
gainlifts or lowers every frequency while the band is on, also for the pass types: a low pass at 200 Hz with gain +6 raised the 50 Hz tone in its pass band by 5.4 dB [measured]. -
boostis the height of the filter (peak or shelf) around the band frequency [measured]. - At the band frequency both add up. Setting
gainandboostto 0 makes a band flat [measured].
Measured with full sweeps on a KH 120 II (REW and a calibrated measurement microphone; each setting of one band against the same band switched off, which removes room, microphone and speaker) [measured]:
type |
What q means |
Shape | Source |
|---|---|---|---|
PARAMETRIC |
cookbook Q | RBJ cookbook peak at the band frequency, height = boost; within 0.03–0.06 dB from 100 Hz to 8 kHz (Q 0.5, 1, 4; ±6 dB) |
[measured] |
LOSHELF, HISHELF
|
cookbook shelf slope S, not Q | RBJ cookbook shelf, frequency = midpoint, height = boost; q 1 is the steepest shelf without overshoot, q 2 overshoots slightly. Read as S: a few hundredths of a dB; read as Q: off by up to about 1 dB |
[measured] |
LOWPASS, HIGHPASS
|
cookbook Q | 2nd order (12 dB/octave); within 0.07–0.10 dB (Q 0.5, 0.707, 1) | [measured] |
LO6DB, HI6DB
|
unused | 1st order (6 dB/octave), −3 dB at the band frequency | [measured] |
BANDPASS |
cookbook Q | constant-skirt form s / (s² + s/Q + 1): centre +20·log10(Q) dB (Q 2: +6.0 dB) |
[measured] |
NOTCH |
cookbook Q | RBJ cookbook notch | [measured] |
ALLPASS |
cookbook Q | flat level; phase of the 2nd-order all-pass (−180° at the band frequency) | [measured] |
INVERSION |
unused | flat level; polarity inverted (180°) | [measured] |
- Slope S and cookbook Q of a shelf:
1/Q² = (A + 1/A)(1/S − 1) + 2withA = 10^(boost/40). For a steep slope at a large height the right side turns negative and the cookbook form ends; what the speakers do there is not measured. - The EQ runs at 48 kHz: near the top (a peak at 14 kHz, a high shelf at 12 kHz) the digital cookbook biquad at 48 kHz matches clearly better than the analog shape — a peak there is narrower than its analog form [measured].
- A second session with the microphone moved repeated a shelf of the first within 0.03 dB [measured].
- On the KH 750's own woofer a peak at 50 Hz (Q 2, ±6 dB) matched the same cookbook shape, and an earlier single-tone check (50 Hz sine, Sub output meter, 21 cases) agreed within about 0.8 dB [measured].
By ear on the KH 750 (50 Hz sine, low level) [measured]:
- No click when switching a band on or off, for
gainorbooststeps of 0.5 and 3 dB, a frequency step 50 → 60 Hz or Q 1 → 2. - A slight click for a type change
PARAMETRIC→LOSHELF. -
audio/out/muteon clicked slightly to clearly, mute off clearly to loudly: muting around EQ changes would add clicks, not remove them. - Writing several leaves one after another can pass through large level jumps (for example a high pass still at its old frequency) and click loudly.
| Container | Bands | Source |
|---|---|---|
audio/out/eq2 |
10 | [measured] |
audio/out/eq3 |
20 | [measured] |
The KH 120 II has no eq1: audio/out/eq1/enabled is rejected, and the device's schema lists only eq2 and eq3 [measured].
| Output | Drives | Container | Bands | Source |
|---|---|---|---|---|
out |
the KH 750's own woofer |
audio/out/eq1/in1, audio/out/eq1/in2 (crossover) |
2 each | [measured] |
out |
the KH 750's own woofer |
audio/out/eq2, audio/out/eq3
|
10 each | [measured] |
out1 |
output socket A |
audio/out1/eq1/in1, audio/out1/eq1/in2 (crossover) |
2 each | [measured] |
out1 |
output socket A |
audio/out1/eq2, audio/out1/eq3
|
10 each | [measured] |
out2 |
output socket B |
audio/out2/eq1/in1, audio/out2/eq1/in2 (crossover) |
2 each | [measured] |
out2 |
output socket B |
audio/out2/eq2, audio/out2/eq3
|
10 each | [measured] |
-
Both KH 750 units gave the same results [measured].
-
What the outputs drive [measured]:
audio/outis the KH 750's own woofer, not the sum of all outputs: a flat +6 dB (gain) on a band ofout/eq2moved the Sub output meter by +6.1 dB and the meters A and B by 0.2–0.3 dB.out1is output socket A andout2socket B: +3 dB onout1/eq2moved meter A by +3.1 dB, onout2/eq2meter B by +3.1 dB, the other meters by at most 0.1 dB. -
eq1is the crossover, one level deeper.eq1has no leaves of its own:audio/out/eq1/enabledanswers 404 [measured]. Its leaves sit undereq1/in1andeq1/in2, 2 bands each, all six leaves [measured]. -
eq1/in1acts on input A,eq1/in2on input B: +6 dB gain on anin2band moved a tone on input B by +5.7 dB, onin1by +0.5 dB [measured]. -
Crossover settings read on both units (every band of
in1andin2identical):Output typefrequencyqenabledgain,boostSource outLOWPASS80 Hz 0.7 true 0 [measured] out1,out2HIGHPASS80 Hz 0.7 true 0 [measured] These are the settings read on 2026-10-17; on 2026-10-21 the measured unit's input-B crossover had both bands switched off by its owner.
-
Crossover shape [measured] (KH 750 woofer, input B fed with a receiver's LFE, channel B mode
Ext.BM LFE (fullrange), rear bass management switchDISABLED): with both low-pass bands on at 80 Hz the response is −6.3 dB at 80 Hz, with one band −3.3 dB; the same at 40 Hz and 120 Hz. So the two 2nd-order bands with Q 0.7 in a row make a crossover of about 24 dB per octave (Linkwitz-Riley), as the cookbook shapes predict. It acts in this mode once its bands are on; with both bands off its frequency changes nothing. Far above the crossover frequency the measurement reached its floor (about −14 to −21 dB), so the deep stop band is not measured. When a receiver's bass management already filters the subwoofer feed, the KH 750's low pass comes on top of it. -
The crossover is write-tested (one band, restored; see Writing one band) [measured].
-
KH 80 DSP, KH 150 and other KH 750 firmware versions: not tested on hardware.
See also: SSC-Paths · Device-Behaviour · Limits-and-Untested
Neumann KH SSC Reference