Learn R Programming

seewave (version 2.1.6)

preemphasis: Pre-emphasis speech filter

Description

A pre-emphasis frequency filter for speech

Usage

preemphasis(wave, f, channel = 1, alpha = 0.9,
plot = FALSE, output = "matrix", ...)

Arguments

wave

an R object.

f

sampling frequency of wave (in Hz). Does not need to be specified if embedded in wave.

channel

channel of the R object, by default left channel (1).

alpha

time constant, see Details.

plot

a logical, if TRUE plots the spectrogram of the filtered wave and the frequency response of the comb filter.

output

character string, the class of the object to return, either 'matrix', 'Wave', 'Sample', 'audioSample' or 'ts'.

other arguments to be passed to spectro except scale and osc that are set by default to FALSE.

Value

A new wave is returned. The class of the returned object is set with the argument output.

Details

The function applies a pre-emphasis filter usually applied in speech analysis. The filter is a kind of high-pass frequency filter that amplifies the high-frequency content of the sample. The filter is defined with: $$y(n) = x(n) - \alpha \times x(n - 1)$$ where alpha is a time constant usually set between 0.9 and 1.

The frequency response of the filter is obtained with: $$H(f)=1+a^{2}-2 \times \alpha \times \cos(2 \times \pi \times f/f_{s})$$

See Also

bwfilter, combfilter, ffilter, fir,lfs, afilter

Examples

Run this code
# NOT RUN {
data(sheep)
fc <- 150
f <- sheep@samp.rate
alpha <- exp(-2*pi*fc/f)
res <- preemphasis(sheep, alpha=alpha, output="Wave")
# }

Run the code above in your browser using DataLab