Change volume without clipping

GoldWave general discussions and community help
Post Reply
chrisjj
Posts: 115
Joined: Tue Feb 07, 2006 5:38 pm

Change volume without clipping

Post by chrisjj »

I need to increase the volume in Batch Processing except if it would cause clipping. How may I do this?


I see no Change Voume ( ) Reduce average level to avoid clipping or ( )
Abort processing if clipping is required.

Thanks.
DewDude420
Posts: 1171
Joined: Fri Mar 11, 2005 11:15 pm
Location: Washington DC Metro Area
Contact:

Post by DewDude420 »

Use Maximize. It'll take the loudes peak in the file and raise it to just below the point of clipping. If it's not far from clipping, then it's just a small change.
chrisjj
Posts: 115
Joined: Tue Feb 07, 2006 5:38 pm

Post by chrisjj »

DewDude420 wrote:Use Maximize.
Sorry to be unclear - I need an increase of a specified amount a la Change Voume, and Maximise does not support that.
Musicman3
Posts: 4
Joined: Sun Jul 06, 2008 10:12 pm

Post by Musicman3 »

Sorry to be unclear - I need an increase of a specified amount a la Change Voume, and Maximise does not support that.
I'm not sure if I understood you correctly, but the Maximize does allow you to specific an amount for the new volume change. When you click Maximize, there is an option called New Maximum where you can set your values (eg. 1, 1.5, 2.0). A 1.0 is essential no change.
chrisjj
Posts: 115
Joined: Tue Feb 07, 2006 5:38 pm

Post by chrisjj »

> When you click Maximize, there is an option called New Maximum

Not here (V5.24).

> where you can set your values (eg. 1, 1.5, 2.0).

That sets the absolute value. There's no option to set a specified amount of increase.
DougDbug
Posts: 2172
Joined: Wed Feb 16, 2005 3:33 pm
Location: Silicon Valley

Post by DougDbug »

Here's a little trick...

Run Maximize. It will report the current maximum. Make a note of that, and click Cancel.

Now, you know how much "headroom" you have. For example, if the current peak is -1.5dB, you can increase the level by 1.5dB (or less) without clipping.

Of course, if it reports 0dB you cannot increase the gain without clipping.

Note that GoldWave can temporarily store values above 0dB. But if you save the file (as a regular WAV file), it will get clipped.

Since this involves human interaction, I'm not sure if you will be able to use any batch processing. But, since it appears that you may need to make different level adjustments to each file, you may not be able to automate this anyway.
chrisjj
Posts: 115
Joined: Tue Feb 07, 2006 5:38 pm

Post by chrisjj »

As you suggest, this is not an option in BP.

> But, since it appears that you may need to make different level
> adjustments to each file

No, I want to make the same level adjustment to each file, except if it would cause clipping.
mh
Posts: 133
Joined: Thu Aug 10, 2006 6:20 pm

Post by mh »

I don't actually think it's possible to do what you want short of writing a custom plug-in; it's a fairly specialized requirement so I would doubt if any software would support it.

The best I can offer is a non-batch method, but it will get the result quicker and easier than doing each file individually.

1. Merge the files.
2. Open the merged file.
3. Increase by the specified amount - don't worry if it causes clipping for now.
4. Run maximize, note the position where it exceeds 1, and cancel.
5. Select the cues before and the position as start and end, then maximize to 1.
6. Repeat 4 and 5 until there are no more such points.
7. Split the file.
chrisjj
Posts: 115
Joined: Tue Feb 07, 2006 5:38 pm

Post by chrisjj »

> it's a fairly specialized requirement

I cannot see how. Clipping protection was added to Match volume - it just hasn't yet been added to Change Volume.

> I don't actually think it's possible to do what you want

OK, thanks.
mh
Posts: 133
Joined: Thu Aug 10, 2006 6:20 pm

Post by mh »

chrisjj wrote:> it's a fairly specialized requirement

I cannot see how. Clipping protection was added to Match volume - it just hasn't yet been added to Change Volume.
And it would be fairly trivial to add, but how many people actually need or want to do it this way? It seems as though your requirement to have change volume with clipping protection through batch processing is something that has only ever come up once - this time.

To be honest I can't see how it would be useful, you'll achieve nothing that isn't already do-able using the method I gave above.
chrisjj
Posts: 115
Joined: Tue Feb 07, 2006 5:38 pm

Post by chrisjj »

> It seems as though your requirement to have change volume with
> clipping protection through batch processing is something that has only
> ever come up once - this time.

You're wrong.

> To be honest I can't see how it would be useful, you'll achieve nothing
> that isn't already do-able using the method I gave above.

It would achieve the ability to meet the requirement using batch processing.
DougDbug
Posts: 2172
Joined: Wed Feb 16, 2005 3:33 pm
Location: Silicon Valley

Post by DougDbug »

chrisjj,


You might try the Hydrogenaudio Froum. A lot of people participate in that forum, and they are using lots of different audio software for lots of different purposes. Somebody there might have a solution for you.

Chris (GoldWave's developer) is generally open to suggestions. He monitors the forums and sometimes responds. If he thinks it's a good idea, he will add it to a future version. You can also contact Chris directly via the Support Web Form. I tend to agree that this is an unusual requirement. So, it might be useful to "sell the idea" by explaining (to Chris) exactly what you are doing, why maximize doesn't work for this application, why all of the files need exactly the same adjustment yet some files clip with this "standardized" adjustment, etc.

If you can't find any software to do this, and if you're not in a hurry, you might try the Audacity Forum. Audacity is open source, so any programmer can create a new version with new features. You just need to convince one programmer that it's a useful feature. (I don't know if Audacity currently supports batch processing).

A programmer could also create a plug-in for GoldWave, but I suspect there are far more programmers "playing around" with Audacity, so your odds are better.

Personally, I've never used batch processing. Although there are things that I do fairly routinely, I've just never had a situation where several files needed the exact same editing/processing/filtering... Most audio editing/processing requires human-monitoring and human-judgment.
chrisjj
Posts: 115
Joined: Tue Feb 07, 2006 5:38 pm

Post by chrisjj »

> Chris (GoldWave's developer) is generally open to suggestions.

Thanks my experience too. "( ) Abort processing if clipping is required" was the result of such a suggestion from me.

> Personally, I've never used batch processing.

It is 90% of my use of GW. GW is unbeatable for BP in my experience.
mh
Posts: 133
Joined: Thu Aug 10, 2006 6:20 pm

Post by mh »

I'm a programmer myself, and I've experimented with GW's plug-in architecture in the past, so I can tell you that this would be utterly trivial to implement.

I can also tell you that the reason why it's available for "match" is that "match" pre-scans the entire wave before letting you select settings, so it is able to predict in advance if it will clip. "Change" doesn't pre-scan, so it can't predict in advance - implementing it in the current "change" effect would require somewhat more work than implementing it as a plug-in. There would be 3 main ways to do this:

1) Add a pre-scan to "change" - a lot of people would be seriously unhappy about this. Significantly more, I expect, than would be happy about the addition of the option. (This, incidentally, would be easiest way, and probably the way to go with a plug-in implementation).

2) Detect if the operation is selected when you click on "OK", then run a pre-scan before applying the change. Might work well, and if I was doing it in the built-in operation, that's the way I'd do it.

3) Change the volume without a pre-scan, testing each changed sample for a clip, and aborting and undoing changes so far if it gets one. Could be rather messy, and it would at the very least require one conditional (is the option selected?) to be added to each volume change operation, which would slow down regular changes owing to the conditional testing and branching required.
chrisjj
Posts: 115
Joined: Tue Feb 07, 2006 5:38 pm

Post by chrisjj »

> 1) Add a pre-scan to "change"

I agree unconditionally prescanning would be poor.

> 3) Change the volume without a pre-scan, testing each changed sample
> for a clip, and aborting and undoing changes so far if it gets one. Could
> be rather messy, and it would at the very least require one conditional
> (is the option selected?) to be added to each volume change operation

I think not, since that conditional could be outside the loop. Though the 'did it clip?' conditionals would not, I think the overhead they incurred would be tiny.
Post Reply