any help on this will be appreciated:
i have 2 samples, both normalised...but one is very LOUD and the other is very quiet.
what process do i run them through to make them both sound equally loud? a compressor? a limiter?
what pd objects am i looking for to do this?
thanks list ! matt
hi matt
"hard off" wrote:
any help on this will be appreciated:
i have 2 samples, both normalised...but one is very LOUD and the other is very quiet.
you could cut the peaks by hand and then normalize again (if there are very few single peaks).
what process do i run them through to make them both sound equally loud? a compressor? a limiter?
try [limiter~] from zexy. you can set it as limiter or compressor. it depends on your signal, what's sounding better. if you only have a few peaks, try limiter.
lg roman
___________________________________________________________ Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de
Hallo, hard off hat gesagt: // hard off wrote:
any help on this will be appreciated:
i have 2 samples, both normalised...but one is very LOUD and the other is very quiet.
what process do i run them through to make them both sound equally loud? a compressor? a limiter?
what pd objects am i looking for to do this?
In the traditional Music N languages like Csound an ugen called "balance" is used for this. Attached is the source for a flext/SndObj-external I wrote two years ago which might help you (source only). I only did a short test with the new flext: It still compiles but might have many other bugs, because it hasn't seen much use yet.
Frank Barknecht _ ______footils.org_ __goto10.org__
On Sep 30, 2005, at 9:51 PM, hard off wrote:
any help on this will be appreciated:
i have 2 samples, both normalised...but one is very LOUD and the other is very quiet.
what process do i run them through to make them both sound equally loud? a compressor? a limiter?
GAINSLIDER~ from Max / MSP which can be simplified to the following formula:
[hslider] | [expr (0.000145 * exp($f1 * 0.06907)] | v | [*~] | [dac~]
(source audio goes into where teh 'v' is.)
If $f1 is from 0-127 you will have logarithmic gain control of your levels from -inf to -0.0 dB. If you go to 152 like in Max, you will get +18.0 dB out.
what pd objects am i looking for to do this?
[expr], [*~]
-d5
ok, i'll try [limiter~] ...that might work.
at the moment i am using [*~] ...but that requires manual adjustments. i'm looking for a more 'automatic' way so that i can get things balanced on the fly, in a live setting.
is there anything that will detect the 'loudness' or 'density' of the sound? i have everything normalised already, but some things just sound a lot louder than others.
it'll cost me dearly in cpu power, but what about using an ftt process ???
oh, and frank...that source code you have posted MIGHT be exactly what i need. i've never compiled anythign from source yet, so maybe this week i'll try to find out how to do it.
thanks ...mAtt
Hallo, hard off hat gesagt: // hard off wrote:
ok, i'll try [limiter~] ...that might work.
at the moment i am using [*~] ...but that requires manual adjustments. i'm looking for a more 'automatic' way so that i can get things balanced on the fly, in a live setting.
is there anything that will detect the 'loudness' or 'density' of the sound? i have everything normalised already, but some things just sound a lot louder than others.
For that you should use a compressor. While normalization only scales the sample so that the sample with the highest amplitude becomes 1, compression will give your sound more (or less) energy, that is the area below the samples will get bigger overall. Energy is what is perceived as loudness.
For how a compressor works you can read for example the effects intro at www.harmonycentral.com, like: http://tinyurl.com/dosve
I don't know any (good) compressors for Pd directly (maybe limiter~ can be abused as a compressor, too) , personally I use a LADSPA plugin for compression. There are LADSPA compressors with a so called sidechain, which you can use to "balance" two sounds.
Frank Barknecht _ ______footils.org_ __goto10.org__
Hallo!
I don't know any (good) compressors for Pd directly (maybe limiter~ can be abused as a compressor, too) , personally I use a LADSPA plugin
yes, [limiter~] can be used as a compressor - see the help file ...
LG Georg
for compression. There are LADSPA compressors with a so called sidechain, which you can use to "balance" two sounds.
Ciao
Frank Barknecht _ ______footils.org_ __goto10.org__
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Sun, 2 Oct 2005, Frank Barknecht wrote:
For that you should use a compressor. While normalization only scales the sample so that the sample with the highest amplitude becomes 1, compression will give your sound more (or less) energy, that is the area below the samples will get bigger overall. Energy is what is perceived as loudness.
Not quite. The ear acts as a filter as it is more sensitive for some frequencies than others. Acousticians (and industrial security technicians) have several kinds of "dB" for that, some relative to average hearing level, some relative to a base energy value, etc.
And also, to compute the energy, you have to square the signal before computing the area, because you want a figure proportional to joules, which are watts*secs = ohms*secs*amperes*amperes and the signal itself is only proportional to plain amperes.
Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju Freelance Digital Arts Engineer, Montréal QC Canada
On Sun, 2 Oct 2005, hard off wrote:
it'll cost me dearly in cpu power, but what about using an ftt process ???
FFT = Fast Fourier Transforms make it easy to cut frequencies. Its cost is at least two float multiplications per sample for each pass (if using complex numbers). Each pass doubles the associated block size, so for 64-sample blocks it's 6 passes, and for 1024-sample blocks it's 10 passes.
Sandwiching a pair of *~'s between a fft~ and an ifft~ will allow you to have a 32-band equalizer (or a 512-band equalizer). The number of bands is half the block size because the gains for the negative freqs should be the mirror image of the gains for the positive freqs. Also both *~'s should get the same gain values too.
If you decide to operate in "real mode" instead, then instead of negative vs positive freqs you'll have all positive freqs but with both cosine and sine values. Then again the gain values should be the same on both sides.
If you want it to take the least amount of CPU possible, then don't use a bigger blocksize than necessary, and also don't use Miller's Pd: instead use devel_0_38 or devel_0_39, and make sure the FFTW option is enabled. You will need to download FFTW 3.x if you don't have it already.
Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju Freelance Digital Arts Engineer, Montréal QC Canada
waaah!
looks like i'm gonna have to download miller's book and study up more on how fft works.
thanks everyone. i'm gonna try all the ideas listed, and see which ones work best for me.
very very appreciated.