Sign in

username:

password:



Not a member?

Search compdsp



Search tips

comp.dsp by Keywords

Adaptive Filter | ADPCM | ADSP | ADSP-2181 | Aliasing | AMR | Anti-Aliasing | ARMA | Autocorrelation | AutoCovariance | Beamforming | Bessel | Blackfin | Butterworth | C6713 | CCS | Chebyshev | CIC Filter | Circular Convolution | Code Composer Studio | Comb Filter | Compression | Convolution | Cross Correlation | DCT | Decimation | Deconvolution | Demodulation | DM642 | DSP Boards | DSP/BIOS | DTMF | Echo Cancellation | Equalization | Equalizer | ETSI | EZLITE (Ez-kit Lite) | FFT | FFTW | FIR Filter | Fixed Point | FSK | G.711 | G.723 | G.729 | Gaussian Noise | Goertzel | GPIO | Hilbert Transform | IFFT | IIR Filter | Interpolation | Invariance | JTAG | Kalman | Laplace Transform | Levinson | LPC | McBSP | MIPS | Modulation | MPEG | Multirate | Notch Filter | Nyquist | OFDM | Oversampling | Pink Noise | Pitch | PLL | Polyphase | QAM | QDMA | Quantization | Quantizer | Radar | Random Noise | Reed Solomon | Remez | Resampling | RTDX | Sampling | Sharc | TI C6711 | Undersampling | Viterbi | Wavelets | White Noise | Wiener Filter | Windowing | XDS510PP | Z Transform

Sponsor

Industry's highest performing at the lowest power DSPs now as low as $5.00*
Start development today!
*volume pricing for 10ku

Discussion Groups

Free Online Books

See Also

Embedded SystemsFPGAElectronics

Discussion Groups | Comp.DSP | Envelope Follower

There are 3 messages in this thread.

You are currently looking at messages 0 to 3.


Envelope Follower - Guru Bug - 2004-05-14 11:58:00

Hi,

i´m new to dsp (since few weeks) , so i hope anyone could help me:

I´m coding a audio dynamik-tool (vst) and need a good
Envelope-Follower/Detection.

I´ve  allready tried some different ways:

1. Simply abs and lowpass filter - problems:
- ripples in low frequencies,
- not linear in frequency reaction below ~100 Hz

2. same as (1) but with different Attack & Release rates for inc/dec -
problems:
- same as (1) + attack/release in LP is cricical, one way to many ripples,
  other way to slow reaction on the peaks.

3. 90° Phase Shift (Hilbert-Transform) and something like env=sqrt(x(n)^2 +
ht(n)^2) - problems:
- to slow: my Hilbert Code had 2 Loops, so Buffersize^2 calcs. Can use a FIR
Filter but:
- does not work in realtime on low frequencyies with small buffers (128/256
or 512 Samples),
  because the needed Samples are not yet present.

It would help me very much if anybody knows a fast efficient way for an
Envelope-Follower which
is linear in frequency reaction and produces an Envelope without much
ripples but also detects
new peaks fast enough.
The envelope-curve should be as smooth as the LP-Version but without the
ripples and linear on
all frequencies. I know *all* this together is not 100% possible, but i try
to find the best solution :-)

Thanx in advance ...
Guru Bug


______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: Envelope Follower - Fred Marshall - 2004-05-14 18:21:00



"Guru Bug" <g...@sound-labs.com> wrote in message
news:c82q9a$s2s$07$1...@news.t-online.com...
> Hi,
>
> i´m new to dsp (since few weeks) , so i hope anyone could help me:
>
> I´m coding a audio dynamik-tool (vst) and need a good
> Envelope-Follower/Detection.
>
> I´ve  allready tried some different ways:
>
> 1. Simply abs and lowpass filter - problems:
> - ripples in low frequencies,
> - not linear in frequency reaction below ~100 Hz

You need to define your requirements better.
For example, if you're going to admit very low frequencies then how do you
differentiate between envelope and the underlying waveform?
Maybe one way to envision what you want is to high-pass filter the data
first and then abs and then lowpass such that the lowpass is below the high
pass that was applied.

Have you considered a sample-hold sort of process where the output is:
yn(nT) = peak picked out of x at t=T
yk(kT) = next peak picked out of x at k>n
etc.
where k is related to n by some integral multiple of the underlying sample
interval "T".
so you have:
y(iT)=yn for t=nT to (k-1)T
y(it)=yk for t=kT to ......
etc.
Then lowpass filter the result according to your requirements.
This is equivalent to lowpass filtering with a sinc-shaped filter first and
may be easier computationally than actually applying the same filter.

Fred


______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: Envelope Follower - Ben Bradley - 2004-05-17 01:39:00

On Fri, 14 May 2004 15:21:27 -0700, "Fred Marshall"
<fmarshallx@remove_the_x.acm.org> wrote:

>
>"Guru Bug" <g...@sound-labs.com> wrote in message
>news:c82q9a$s2s$07$1...@news.t-online.com...
>> Hi,
>>
>> i´m new to dsp (since few weeks) , so i hope anyone could help me:
>>
>> I´m coding a audio dynamik-tool (vst) and need a good
>> Envelope-Follower/Detection.
>>
>> I´ve  allready tried some different ways:
>>
>> 1. Simply abs and lowpass filter - problems:
>> - ripples in low frequencies,
>> - not linear in frequency reaction below ~100 Hz
>
>You need to define your requirements better.
>For example, if you're going to admit very low frequencies then how do you
>differentiate between envelope and the underlying waveform?

   This is a "known problem" for audio envelope followers. Go to
http://www.fmraudio.com, go to the FAQ and to the question:
"Why does the RNC distort my bass guitar?"

-----
http://mindspring.com/~benbradley
______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.