Skip to content

sig.filterbank

Olivier Lartillot edited this page Jul 19, 2019 · 5 revisions

It is often interesting to decompose the audio signal into a series of audio signals of different frequency register, from low frequency channels to high frequency channels. This enables thus to study each of these channels separately. The decomposition is performed by a bank of filters, each one selecting a particular range of frequency values.

Flowchart interconnections

sig.filterbank accepts as input data type either:

  • sig.signal objects, where the audio waveform can be segmented (using sig.segment),

  • file name(s), 'Folder' or 'Folders' keywords, etc.

Frame decomposition

sig.filterbank('Frame',…) performs a frame decomposition after filterbank decomposition, with by default a frame length of 500 ms and 10% overlapping. For the specification of other frame configuration using additional parameters, cf. this page.

Filterbank specification

sig.filterbank(…,'CutOff',f) specifies an array of non-overlapping low-pass, band-pass and high- pass eliptic filters (Scheirer, 1998). The array of cut-off frequencies f has to be specified as next parameter. This parameter needs to be specified.

  • If this array of frequencies begins with -Inf, the first filter is low-pass.
  • If this array of frequencies ends with Inf, the last filter is high-pass.

sig.filterbank(…,'Order',o) specifies the order of the filters. The default is set to o = 4 (Scheirer, 1998)

sig.filterbank(…,'Hop',h) specifies the degree of spectral overlapping between successive channels.

  • If h = 1 (default value), the filters are non-overlapping.
  • If h = 2, the filters are half-overlapping.
  • If h = 3, the spectral hop factor between successive filters is a third of the whole frequency region, etc.

sig.filterbank(…,'Channel',c) – or sig.filterbank(…,'Channels',c) – only output the channels whose ranks are indicated in the array c (default: c = (1:N), where N is the number of channels )

Auditory model

Auditory modelling of filterbank decomposition is available in aud.filterbank.

Clone this wiki locally