For engineers, multiplex technical staff, and the minority of station people who want the detail.
What follows is an outline of what is different. We do not publish the tuning itself, for reasons any encoder developer will understand, but everything below is checkable against our output.
FDK-AAC encodes in a single pass. Each frame is coded as it arrives, and in DAB+ there are a fixed number of bits allocated to each frame irrespective of what is actually in that frame.
Ours runs a separate analysis pass over each complete DAB+ superframe before any of it is encoded for transmission. That pass measures the difficulty of each frame that makes up the superframe – up to six frames – and the real pass distributes the superframe’s bits accordingly. At very low rates a third pass is used to make a final bit distribution and adjust various parameters.
The consequence is that a difficult moment sitting next to an easy one gets the bits it needs, taken from the frame that did not need them. In a single-pass encoder those bits are already spent.
Why nobody else does this: AAC was designed to let frames vary in size through a bit reservoir – spare bits from an easy frame carried forward to pay for a hard one. DAB+ takes that away. The superframe is a fixed-size container every 120 milliseconds and nothing can be carried across its boundary, so conventional encoders simply divide it into equal frames and encode each one as it comes. The only way to spend a fixed budget well is to look at the whole of it before spending any, which is what the analysis pass does.
FDK-AAC performs its psychoacoustic analysis, transforms and quantisation in fixed-point arithmetic, which is fast and runs on hardware with no floating-point unit at all. The transforms are where this bites: an FFT, QMF or MDCT is hundreds of multiply-accumulate operations deep, each one rounding, and the rounding error accumulates into a noise floor on the analysis itself. Detail below that floor is not available to the encoder to protect.
We built our analysis, transform and quantisation path in 64-bit floating point, which holds high precision across the whole dynamic range.
Precision on its own does not make an encoder sound better and we would not claim it does. What it does is remove that floor, and make the rest of this list possible: closed-loop search, rate-distortion optimisation and superframe allocation all depend on measuring small differences reliably, and all of them cost processing no handset could spare.
Speech and music have opposing requirements at low bitrates and a single fixed tuning must compromise between them. FDK-AAC leans towards speech, which is a defensible choice since the ear is less forgiving of distortion in a voice, but it means music is not coded as well as it could be.
This is a documented limitation rather than our opinion. MPEG reached the same conclusion and acted on it: xHE-AAC, the newer member of the AAC family, contains an entire speech codec sitting alongside the transform coder, switching between them as the content changes. They added all of that because HE-AAC v2 handles speech and music with one set of compromises. DAB+ cannot use xHE-AAC – every DAB+ radio in the field decodes HE-AAC v2 – so the tools are fixed, and the question becomes what an encoder does with them.
Telling speech from music reliably, several times a second, on live audio, and then carrying separate tuning for each, costs a great deal of processing, which is why encoders built for modest hardware leave it out. Ours classifies content continuously from the audio itself – no metadata, no switch to set, no schedule to maintain – and shifts allocation strategy as programming changes, including across transitions within a single link.
At DAB+ bitrates everything above a fixed changeover frequency – typically 6 to 8 kHz depending on the bitrate profile – is not transmitted as audio at all. It is reconstructed by the receiver from a compact parametric description, using spectral band replication. The changeover sits far lower than most engineers assume, and the fidelity of the reconstruction depends entirely on the accuracy of the description the encoder writes.
Encoders make decisions by predicting how a decoder will reconstruct the signal. Most never test the prediction, because doing so considerably increases the processing load.
Our encoder is closed-loop: for every candidate way of framing the high-frequency envelopes and low-frequency noise shaping, it reconstructs what the decoder will actually produce, including the quantisation and the decoder’s own gain limits, scores the result against the original through a temporal masking model, and selects on the measurement rather than the estimate. We then keep whichever parameter set reconstructed closest to the source.
This costs a great deal more processing, generating a candidate set of 80 different encoded versions, but we believe it is worth the effort and it is only possible through our own optimisation work.
Station text and slideshow data must travel in the same bitstream as the audio. Conventional encoders reserve a fixed allocation in every frame, taken from the audio whether it can be spared or not.
Ours decides per superframe, using the difficulty measurement from the analysis pass, and sends data through superframes that can afford it while sending none through those that cannot. A controller tracks progress against each object’s deadline and adjusts, so text and images arrive on schedule while travelling through the quiet moments. Output is standards-compliant and validated to receiver level.
For stations still carried in DAB rather than DAB+, our MP2 encoder is a similarly extensive rebuild, and we confidently claim we have the most advanced MP2 encoder on the market, as most MP2 encoders have not received any real attention for over twenty years while the effort has gone into AAC. Our two-pass encoding, bit allocation, novel anti-aliasing stage and more deliver clean, listenable audio at 32 kbps and very near CD quality at 128 kbps.
Every claim above describes behaviour visible in our output.
Deterministic. The same input produces the same bitstream every time, verified by hash across our full regression battery. Nothing about our encoding is random or unrepeatable.
Validated to receiver level. We parse our own output the way a receiver does – superframe structure, access unit extraction, X-PAD reassembly, CRC verification on every segment, full round-trip of labels and images. Under sustained stress testing, every data segment and every image object validated.
No dropouts. Superframe overflow is structurally impossible in our encoder at any bitrate, by construction rather than by margin.
Published settings. The configuration used for any comparison we supply, for both our encoder and the FDK-AAC build it is compared against, is provided with the comparison.
Encoded once, delivered everywhere. One encode feeds every multiplex carrying your station, from a single timestamped source. Your output is identical in every coverage area. Where bitrates differ, we pass exactly the same data to multiple encoders in parallel, with an identical timestamp reference source, so even across different bitrates the audio is completely synchronised.
Programme-associated data handled for you. Text and images are generated in the same process as the audio, driven from files your playout already produces. There is no separate encoder to configure, supervise or restart.
Monitored. Output is continuously monitored for stalls and anomalies, with statistics published throughout. Problems reach us before they reach your listeners. Our encoder has been proven to be considerably more stable on difficult streams than the standard free encoders used by most other SSDAB multiplexes.
Maintained. Improvements reach your output without anyone visiting a rack.
Spectral profiling. We measure the spectral balance of your incoming audio over time and build a confidence-weighted profile of your processing chain. Some chains push the high frequencies hard enough to cause audible artefacts in DAB+ specifically. If yours does, we can show you the evidence rather than offer an opinion, and advise on optimising your processing for low bitrate DAB+.
We have not published our psychoacoustic tuning, our allocation thresholds, or the detail of how the content classifier works. Those represent six years of listening and measurement and they are the reason the encoder sounds as it does. What we have published is enough to verify every claim on this page against our output, and to explain what our encoder does differently and why it sounds better – which we think is the part that matters to you.
Talk to us