OpenUtau.AIAutoTunePlugin is a managed OpenUtau piano-roll plugin that ports the ai-auto-tune branch behavior into the managed batch-edit API. It adds one contextual action under the piano-roll Notes menu:
AI Auto Tune
The action generates PITD pitch deviations for the current selection using the pitch.onnx model from the aiautotune release of hilmiyafia/openutau.
- Splits the current note selection into contiguous phrases.
- Builds the same 6-channel ONNX input tensor used by the
ai-auto-tunebranch. - Filters generated frames through phoneme timing windows so pitch is only written where the phrase is actually sung.
- Finds the nearest note using the final branch distance rule and converts absolute model output into relative
PITD. - Replaces only the affected span of the existing
PITDcurve, preserving unrelated pitch data outside the generated range.
This plugin ports the final behavior of the ai-auto-tune branch, starting from commit 1959cd04fe3475b03848494d8b11fde4d120a1a1 and including later fixes from the same branch:
- singer-local model lookup with fallback,
- phoneme-window rest filtering,
- phrase-based processing,
MergedSetCurveCommandwriteback,- part-local PITD coordinates,
- empty-phrase skip behavior.
The project expects pitch.onnx to sit next to the plugin assembly at runtime. The repository copy should match the public release asset:
- Release:
https://github.com/hilmiyafia/openutau/releases/tag/aiautotune - Asset:
https://github.com/hilmiyafia/openutau/releases/download/aiautotune/pitch.onnx - Published: December 7, 2025
- Asset digest:
sha256:ce000b0195265f8d221e655271c4fbdcc063c22716298be4a71d005598e6bf3a
Runtime model search order:
<Singer.Location>\pitch.onnx<Singer.Location>\model.onnx<PluginDirectory>\pitch.onnx<PluginDirectory>\model.onnx<OpenUtau Plugins>\pitch.onnx<OpenUtau Plugins>\model.onnx
dotnet build OpenUtau.AIAutoTunePlugin\OpenUtau.AIAutoTunePlugin.csproj -m:1Build output:
OpenUtau.AIAutoTunePlugin\bin\Debug\net8.0\OpenUtau.AIAutoTunePlugin.dllOpenUtau.AIAutoTunePlugin\bin\Debug\net8.0\pitch.onnx
Copy the plugin output directory, or the staged demo output, into OpenUtau's data Plugins folder:
Plugins\OpenUtau.AIAutoTunePlugin\
OpenUtau.AIAutoTunePlugin.dll
pitch.onnx
README.md
Restart OpenUtau after copying the files.
- Open a project and enter the piano roll.
- Select one note phrase or leave no selection to target the whole part.
- Open
Notes. - Confirm the submenu
OpenUtau AI Auto Tuneis present. - Click
AI Auto Tune. - Wait for the processing dialog to complete.
- Inspect the
PITDcurve or listen back to confirm pitch data was generated for the selected phrase.
- The model file is required. The plugin fails clearly if
pitch.onnxormodel.onnxcannot be found in any supported location. - The action writes
PITD; it does not convert the result into note-local pitch points. - Output quality depends on the model asset and the validated phoneme timing available in the current part.