plltrack

plltrack — Tracks the pitch of a signal.

Description

plltrack, a pitch tracker based on a phase-locked loop algorithm, described in Zolzer, U, Sankarababu, S.V. and Moller, S, "PLL-based Pitch Detection and Tracking for Audio Signals. Proc. of IIH-MSP 2012".

Syntax

acps, alock plltrack asig, kd [, kloopf, kloopq, klf, khf, kthresh]

Performance

acps -- estimated pitch in Hz.

alock -- phase lock indicator, a phase error indicating the quality of the tracking, with values between 0 and 1. Higher values indicate good tracking

kd -- PLL feedback gain, controls frequency range of PLL (between 0 and 1). Higher values increase the range of the tracking.

kloopf -- PLL LP filter cf, controls frequency range of PLL (opt, defaults to 20Hz).

kloopq -- PLL LP filter Q, controls rise time of FO step (opt, defaults to 1/3)

klf -- lowest tracking freq (opt, defaults to 20Hz)

khf -- highest tracking freq (opt, defaults to 1500Hz)

kthresh -- tracking signal level threshold (optional, defaults to 0.001, equiv to -60dBfs)

plltrack analyzes the input signal, asig, estimating the fundamental of a monophonic signal. Its output is updated every sample.

Examples

Here is an example of the plltrack operator. Play plltrack.csd

Example 767. Example of the plltrack operator.

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 plltrack.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1

kd = p4
a1 diskin2 "fox.wav", 1,0,1
apitch, aloc plltrack a1, kd
krms rms a1
krms port krms, 0.01
asig buzz krms, apitch, 10, 1
     outs asig, asig		;mix in some dry signal as well

endin
</CsInstruments>
<CsScore>
f1 0 65536 10 1	;sine wave

i 1 0 6 0.1
i 1 7 6 0.3	;more feedback

e
</CsScore>
</CsoundSynthesizer>


Credits

Author: Victor Lazzarini
NUI, Maynooth.
Maynooth, Ireland
September, 2012

New in Csound version 5.18.031