[Freeswitch-users] Proper prompt gain/level

Bryan Smart bryansmart at bryansmart.com
Mon Jun 27 03:11:07 MSD 2011


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.

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.

Bryan

On Jun 26, 2011, at 5:20 PM, Jan Berger wrote:

> Wavepad is free and will do bulk changes to sound files.
> 
> Won't AGC solve this?
> 
> Jan
> 
> -----Original Message-----
> From: freeswitch-users-bounces at lists.freeswitch.org
> [mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of Bryan
> Smart
> Sent: 26. juni 2011 22:32
> To: freeswitch-users at lists.freeswitch.org
> Subject: [Freeswitch-users] Proper prompt gain/level
> 
> As part of creating prompts for my IVRs, I've tried to match the audio gain
> of my prompts with the gain of the stock English prompts. During this
> process, I noticed that the English Callie prompts are recorded extremely
> low (max gain around -16DB). I have the Cepstral Callie voice, and I must
> set the Cepstral volume to about 50% in order to match the gain of the
> English prompts. In conferences and other situations where prompts are
> played over conversations, the level of the prompts are obviously low.
> 
> I can, of course, renormalize the gain of the prompts up to -10DB or more
> with a sound editor. However, I wonder if there is a better way to change
> the level of the prompts, or if there is a good reason for the prompts to be
> encoded at such a low level.
> 
> I haven't considered all of the implications yet, but I'm fairly sure that
> encoding the prompts this quietly is not the best approach, even if it is
> desirable for the prompts to play quietly on a call. For each 6DB reduction
> in gain, there is a 50% reduction in perceived volume, and one less
> significant bit is used for storing the audio. In a 16-bit file, a maximum
> gain of -16 means that only the 14 least significant bits are actually used
> for encoding the audio. This results in a reduction in dynamic range, but
> the difference isn't really noticeable as long as the data remains 16-bit.
> The problem comes when the audio is converted to a different bit depth. For
> example, most quickie routines for converting 16-bit audio to 8-bit audio
> will simply chop off the 8 least significant bits. Therefore, when the
> prompts are converted to 8-bit audio for use by most of the narrow band
> codecs, the prompts are only using 6 bits of audio. If the volume of the
> channel is increased, then the 
> 6 bits are promoted, and the dithering errors at the bottom become louder.
> In the worst case, since these prompts are only encoded with 14 bits of
> actual data, and converting to an 8-bit channel will only leave 6 bits of
> actual data, boosting the gain of the prompts on an 8-bit channel to full
> loudness would result in the noise floor (the level of the dithering
> crackle) being about -18DB. That's almost as loud as the prompts themselves
> sound at the moment.
> 
> Anyway, regardless of observations, is there a reason why the prompts must
> be recorded so quietly? If I'd like them louder (without increasing the gain
> of the entire channel), is there a way other than running them through a
> tool to renormalize their max levels?
> 
> Bryan
> 
> 
> _______________________________________________
> Join us at ClueCon 2011, Aug 9-11, Chicago
> http://www.cluecon.com 877-7-4ACLUE
> 
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
> 
> 
> _______________________________________________
> Join us at ClueCon 2011, Aug 9-11, Chicago
> http://www.cluecon.com 877-7-4ACLUE
> 
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org




More information about the FreeSWITCH-users mailing list