[Audacity-devel] Re: leveler vs compressor [was: Effects questions]
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
From: Lynn A. <l_d...@ad...> - 2005-08-29 18:42:32
|
Martyn et'al, > > <alert comment="not an audio engineer ... may not know what I am talking about"> I think I follow your description of the Leveler effect's problems, which was very helpful. Thanks. As you mention, the Leveler effect is definitely only dealing with one frame/sample at a time. It was originally developed for the "CleanSpeech spin-off" because the 1.2.3 compressor had "overshoot" problems with vocal speech such that "pre-echos" were showing up. As an example, with a test wav file of a male voice saying "TICK TICK TICK" rather loudly with about a second between TICK's, there could be a soft, but noticable "pre-echo" showing up.(TICK is a vocal sound with a sharp, abrupt 'attack' and abrupt decresendo). As you suggested, I looked at the spectrum view of a faded-in sine wave, and can see visually what you are describing. In effect, the admittedly simplistic "Leveler" is taking a sine curve and flattening the curve at the strongest signal top for roll-off. It also rolls-off quiet signals below an "inflection point", which makes the sine curve "steeper" as it "fades-out" quiet signals. This can be seen more clearly with an grossly exaggerated test wav of 1hz and 192000 samples per second. After Leveling at the "Heavy" setting, the curve is noticeably steeper as it crosses the zero line, and flatter at the "top". The smooth sine curve becomes something more like a "round-bottom bucket" :-) I don't really understand FFT and am only vaguely knowledgable about how a complex sound is made up of "sine waves within sine waves". Thanks for your patience with this non-audio engineer. :-) My uninformed impression is that the "flattening of the strong tops" and "steepening of the soft bottoms" is producing the equivalent of "sine waves within sine waves" that the spectrum viewer reveals to be harmonics. My speculation is that the "multiple passes" results in more harmonics than a single, strong pass, which may be "smoother". I have no great "pride of authorship" of the Leveler effect (actually a smidge embarrassed at its limitations and flaws), and won't miss it ** IF ** the compressor works better with the kinds of problematic vocal speeches that CleanSpeech tackles. However ... CleanSpeech ain't tackling generated sine waves and otherwise 'sweet' recordings ... :-) I'm not convinced that the Compressor effect will work better with originals that are noisy, hissy, recorded with old, donated equipment that 'hums', and have soft sections that are not much louder than the ambient background noise. That is the 'challenge' that CleanSpeech faces ... the speaker may be shouting at times, and then whispering. The ambient noise may be quite high in the recording environment, and the equipment may add significant additional noise. The eventual end-product is a low bit-rate16-kbps mp3 for Internet broadcast/distribution. To prep this poorly recorded speech, rather drastic, strong NoiseRemoval may be applied, so the vocal quality is probably going to be more or less distorted during NR processing. There is a higher priority to "rescue" the softly spoken sections from the "muck" than preserve the fidelity of the voice. With low quality audio originals, it is an ok tradeoff if the "remote listener" hearing a 16kbps mp3 Internet broadcast perceives something like, "that doesn't really sound all that much like Joe ... like he has a cold or something ... but I can make out what he is saying when he is speaking softly a bit better. I couldn't tell what he was saying in previous broadcasts and I was always reaching for the volume knob." In other words, a fair amount of distortion during NoiseRemoval and Leveling is an acceptable trade-off so that the soft sections have greater clarity and the "remote listener" isn't using the volume control to boost softly spoken speech and lower loudly spoken sections. The Compressor Effect and the Leveler Effect may have different purposes and different fidelity expectations. The Compressor may be oriented to providing listeners an experience of having to do less turning the volume control up and down to flatten the dynamic range, while maintaining high fidelity. The Leveler Effect is oriented to "teaming up" with strong NoiseRemoval to "rescue" a softly spoken section from a rather "nasty" recording. My speculation is that some of the Audacity developers may not have all that much experience with shabbily recorded audio speech. It can be quite "ugly". A fair amount of distortion and low fidelity are acceptable for clarifying what the speaker is saying. In some sense, my response to "the Leveler introduces distortion", is something like "well, that is the nature of the problems it is banging up against" But ... it is quite likely that someone who knows what they are doing can implement a "tunable compressor" that maintains better fidelity, has minimal distortion, and can improve the clarity of softly spoken vocal speech in a noisy recording. In any case, I would (naively?) advocate that the Compressor Effect provide something of a "banana shape" so that soft sections can be "rolled off" in addtion to loud sections being "rolled off". For example, a section below -60db would be softened ("inflection point"), signals from -60db to -12db would be linearly or non-linerly increased, and signals about -12db (another "inflection point") would be decreased. I think the Compressor Effect should not worry about post-Normalization, but figure that the end-user will typically apply Normalization afterwards. my 2¢ worth :-) </alert> ----- Original Message ----- From: "Anthony Airon Oetzmann" <ai...@gm...> To: <aud...@li...> Sent: Monday, August 29, 2005 12:08 AM Subject: Re: [Audacity-devel] Effects questions > On Sun, 28 Aug 2005 14:57:46 -0700, Dominic Mazzoni wrote: > > >Martyn, > > > >Great analysis and description of a leveler vs compressor. I'm not > >sure if 'leveler' is a standard term, but if we choose to call it > >that, isn't a leveler just a special case of a general compressor, > >then? In other words, a compressor is a combination of two different > >things: > > > >1. An envelope follower > >2. A transfer function > > > >Lynn's leveler implements only the second. My compressor implements > >both, but it has a poorly tuned envelope follower (with no user- > >controllable sliders) and a rather basic transfer function. > > > >So, ideally, we should eventually hope to create one ideal > >compressor, with a parameterized envelope follower (with sliders for > >response time and lookahead) and a choice of transfer functions. If > >the user sets the response time and lookahead to zero, it becomes a > >leveler. > > A leveler would be an accurate term. Audio folks use that term to describe > a compressor setting that does pretty much what this leveler does here. > > Tony > ----- Original Message ----- Martyn wrote: The leveller: It would appear that you are adjusting the amplitude of each sample depending on it's magnitude, independent of other samples. This can be illustrated in the following way: Generate a 2 second, 1Hz sawtooth Select the second cycle Reverse in to get overall an up and down ramp Select the whole waveform Apply the leveller, light, -70dB Now, the shape of the waveform is the same, in a sense, on both the up and down ramps, indicating that previous samples do not affect the current one. Looking at the first cycle gives a nice graphical representation of the 'transfer function' of your leveller. Since it is not a straight line it produces distortion, which may or may not be audible. I may have been harsh comparing it to a fuzz box but if you do the leveller on Heaviest, it's not far out. Now to demonstrate the distortion another way. Generate a sine wave, 1 second long at 440Hz. Listen to this. A pure tone. Use the little down-arrow next to where it says 'Audio Track' and select Spectrum. You should see a single, coloured, horizontal line - this represents the single tone (frequency) that you have generated. (If you see more horizontal lines you may need to get the patch I made to FFT). Select the entire waveform. Apply 'Fade in' Apply 'Leveller' light -70dB See the extra harmonics being produced? I see one appearing at about 0.3s and another 0.7s and a few more minor ones. Once the signal gets about your thresholds and 'bent' more it produces more harmonics. Listen to this - can you hear the distortion? In comparison, a compressor turns the gain up and down much more slowly, depending on the average of the waveform over a period of time (it's 'envelope'). There are many algorithms for doing this but all of them use a section of the waveform of at least as long as one cycle of the lowest frequency component present, otherwise they exhibit distortion effects. They can still react quite quickly however, say in a few 10s of ms, if required. This is also why they exhibit overshoot when the signal rises very quickly - the gain isn't turned down for a while (this can be addressed in non-real time compressors however by looking 'into the future' when calculating the envelope). You can find a good explanation of compression at http://www.harmony-central.com/Effects/Articles/Compression/ Having said all this, if you are happy with the improvement that you are getting in your recordings, who am I to criticise? I just thought it better to be aware of what is going on. HTH Martyn |