How to match volume of files (batch processing)?

GoldWave general discussions and community help

How to match volume of files (batch processing)?

Postby MrAnalogy » Mon Nov 29, 2010 8:19 pm

My Goal:
I've got a bunch of short voice files (1-2 seconds each) and I want to normalize their volume so they all sound about the same loudness. Clarification (update): some of the files were recorded at different times and with the microphone farther/nearer to the person speaking. So I don't want to change the volume within each sound file, I want to change the overall volume (linearly) of the entire file if that file's average volume is too high.

I've tried...

Using the latest GW version (5.58) :
... Match Volume (using Batch Processing) however, if I choose "Reduce Avg Volume to reduce clipping" it doesn't seem to alter my quietest audio file. If I just choose [*]default, it works, I get no clipping (that I can hear) and they all sound about the same loudness.

...Maximize Volume (with Default option) but my quietest file was still quieter than the rest., the Help doesn't provide much info on that and it seems like it'll amplify portions (which could introduce distortion). The Help file suggests to use the minimum Avg across all files, but I don't see how I'd find out what the minimum avg volume is.Any suggestions of what I can do differently to get the volume normalized and still avoid clipping? (I'd rather not do the Default option b/c there are 1,000 files and I don't want to have to listen to all of them to confirm they weren't clipped).

Is this a known bug or is there a better way to do this?
Any ideas?
Last edited by MrAnalogy on Tue Nov 30, 2010 4:36 pm, edited 1 time in total.
Speech Therapy Treatment Software
MrAnalogy
 
Posts: 29
Joined: Fri Jul 27, 2007 2:38 pm

Re: Trying to match volume of files. Match/Maximize Volume f

Postby DougDbug » Tue Nov 30, 2010 2:55 pm

OK... The basic problem is that human loudness perception is more-or-less based on average (RMS) levels, but Maximize uses the peak level as a reference, and clipping also happens to the peaks.

For example, If you have one very-quiet file with one "loud" peak, this file (after maximizing) is your reference file and it represents the loudest that you can go. After maximizing, you can't (linerly) increase any files without clipping... So, you have to decrease the loud files to match the quiet files. (Technically/mathematically, you don't have to maximize first, but it makes everything a whole lot easier! ;) )

Volume adjustments can be linear on non-linear... A linear volume adjustment is applied to the whole file as if you set-and-forget the volume at the beginning of each file. The relationship between the quiet parts, or average level, and the peaks is maintained... An example of non-linear adjustment is an automatic volume control where quiet parts of the file are boosted and loud parts are reduced. With music, non-linear adjustments can distroy musical dynamics, and you can sometimes hear "volume pumping". But with spoken voice, you can more-easily get-away with it.

Some possible solutions:
-----------------------
If you didn't have 1000 files it would be easy....

1. Maximize all of the files (setting the peaks to 0dB).
2. Run Match on all of the files, note the RMS level and cancel without changing the volume.
3. Choose the lowest RMS level (or quietest-sounding) file as your reference and reduce the RMS level of the other files to Match.
(Linear)
-----------------------
For something a little more practical....

Try Effect -> Volume -> Auto Gain, or a FREE program called The Levelator.
You should be able to apply these effects to all 1000 files.
(Non-linear)

-----------------------
You can also try some compression. Compression reduces the dynamic range by making the quiet parts louder and/or the loud parts quieter. In practice it's most-often used to make "everything loud". You can apply compression to all 1000 files and the quiet files will be more-affected than the loud files, making them more-equal. With GoldWave we can use a 3-step process to bring-up the average level without boosting/clipping the peaks...

1. Effect -> Volume Maximize (to get a known starting-point)
2. Effect -> Compressor/Expander -> Reduce Loud Parts (or Reduce Peaks)
3. Effect - Volume Maximize (to bring up the overall average level)
Repeat steps 2 & 3 as desired.
(Non-linear)
-----------------------
DougDbug
 
Posts: 1631
Joined: Wed Feb 16, 2005 3:03 pm
Location: Silicon Valley

Re: How to match volume of files (batch processing)?

Postby MrAnalogy » Tue Nov 30, 2010 4:48 pm

DougDoug,

This seems like such a common task: matching the volumes of, say, a bunch of songs, or anything like that. I'm surprised there isn't more info on this.

Thanks. I can see why Maximize Volume wouldn't work for my needs. But it seems that Auto Gain is for changes within a file: i.e., the non-linear volume changing you referred to. Levelator seems to be the same way: they both are designed for operation on a single file where the volume varies within that file. Not the application here and, in fact, might have very negative results. I previously looked at Levelator and there is no mention of any ability to batch process and normalize volume. I'll take a closer look but I'm doubtful, since it's designed to work the same way AGC is.

As I mentioned, Volume Match did work, but not with the feature for avoiding clipping. That seems like a bug to me. Any thoughts?
Speech Therapy Treatment Software
MrAnalogy
 
Posts: 29
Joined: Fri Jul 27, 2007 2:38 pm

Re: How to match volume of files (batch processing)?

Postby MrAnalogy » Tue Nov 30, 2010 4:56 pm

BTW, I tried just Match Volume, default settings, and the results were fine.

I think Volume Match is what I want but it doesn't seem to be doing what I need (doesn't match at all when I choose the option to avoid clipping and gives seemingly false errors when I choose "abort if clipping occurs".

I'm going to post this separately as a bug report.
Speech Therapy Treatment Software
MrAnalogy
 
Posts: 29
Joined: Fri Jul 27, 2007 2:38 pm

Re: How to match volume of files (batch processing)?

Postby DougDbug » Tue Nov 30, 2010 6:38 pm

If I just choose [*]default, it works, I get no clipping (that I can hear) and they all sound about the same loudness.
If you can't hear the clipping, that's a good solution.

I think Volume Match is what I want but it doesn't seem to be doing what I need (doesn't match at all when I choose the option to avoid clipping and gives seemingly false errors when I choose "abort if clipping occurs".
Are you sure it's a "false error"? What does Match say for "final peak"? I don't know for sure that GoldWave doesn't have a bug, but I've never had trouble with its "calculations".

You can check the peaks by running Maximize and then cancelling, and that will tell you how much headroom (below 0dB) you've got. i.e. If your peaks are -3dB, you've only got 3dB of headroom and you can't increase the average from -22 to
-18dB (+4dB) without clipping. (Or, just go ahead and maximize... That's as loud as you can go without clipping.)



BTW - GoldWave can temporarily go over 0dB, but if you save in a "normal" integer format (like 16-bit WAV) the file will be clipped.

P.S.
Some of your files may be clipped already... If you make a recording and Maximize reports 0dB peaks before any processing, it's probably clipped... It's very unlikely that you hit exactly 0dB without "trying" to go over.

P.P.S.
Almost everything you hear on the radio is compressed... Nonlinear processing isn't always terrible.
DougDbug
 
Posts: 1631
Joined: Wed Feb 16, 2005 3:03 pm
Location: Silicon Valley

Re: How to match volume of files (batch processing)?

Postby Gord » Tue Nov 30, 2010 7:40 pm

MrAnalogy wrote:I think Volume Match is what I want but it doesn't seem to be doing what I need (doesn't match at all when I choose the option to avoid clipping


I suspect that you are getting the results you describe because the file already peaks at 0db.

I have a WAV file that I pulled from my voice-mail system. The "Maximize Volume" dialog tells me that it peaks at +0.00db at some point. The "Match Volume" dialog tells me that the average volume of the file is -14.84dB. If I were to choose a new average volume greater than -14.84dB and select the "Reduce average level to avoid clipping" option then when I clicked "OK" nothing would be changed because the highest average volume that can be attained without clipping is -14.84dB, and that's what the average volume is now.

If I wanted to increase the average volume without clipping I would need to do some audio compression on the file first. In this case, I chose

Effect > Compressor/Expander...

and selected the "Reduce peaks" preset. Once that was done the "Maximize Volume" dialog now tells me that the file peaks at -3.00dB. The "Match Volume" dialog tells me that the average volume is now -16.47dB and I can raise the average volume to -13.48dB before clipping will occur.
User avatar
Gord
 
Posts: 358
Joined: Thu May 21, 2009 2:56 pm
Location: Canada

Re: How to match volume of files (batch processing)?

Postby MrAnalogy » Thu Dec 02, 2010 2:32 pm

Thanks!
As an Electrical Engineer, I thought I knew a lot about this stuff and finding that I'm woefully ignorant<g>

The Reduce Peaks (Compression) seems to work well (doesn't degrade the audio).I'm still a bit nervous about using it b/c I don't want to have to listen to all 1,000 audio files to confirm it had no poor effects.

I'm wondering: If I do Match Volume with the "reduce average volume to avoid clipping" shouldn't that just reduce the average (and thus reduce the peaks) to avoid clipping ?
When I do that as a Batch operation on a loud and quet file, there is no change to the peaks in either file (i.e., the volume isn't changed). I assume that it's simply doing nothing.
Is that what you'd expect to happen? If so, how is that different from the "abort to avoid clipping"?

What is "final peak" ? (I see it in the Match Volume dialog, but not sure what that refers to (maybe Peak Volume (loudest bit) AFTER doing a Match Volume) ?
In that case I guess >0dB would result in clipping, right?
Speech Therapy Treatment Software
MrAnalogy
 
Posts: 29
Joined: Fri Jul 27, 2007 2:38 pm

Re: How to match volume of files (batch processing)?

Postby Gord » Thu Dec 02, 2010 8:46 pm

MrAnalogy wrote:If I do Match Volume with the "reduce average volume to avoid clipping" shouldn't that just reduce the average (and thus reduce the peaks) to avoid clipping ??


The difference is that "Match Volume" will treat the whole selection in the same way, while the "Reduce Peaks" preset for compression will only attenuate the samples above a certain threshold.

MrAnalogy wrote:When I do that as a Batch operation on a loud and quet file, there is no change to the peaks in either file (i.e., the volume isn't changed). I assume that it's simply doing nothing.
Is that what you'd expect to happen?


It depends on what you perceive to be "loud" and "quiet" files. That would likely depend on the average volume, but they may both peak at 0dB due to transients.

MrAnalogy wrote:If so, how is that different from the "abort to avoid clipping"?


"Reduce" will try to avoid the problem, while "Abort" will just give up.

MrAnalogy wrote:What is "final peak" ? (I see it in the Match Volume dialog, but not sure what that refers to (maybe Peak Volume (loudest bit) AFTER doing a Match Volume) ?
In that case I guess >0dB would result in clipping, right?


Sounds reasonable to me.
User avatar
Gord
 
Posts: 358
Joined: Thu May 21, 2009 2:56 pm
Location: Canada

Re: How to match volume of files (batch processing)?

Postby MrAnalogy » Fri Apr 08, 2011 8:06 am

Thanks Gord! That helps a lot!
-Mr Analogy
Speech Therapy Treatment Software
MrAnalogy
 
Posts: 29
Joined: Fri Jul 27, 2007 2:38 pm

Re: How to match volume of files (batch processing)?

Postby Melindatrensy » Tue Sep 20, 2011 7:23 am

Thanks for the help!! Prevent my brain from melting!! :mrgreen:
Melindatrensy
 
Posts: 2
Joined: Tue Sep 20, 2011 7:22 am


Return to GoldWave General

Who is online

Users browsing this forum: Google Adsense [Bot] and 4 guests

Google Ads

Keywords: sound editor, song editor, audio editor, sound converter, sound recorder, itunes, mp3, cassette, tape recording software, vinyl, LP, restoration, noise reduction, clean, filter, visual, speech