[Freeswitch-users] Proper prompt gain/level
steveu at coppice.org
Mon Jun 27 17:48:20 MSD 2011
On 06/27/2011 07:11 AM, Bryan Smart wrote:
> I have tools to batch-process audio files. I just was not sure that regaining all of the prompt files was the best approach. I figured that the gain must have been reduced so dramatically for some sort of reason (to avoid clipping in some situation, to work better with the internal resampling, etc).
> What AGC do you mean? I know that AGC has recently been added to conferencing, but the level of the prompts is a system-wide situation. As far as I know, there isn't AGC that can be applied on every channel, and, even if there was, there would surely be a processing hit, so the goal would be to avoid needing it, right?
> The root problem, at least for me, is this. I need to add voice prompts and other audio for an IVR. I can't simply normalize all of my prompts to 0DB, as, even though they don't distort, they're so loud when compared to the stock prompts, they'll blow the phone out of my hand. To match them to the stock prompts, I must normalize them to around -16DB. I can do that, but it seems very wrong. At -16DB, nearly 85% of the potential gain of the channel is lost.
-16dBM0 or -16dBOv, and average or peak burst power? -16dBOv for the
average power is about where you want a voice prompt to be. In some
juristictions you could be in breach of a regulation or two if you set
the level higher than that on the PSTN. Why would you set a voice prompt
to 0dB? It will be clipping like crazy.
> Try this... With the demo IVR (5000), add this before the sleep command in the dialplan.
> <action application="set_audio_level" data="write 4"/>
> That is the max gain boost available for a channel. The prompts should be really clipping with that much amplification, but they don't clip at all. At -16DB, you could literally amplify them to 6 times their native level without distorting. Native level is too low. Once I realized this, it became clear to me why Freeswitch sounded more quiet than Asterisk, at least when working with recorded prompts.
> I suppose I could use set_audio_level on every last call, but I'm sure that real-time amplification, like AGC, is another processor drain that builds up with lots of calls. Besides, it seems weird to dramatically reduce the level of audio, and then waste cycles amplifying it back up in real-time.
More information about the FreeSWITCH-users