Node.js “Correct Piano Player”

Uncategorized

I cannot share more as this project were funded from a customer so — if yo uneed mreo info contact me in private

MIDI & Live-Audio scale correction (play any notes → it stays in key)

I built a Node.js processor that:

  • Listens to MIDI from your keyboard
  • Optionally listens to live audio from your set (mic/line-in)
  • Quantizes everything to the chosen root + scale, so notes are always in key
  • Outputs corrected MIDI (for synths/DWs), and publishes correction data you can use to drive pitch-correction on audio

Signal flow

MIDI Keyboard / Audio In → Node Translator → Scale Quantizer → Corrected MIDI (and pitch ratio for audio) → DAW/Synth

Highlights

  • Any scale: Major, Natural/Harmonic/Melodic Minor, Dorian, Phrygian, Lydian, Mixolydian, Pentatonics, Chromatic, custom sets
  • Per-scene presets (root/scale/octave policy)
  • Velocity, aftertouch, sustain, mod-wheel pass-through
  • Optional audio pitch detection → sends a pitch-shift ratio you can apply in your DAW (Auto-Tune, ReaPitch, Elastic Pitch, etc.)

Config tips

  • Latency: Keep your DAW’s pitch-shifter at low window sizes for live sets.
  • Octave policy: wrap keeps original octave feel; fixedUp/Down force direction.
  • Scenes: Store {root, scale, octavePolicy} per song/scene and switch via a CC or OSC flag.

What you get

  • A reliable MIDI quantizer that “fixes” keyboard playing to any key/scale.
  • A practical audio helper that tells your DAW exactly how much to shift to stay in key.
  • Clean, small codebase you can extend with:
    • Per-track rules
    • Chord-hold / arpeggiator
    • OSC control for scale changes

If you want, I can package this into a CLI tool (with config files + OSC output) or tailor it to your live setup.

Share this