Skip to content
Voro
  1. Audio
  2. Control

Pitch Convert

Pitch Convert translates MIDI note-number control streams into musically useful formats: hertz for oscillator frequency, pitch class for visualization, scale degree for harmonic analysis, or quantized note/hertz for snapping to a scale. Wire a Scale Source into the optional scale input for key-aware quantization and degree output.

Place Pitch Convert after any node that outputs MIDI note numbers as control_f32_v1 (typically the pitch channel from MIDI Note, or the output of a compose node). Optionally wire a Scale Source into the second input for scale-aware modes. Wire the output into an oscillator frequency input, a TouchDesigner parameter, or a visualization.

  • Input 0: note — control_f32_v1 (required). The note-number stream to convert.
  • Input 1: scale — scale_v1 (optional). Provides key and scale degrees from Scale Source. Without it, the plugin falls back to chromatic C.
  • Output 0: out — control_f32_v1. The converted value, broadcast to all output channels.
  • Mode — Output format: hertz, pitch_class (0-11), scale_degree (index into the current scale), quantized_note (snapped MIDI note number), or quantized_hertz (frequency of the nearest scale tone).
  • Pitchchannel — Which input channel to read the note number from. Default 0.
  • Transpose — Semitone offset applied before conversion. Range -96 to +96.
  • A4hz — Reference frequency for A4. Default 440 Hz. Adjustable for alternate tunings.
  • Snap — When on, notes not in the current scale snap to the nearest scale tone. When off, non-scale notes return degree -1 in scale_degree mode.
  • Stateless processor; no allocation or state management needed.
  • Reveal channels show the last converted note, hertz, degree, pitch class, scale root, scale size, scale presence, and snap delta.

Inputs

  • note row required
    control_f32_v1
  • scale row
    scale_v1

Outputs

  • out row
    control_f32_v1
Mode (Mode) Menu op('pitch_convert').par.Mode
Default:
hertz
Options:
hertz, pitch_class, scale_degree, quantized_note, quantized_hertz
Pitchchannel (Pitchchannel) Int op('pitch_convert').par.Pitchchannel
Default:
0
Range:
0 to 63
Transpose (Transpose) Float op('pitch_convert').par.Transpose
Default:
0
Range:
-96 to 96
A4hz (A4hz) Float op('pitch_convert').par.A4hz
Default:
440
Range:
1 to 20000
Snap (Snap) Toggle op('pitch_convert').par.Snap
Default:
On
Options:
Off, On