gtf — Apply a gammatone filter to an audio signal.
idecay -- rate of decay
iorder -- (optional) Order of filter in rangs 1 to 10 defaulting to 4.
iphase -- (optional) Phase output, defaulting to zero.
asig -- audio signal to be filtered.
kfreq -- central frequency of filter in Hertz.
The gammatone filter is commonly used in models of the auditory system. The algorithm is based on Martin Cooke's Ph.D work (Cooke, 1993) using the base-band impulse invariant transformation. See http://staffwww.dcs.shef.ac.uk/people/N.Ma/resources/gammatone/
Here is an example of the gtf opcode. Play gtf.csd
Example 407. Example of the gtf opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o gtf.wav -W ;;; for file output any platform ; By Stefano Cucchi 2020 </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 kcps init cpspch(p4) asig1 vco2 0.5, kcps ; SOUND kfreq1 linseg p5, p3, p6 ; frequency filter 1 kfreq2 expseg p6, p3, p5 ; frequency filter 2 idecay = p7 ; keep it very small afilter1 gtf asig1, kfreq1, idecay ; SOUND - filter 1 afilter2 gtf asig1, kfreq2, idecay ; SOUND - filter 2 aref oscili 0.25, 440 ; AMPLITUDE reference afilter1 balance afilter1, aref ; compare filtered SOUND with reference afilter2 balance afilter2, aref ; ; compare filtered SOUND with reference outs afilter1, afilter2 endin </CsInstruments> <CsScore> i 1 0 5 6.00 200 12000 0.1 i 1 5 5 6.00 200 12000 0.01 e </CsScore> </CsoundSynthesizer>