Ky

Check from where you make music.

Every integration does the same three things: takes the MIDI, sends it to Ky, opens the result. The first time, it asks you to connect — a code, a click, done. Keys live under Plugins & API keys.

Suno and Udio — Chrome extension

Download a MIDI from a song's menu (Suno: ··· → Get MIDI; Udio: Download → MIDI) and Ky checks it and shows a notification. Drop any MIDI file on the Ky popup to check it directly.

Get the extension Load it unpacked from plugins/browser-extension (chrome://extensions → Developer mode → Load unpacked). Web Store listing to follow.

REAPER — ReaScript

Select MIDI items, run Check with Ky. The notes go straight from REAPER to Ky and the result opens in your browser.

Get KY_Check.lua Actions → Show action list → ReaScript: Load…

Ky Drop — any DAW that exports MIDI

Logic Pro, GarageBand, Cubase, Pro Tools, Studio One, Bitwig, Reason, Dorico, Sibelius, Finale: export MIDI into the Ky Drop folder and it is checked automatically. One small script watches the folder.

python ky.py connect      # once
python ky.py watch        # watches ~/Ky Drop

Get ky.py Python 3, no dependencies.

Command line

The same script checks files directly: python ky.py check song.mid other.mid.

MuseScore 4

Plugins → Check with Ky exports the open score into Ky Drop; with ky.py watch running, the result opens on its own.

Get the MuseScore plugin

Your own tool

The protocol is three HTTP calls and is documented here. Device-code connect, then POST /api/v1/check, then poll.

Everything, including what's coming