Filtering

This tutorial describes the use of filtering techniques in Praat. It assumes you are familiar with the Intro.

Frequency-domain filtering

Modern computer techniques make possible an especially simple batch filtering method: multiplying the complex spectrum in the frequency domain by any real-valued filter function. This leads to a zero phase shift for each frequency component. The impulse response is symmetric in the time domain, which also means that the filter is acausal: the filtered signal will show components before they start in the original.

Spectrum: Filter (pass Hann band)...
Spectrum: Filter (stop Hann band)...
Sound: Filter (pass Hann band)...
Sound: Filter (stop Hann band)...
Sound: Filter (formula)...

Spectro-temporal:

band filtering in the frequency domain

Fast time-domain filtering

Some very fast Infinite Impulse Response (IIR) filters can be defined in the time domain. These include recursive all-pole filters and pre-emphasis. These filters are causal but have non-zero phase shifts. There are versions that create new Sound objects:

Sound: Filter (one formant)...
Sound: Filter (pre-emphasis)...
Sound: Filter (de-emphasis)...

And there are in-place versions, which modify the existing Sound objects:

Sound: Filter with one formant (in-place)...
Sound: Pre-emphasize (in-place)...
Sound: De-emphasize (in-place)...

Convolution

A Finite Impulse Response (FIR) filter can be described as a sampled sound. Filtering with such a filter amounts to a convolution of the original sound and the filter:

Sounds: Convolve...

Described elsewhere

Described in the Source-filter synthesis tutorial:

Sound & Formant: Filter
Sound & FormantGrid: Filter
LPC & Sound: Filter...
LPC & Sound: Filter (inverse)

Links to this page


© ppgb 20100324