tnee.
docs/commands/MIDI editing

MIDI editing:
write, read, reshape.

tonee can read and write note data inside any MIDI clip. Write patterns in plain language, transpose them, shift them, or clear regions. All reversible as a single commit.

01 /Note operations

Three core operations (read, add, remove) plus higher-level edits like transpose and time-shift that tonee implements by combining them.

add notesreversible

tonee generates the note data and writes it to the clip. Existing notes are not cleared, so specify "replace" if you want a clean write.

"write a 4-bar bass line in Am on the sub bass, scene 1"
read notesread-only

Returns all notes with pitch, start, duration, velocity. Optionally filter by time range: "notes between beats 4 and 8".

"what notes are in the lead clip, scene 2?"
remove notesreversible

Deletes notes in a time×pitch region. Defaults to the full clip if no range is given.

"clear the bass line in scene 1" / "remove all C notes"
transposereversible

tonee reads the notes, shifts each pitch by the specified interval, clears the clip, and rewrites. All as one commit.

"transpose the lead pattern up a minor third"
shift in timereversible

Reads notes, shifts start positions, rewrites. Notes are clamped to >= 0 so nothing falls before bar 1.

"push the whole pattern one beat later"
Transpose / shift are one commit: tonee reads the notes, computes the changes, clears the clip, and rewrites, all inside a single cell. One undo brings back the original pattern.

02 /Note format

Every note has five fields. You don't need to think in these terms when talking to tonee (say "a dotted eighth A3 at beat 2, soft"), but this is what's written to the clip.

field
type / range
detail
pitch
int · 0-127
MIDI pitch. Middle C = 60. C4 = 60, A4 = 69. Say note names and tonee converts.
start
float · beats
Position from clip start, in beats. 0 = bar 1 beat 1. 1.0 = second quarter note. 0.25 = first sixteenth.
duration
float · beats
Length in beats. Must be > 0. 1.0 = quarter note, 2.0 = half note, 0.5 = eighth note.
velocity
int · 0-127
MIDI velocity. Default: 100. 0 = silent, 127 = maximum. Say "soft", "hard", a percentage, or a raw number.
mute
bool
Per-note mute. Default: false. Muted notes are stored but don't play.
duration reference
4.01 bar (4/4)
2.0half note
1.0quarter note
0.5eighth note
0.25sixteenth note
0.167triplet eighth
pitch reference
60C4 (middle C)
69A4 (440 Hz)
48C3
36C2
24C1
21A0 (lowest piano)

03 /Editing patterns

tonee sees your existing MIDI before touching it. When you ask to edit a pattern, it reads the current notes, applies your change, and rewrites, so nothing unexpected gets overwritten.

Rewrite a section
"replace bars 3-4 with a fill"
"clear everything after beat 8 and write a turnaround"
Selective edits
"remove all the E notes in the first two bars"
"add a kick on beat 3 of every bar"
Pattern generation
"write a 16th-note hi-hat pattern with occasional 32nds"
"write a chord voicing for Cm7 on beat 1 of each bar"
No built-in quantize
"snap all notes to the 16th-note grid"
tonee implements this by reading notes and rounding start/duration values manually.
Say "replace" when rewriting: add_notes doesn't clear first. If you ask to "write a new bass line" without clearing, tonee will add notes on top of what's already there. Say "replace the bass line" or "clear it first, then write" to get a clean result.

04 /Limits

Clip name / loop
Setting clip name, loop start/end, and warp markers is not exposed in the facade layer. Ask for these to be added if you need them.
No built-in quantize
There's no quantize command. tonee can write notes to a grid manually. Just specify the grid: "write a 16th-note hi-hat pattern".
No duplicate detection
add_notes doesn't de-duplicate. Adding the same note twice creates two overlapping copies. Use "replace" phrasing when rewriting.
Notes outside clip length
Notes can be written past the end of the clip. They're stored but won't play until the clip is extended in Live.
Audio clip content
Audio clips have no note data. MIDI operations only apply to MIDI clips.
© 2026 tonee studio
tonee is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Ableton AG. Ableton® and Push® are registered trademarks, and Live™ and Max for Live™ are trademarks, of Ableton AG.