Wherein we present the modest details of the CCPitchTrack node (chugin). Right-click to copy this example to your workspace.
CCPitchTrack is a monophonic autocorrelation pitch tracker with a fast response and extremely high accuracy, even at low frequencies. It is adapted from [helmholtz~] for Pd by Katja, excellently documented here.
CCPitchTrack is a sibling of NSPitchTrack that produces CC events rather than notes. Thus you can easily produce tracking plots via CCPlot or just peruse the tracking output in the log. This may be convenient during a recording session to ensure that you are in tune.
inlet
connect an input audio signal for pitch tracking.
Controller
optional connection point to automate parameters.
PrintNotes
when checked, we log occasional messages indicating the
nearest note. This can be helpful in a recording context to ensure
you're in tune.
SampleRate
the rate we consult the pitch tracker's analysis.
Fidelity
a threshold for certainty about the result. A highly periodic
signal (ie one that has a strong pitch center) should produce a result with a
high fidelity, which a non-periodic signal (eg noise) will have a very low
fidelity. Setting this parameter close to 1 should reduce the number of
inaccurate reports.
Sensitivity
the minimum RMS value to trigger a pitch calculation. Setting
this parameter low forces PitchTracker to attempt to find the pitch of even
very quiet sounds. Higher values will cause it to trigger only on louder notes.
Overlap
sets the overlap between successive analysis frames. Higher values
should produce smoother values, at the cost of an increase of CPU load.
Frame
sets the size of the analysis window, measured in samples.
QuantizeFreq
causes sucessful frequency results to be quantized to the
nearest MIDI note.
DiffThreshold
When 0, we produce a CC value at sample rate whenever a
note is detected. Otherwise, we only produce a CC when the last reported
note differs by this threshold, measured in semitones.
CCAliases
an optional connection point to rename the "Pitch" and "Note"
CC channels to another name.
Here's a potentially useful rig to record a guitar session. The input signal is routed both the the PitchTracker (to ensure we're in tune) and the LkCryBaby node which is receiving CC messages from an expression pedal to control the Wah.