Page 1 of 1

Audio Level Mixing Question

Posted: Thu Jan 29, 2026 10:34 am
by graham728
Hi,

I'm being asked to convert TV Mixes which are R128 to a Radio Spec I've been given (see below).

​​Radio specs: 44.1kHz / Stereo -12dBFS Duration tolerance: +/- 0.2 seconds only.

Is there a way I can do this through FFastrans.

Spec looks like it just can't exceed -12dB?

Thanks!

Re: Audio Level Mixing Question

Posted: Sat Jan 31, 2026 9:08 pm
by emcodem
Hi,

if you dont have clear specifications, we can only make an educated guess. My guess is the -12dBFS means "True Peak" instead of "Program loudness", so nothing ever shall exceed that -12db on an Audio VU Meter. Of course the definition of how exactly we measure (time/samples) the "True Peak) depends on which standard you work against.

Try something like this:
emcodem_true_peak_target.json
(5.22 KiB) Downloaded 10 times
Just a word of warning, what this does is just to check the current maximum Peak output and "turn the volume for the whole program" up or down as needed to reach the 12dB max output. If the Program you submit does not have any "foreground" audio or is intentionally silent (example: short, silent advertisement), the result can potentially be pretty much fucked up because amplified by factor thousand.

Re: Audio Level Mixing Question

Posted: Sun Feb 01, 2026 11:21 pm
by FranceBB
The loudness correction performed within FFAStrans is - by default - performed in two passes: the first one measures and the second one applies the correction. Although performing this conversion in two passes is better (a bit like when you encode a video in two passes with the first one analyzing the scenes and the second one using the analysis to perform the encode), there's a way to do the entire operation in one single step by making the loudnorm filter "look ahead" a few samples (a bit like single pass encoding in video which performs the lookahead of 240 frames etc).

When it comes to the loudness, although for broadcast it's pretty common to see -24 and -23 LUFS, for CD those are generally at -14 and -13 LUFS, so it's not a surprise that they asked you to provide a sample at -12 LUFS.

For broadcast, I generally use an LRA of 12 which roughly means +6 -6 in terms of oscillations while the integrated loudness is the one you specify. In your case I'd say that we can try to do the same thing, so integrated loudness of 12, an LRA of also 12 which gives +6 -6 which is plenty for a dynamic to be preserved given that it's gonna be music and a true peak of -2 which is pretty standard.

Code: Select all

ffmpeg.exe -hide_banner -i "Source.wav" -c:a pcm_s24le -ar 44100 -af loudnorm=I=-12:LRA=12:tp=-2 -rf64 always -f wav -y "Output.wav"
in FFAStrans you can do the same thing using the Command Line executor node and

Code: Select all

%s_ffmpegx64% -hide_banner -i "%s_source%" -c:a pcm_s24le -ar 44100 -af loudnorm=I=-12:LRA=12:tp=-2 -rf64 always -f wav -y "%s_job_work%\output_lc.wav"
and setting the %s_source% variable in output of that node to be populated by "%s_job_work%\output_lc.wav" so that it can then be delivered by a normal delivery node or indeed be re-encoded by an audio node if they need a lossy version of that instead.

Try it out and send it over to them. If they reject it you can try tightening up the LRA to reduce the possible oscillations. Let me know how it goes. :)

p.s you can use spek which is a spectrum analyzer which is free and open source to check what happened to the audio after the conversion as well. It uses the Fourier Transform with a 2048 window and I've been using it for years now. :)