plltrack
Prev | Orchestra Opcodes and Operators | Next

## 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. It uses the file plltrack.csd.

Example 701. 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

Prev | Up | Next
platerev | Home | pluck