Pełna lista metod OmniDAW API 0.21.0 (102), wygenerowana z katalogu (api.methods) działającego Omni, więc zawsze zgadza się z API. Przy każdej metodzie widać jej efekt (zob. Protokół i konwencje), parametry oraz linię zapytania wysyłaną przez połączenie.
Parametry są obiektami zamkniętymi: nieznane lub źle napisane pole to błąd invalid_params. Tor wskazuje się przez id (UUID jako tekst) albo 0-bazowy index. Czas jest zawsze w beatach, poziomy w dB. Opisy metod są po angielsku: to ten sam tekst, który model AI dostaje jako opis narzędzia.
Sesja
Informacje o projekcie i zapis.
session.info
Session Info · Efekt: read · idempotentna · od wersji 0.1.0 · narzędzie MCP: session_info
Overview of the open project: name, unsaved changes, sample rate, number of tracks, scenes and return buses, and whether the audio engine runs. Call this first to orient yourself.
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"session.info","params":{}}
session.save
Save Project · Efekt: control · idempotentna · od wersji 0.10.0 · narzędzie MCP: session_save
Save the project with its audio collected next to it, to its own file or to an absolute .omni path (a new name becomes the project's). Does not overwrite another existing file unless asked.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
overwrite | boolean | Replace another existing file (default false). | |
path | string | Absolute .omni path (default: the project's own). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"session.save","params":{"path":"C:/Music/song.omni"}}
Transport
Odtwarzanie, zatrzymanie, przewijanie i tempo projektu.
transport.get
Transport State · Efekt: read · idempotentna · od wersji 0.1.0 · narzędzie MCP: transport_get
Play / record state, tempo (BPM), time signature and the playhead position in beats.
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"transport.get","params":{}}
transport.play
Play · Efekt: control · idempotentna · od wersji 0.1.0 · narzędzie MCP: transport_play
Start playback from the playhead. Does nothing if already playing.
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"transport.play","params":{}}
transport.stop
Stop · Efekt: control · idempotentna · od wersji 0.1.0 · narzędzie MCP: transport_stop
Stop playback (and a running recording, which is then kept).
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"transport.stop","params":{}}
transport.set_tempo
Set Tempo · Efekt: edit · idempotentna · od wersji 0.1.0 · narzędzie MCP: transport_set_tempo
Set the project tempo in BPM (40-240). Arrangement clips keep their musical position. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bpm | number | tak | Tempo in beats per minute. Zakres: 40 to 240. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"transport.set_tempo","params":{"bpm":124.0}}
transport.seek
Move Playhead · Efekt: control · idempotentna · od wersji 0.1.0 · narzędzie MCP: transport_seek
Move the playhead to a song position in beats (0 = song start).
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
beat | number | tak | Song position in beats. Zakres: 0 to 1000000. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"transport.seek","params":{"beat":16.0}}
Mapa tempa
Zmiany i rampy tempa w czasie utworu, zmiany metrum.
tempo.get
Get Tempo Map · Efekt: read · idempotentna · od wersji 0.18.0 · narzędzie MCP: tempo_get
The project tempo, the tempo map (tempo changes and ramps over the song) and the time signature changes.
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"tempo.get","params":{}}
tempo.set_map
Set Tempo Map · Efekt: edit · idempotentna · od wersji 0.18.0 · narzędzie MCP: tempo_set_map
Replace the tempo map: points at song beats with a tempo, each a step or a linear ramp to the next. Timeline clips, automation, markers and the loop stay on their beats. Empty points = one tempo (transport.set_tempo). A step at a section boundary plays exactly; a ramp inside a MIDI clip is followed block by block. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
points | {beat, bpm, curve}[] | tak | Tempo points in time order. Do 256 elementów. |
Pola points[]:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
beat | number | tak | Song position in beats. Zakres: 0 to 1000000. |
bpm | number | tak | Tempo from here. Zakres: 20 to 999. |
curve | string | step = jump here, linear = ramp to the next point. Jedna z: step, linear. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"tempo.set_map","params":{"points":[{"beat":0,"bpm":174},{"beat":96,"bpm":174,"curve":"linear"},{"beat":128,"bpm":160}]}}
tempo.set_time_signatures
Set Time Signatures · Efekt: edit · idempotentna · od wersji 0.18.0 · narzędzie MCP: tempo_set_time_signatures
Replace the time signature changes: from a bar on, so many beats of a unit (7/8, 3/4, …). Empty = the project signature everywhere. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
points | {bar, denominator, numerator}[] | tak | Signature changes in bar order. Do 256 elementów. |
Pola points[]:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bar | integer | tak | Bar (0-based) where it starts. Zakres: 0 to 100000. |
denominator | integer | tak | Beat unit. Jedna z: 1, 2, 4, 8, 16, 32. |
numerator | integer | tak | Beats per bar. Zakres: 1 to 32. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"tempo.set_time_signatures","params":{"points":[{"bar":0,"denominator":4,"numerator":4},{"bar":16,"denominator":8,"numerator":7}]}}
Groove
Groove projektu (swing, humanize) i tory grające prosto.
groove.get
Get Groove · Efekt: read · idempotentna · od wersji 0.18.0 · narzędzie MCP: groove_get
The project groove every clip follows (unless its track opts out): style, amount, grid, accent, lean, humanize; and which tracks play straight.
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"groove.get","params":{}}
groove.set
Set Groove · Efekt: edit · idempotentna · od wersji 0.18.0 · narzędzie MCP: groove_set
Change the project groove (fields left out stay): style (straight, mpc, jazz, nested, push, drunk, samba, waltz, custom), amount 0-1, grid 8th/16th/32nd, accent, lean_ms, humanize_ms, humanize_vel, seed. Picking a style without amount or grid takes the style's own. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
accent | number | Depth of the style's dynamics. Zakres: -1 to 1. | |
amount | number | 0 = straight, 1 = the style's full shape. Zakres: 0 to 1. | |
grid | string | Subdivision that swings. Jedna z: 8th, 16th, 32nd. | |
humanize_ms | number | Random timing up to this many ms. Zakres: 0 to 30. | |
humanize_vel | number | Random velocity, 0-1. Zakres: 0 to 1. | |
lean_ms | number | Beats 2 and 4 late (+) or early (-). Zakres: -40 to 40. | |
seed | integer | Humanize seed. Zakres: 0 to 4294967295. | |
style | string | Groove style. Jedna z: straight, mpc, jazz, nested, push, drunk, samba, waltz, custom. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"groove.set","params":{"amount":0.55,"humanize_ms":4,"style":"mpc"}}
groove.set_track
Track Groove · Efekt: edit · idempotentna · od wersji 0.18.0 · narzędzie MCP: groove_set_track
Whether a track follows the project groove (false = it plays straight, e.g. a tight bass under swung hats). Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
follow | boolean | tak | Follow the groove. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"groove.set_track","params":{"follow":false,"track":1}}
Tory
Tworzenie, edycja, przesuwanie, duplikowanie i usuwanie torów; wybór instrumentu.
tracks.list
List Tracks · Efekt: read · idempotentna · od wersji 0.1.0 · narzędzie MCP: tracks_list
Every track in mixer order with its id, kind (midi/audio/group/vca), instrument, fader (dB), pan, mute/solo/arm, colour, group, insert effects and send levels. Use the ids in later calls; indices shift when tracks move.
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"tracks.list","params":{}}
tracks.create
Create Track · Efekt: edit · od wersji 0.1.0 · narzędzie MCP: tracks_create
Add a track at the end. kind 'midi' plays notes through an instrument: pass an instrument from instruments.list: a builtin URI or an installed plugin (its uri = path, or its name). Without one the track is silent. Plugins load in the background: their parameters show in params.list a moment later. kind 'audio' plays samples. Returns the new track. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
instrument | string | instruments.list uri (builtin or plugin) or plugin name (MIDI only). | |
kind | string | tak | Track type. Jedna z: midi, audio. |
name | string | Track name (default: the instrument's name). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"tracks.create","params":{"instrument":"builtin://omni-synth","kind":"midi","name":"Bass"}}
tracks.update
Update Track · Efekt: edit · idempotentna · od wersji 0.1.0 · narzędzie MCP: tracks_update
Change a track's name, fader (volume_db, up to +6 dB), pan (-1..1), mute, solo or colour. Only the fields given change. Returns the track. One undo step (solo is monitoring and is not recorded).
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
color | string | Colour as #rrggbb. | |
mute | boolean | Mute. | |
name | string | New name. | |
pan | number | Pan, -1 left .. +1 right. Zakres: -1 to 1. | |
solo | boolean | Solo. | |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
volume_db | number | Fader in dB; -120 or lower = fully down. Zakres: -200 to 6. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"tracks.update","params":{"pan":-0.2,"track":0,"volume_db":-6.0}}
tracks.delete
Delete Track · Efekt: destructive · od wersji 0.2.0 · narzędzie MCP: tracks_delete
Delete a track with its clips, devices and automation. Groups are not deleted this way (ungroup first). Indices of later tracks shift down. Undoable: undo rebuilds the whole track, instrument state included.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"tracks.delete","params":{"track":2}}
tracks.duplicate
Duplicate Track · Efekt: edit · od wersji 0.15.0 · narzędzie MCP: tracks_duplicate
Copy a track (instrument, clips, effects, mixer settings, automation) right after it, named '<name> (Copy)'. A plugin instrument loads in the background: the copy shows in tracks.list a moment later. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"tracks.duplicate","params":{"track":1}}
tracks.set_instrument
Set Instrument · Efekt: edit · idempotentna · od wersji 0.3.0 · narzędzie MCP: tracks_set_instrument
Replace the instrument of a MIDI track with one from instruments.list (builtin, or an installed plugin, loaded in the background). The track keeps its name, clips, effects and mixer settings. Undoable: undo brings the previous instrument back with its sound.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
instrument | string | tak | instruments.list uri, or a plugin name, e.g. Surge XT. |
name | string | New track name (default: keep it). | |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"tracks.set_instrument","params":{"instrument":"builtin://piano-synth","track":0}}
tracks.move
Move Track · Efekt: edit · idempotentna · od wersji 0.3.0 · narzędzie MCP: tracks_move
Move a track (a group with all its members) right before another track, joining that track's group, or to the end when 'before' is absent. Returns the new track order. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
before | string or integer | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). | |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"tracks.move","params":{"before":0,"track":3}}
Instrumenty
Instrumenty wbudowane i wtyczki oraz presety wtyczek.
instruments.list
List Instruments · Efekt: read · idempotentna · od wersji 0.1.0 · narzędzie MCP: instruments_list
Instruments that tracks.create can load: name, family and the URI to pass as 'instrument'; installed plugins (group Plugin, with vendor and format) after the builtins. Families: Synth (Omni Synth = subtractive/wavetable all-rounder), Keys (Piano), Physical model (strings, winds, plucked, mallets), Drums (TOMNIC drum synth), Image to sound, DJ.
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"instruments.list","params":{}}
instruments.presets
List Presets · Efekt: read · idempotentna · od wersji 0.14.0 · narzędzie MCP: instruments_presets
Preset files (.fxp) installed with the external plugin on a track, e.g. Surge XT's factory patches: name, category (their folders) and path. Filter with query words ("bass reese", "leads"); pages of up to 200.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
limit | integer | At most this many (default 200). Zakres: 1 to 200. | |
offset | integer | Skip this many matches. Zakres: 0 to 1000000. | |
query | string | Words that must all appear in the name or category. | |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"instruments.presets","params":{"query":"leads","track":4}}
instruments.load_preset
Load Preset · Efekt: edit · idempotentna · od wersji 0.14.0 · narzędzie MCP: instruments_load_preset
Load a preset file (from instruments.presets) into the plugin on a track: its whole sound, as the plugin's own preset browser would. Then params.list shows the new values to tweak. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
path | string | tak | Preset file path from instruments.presets. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"instruments.load_preset","params":{"path":"C:/Program Files/Common Files/CLAP/Surge Synth Team/SurgeXTData/patches_factory/Leads/Moogy Saw.fxp","track":4}}
Sceny
Wiersze scen siatki sesji.
scenes.list
List Scenes · Efekt: read · idempotentna · od wersji 0.2.0 · narzędzie MCP: scenes_list
Scene rows of the session: index, name, colour and how many tracks have a clip in the row. Clip slot N of every track belongs to scene N.
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"scenes.list","params":{}}
scenes.launch
Launch Scene · Efekt: control · idempotentna · od wersji 0.2.0 · narzędzie MCP: scenes_launch
Launch every clip of a scene row together, quantised like a click on the scene. Starts the transport unless start_transport is false.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
scene | integer | tak | 0-based scene row. Zakres: 0 to 255. |
start_transport | boolean | Start playback if stopped (default true). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"scenes.launch","params":{"scene":0}}
scenes.update
Update Scene · Efekt: edit · idempotentna · od wersji 0.3.0 · narzędzie MCP: scenes_update
Rename or recolour a scene row (e.g. 'Intro', 'Drop'). Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
color | string | #rrggbb, or empty for the default colour. | |
name | string | New name. | |
scene | integer | tak | 0-based scene row. Zakres: 0 to 255. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"scenes.update","params":{"name":"Verse","scene":0}}
Klipy
Klipy sesji: nuty, akordy, perkusja, slice'y i melodie.
clips.generate_melody
Generate Melody · Efekt: edit · idempotentna · od wersji 0.15.0 · narzędzie MCP: clips_generate_melody
Write a melody into a MIDI slot with the piano roll's melody generator: a style (stepwise_flow, minimal_cell, classical_arch, funk_groove, celtic_reel, bebop_line, arpeggio_loop, synth_arp, sequence_run, ambient_drift, tension_build, modal_motive), a key, bars, register and density. It sits on the chords of the slot's chord lane, or of chords_from (e.g. the pad slot written by clips.write_progression). Same seed, same melody. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bars | integer | Bars to write (default 4). Zakres: 1 to 16. | |
chords_from | {slot, track} | ||
density | string | Notes per bar (default medium). Jedna z: sparse, light, medium, dense, very_dense. | |
key | {mode, root} | tak | |
register | string | Pitch range (default mid). Jedna z: low, mid, high, full. | |
seed | integer | Same seed, same melody (default 1). Zakres: 0 to 9223372036854775807. | |
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
style | string | tak | Melody style. Jedna z: stepwise_flow, minimal_cell, classical_arch, funk_groove, celtic_reel, bebop_line, arpeggio_loop, synth_arp, sequence_run, ambient_drift, tension_build, modal_motive. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Pola chords_from:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Pola key:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
mode | string | Mode (default major): major, minor, dorian, phrygian, lydian, mixolydian, locrian, harmonic_minor, melodic_minor, phrygian_dominant. | |
root | string | tak | Tonic: C, C#, Db, D … B. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"clips.generate_melody","params":{"bars":8,"chords_from":{"slot":0,"track":2},"key":{"mode":"minor","root":"F"},"register":"high","slot":0,"style":"synth_arp","track":4}}
clips.list
List Clips · Efekt: read · idempotentna · od wersji 0.1.0 · narzędzie MCP: clips_list
The session clip slots (scene rows) of a track: empty or not, kind (midi/audio/sequencer), loop length in beats, note count, playing / queued.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"clips.list","params":{"track":0}}
clips.get_notes
Read Clip Notes · Efekt: read · idempotentna · od wersji 0.1.0 · narzędzie MCP: clips_get_notes
Notes of a session MIDI clip (pitch, start and duration in beats, velocity) and its loop length.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"clips.get_notes","params":{"slot":0,"track":0}}
clips.write_midi
Write MIDI Clip · Efekt: edit · idempotentna · od wersji 0.1.0 · narzędzie MCP: clips_write_midi
Write notes into a session clip slot of a MIDI track, creating the clip if the slot is empty. mode 'replace' (default) leaves exactly these notes, 'merge' adds them. length_beats sets the loop (default: the notes rounded up to whole bars). Times are in beats from the clip start (1 beat = a quarter note; in 4/4 a bar is 4 beats). The clip loops; launch it with clips.launch. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
length_beats | number | Loop length in beats. Zakres: 0.25 to 1024. | |
mode | string | Replace or merge the clip's notes. Jedna z: replace, merge. | |
notes | {chance, duration, pan, pitch, pitch_offset, pressure, start, timing, velocity, volume}[] | tak | Notes to write. Do 4096 elementów. |
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Pola notes[]:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
chance | number | Chance it plays each pass, 0-1 (default 1). Zakres: 0 to 1. | |
duration | number | tak | Length in beats. Zakres: 0.0001 to 1024. |
pan | number | Per-note pan, -1 left to 1 right. Zakres: -1 to 1. | |
pitch | integer | tak | MIDI note number (60 = middle C). Zakres: 0 to 127. |
pitch_offset | integer | Pitch offset in semitones. Zakres: -24 to 24. | |
pressure | number | Poly pressure during the note, 0-1. Zakres: 0 to 1. | |
start | number | tak | Start from the clip start, in beats. Zakres: 0 to 1024. |
timing | number | Micro-timing in beats (- early, + late). Zakres: -0.25 to 0.25. | |
velocity | integer | Velocity 1-127 (default 100). Zakres: 1 to 127. | |
volume | number | Sustained note volume, 0-1 (default 1). Zakres: 0 to 1. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"clips.write_midi","params":{"length_beats":4.0,"notes":[{"duration":0.5,"pitch":48,"start":0.0,"velocity":110},{"duration":0.5,"pitch":55,"start":1.0}],"slot":0,"track":0}}
clips.launch
Launch Clip · Efekt: control · idempotentna · od wersji 0.1.0 · narzędzie MCP: clips_launch
Play a session clip, quantised like a click on its slot. Starts the transport unless start_transport is false.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
start_transport | boolean | Start playback if stopped (default true). | |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"clips.launch","params":{"slot":0,"track":0}}
clips.stop
Stop Clips · Efekt: control · idempotentna · od wersji 0.1.0 · narzędzie MCP: clips_stop
Stop the session clip of one track, or of every track when no track is given.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
track | string or integer | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"clips.stop","params":{"track":0}}
clips.write_progression
Write Progression · Efekt: edit · idempotentna · od wersji 0.2.0 · narzędzie MCP: clips_write_progression
Render a chord progression (text, library or generated, see theory.progression) into a session slot of a MIDI track and set the clip's chord lane, so the user sees the chords in the piano roll. The loop length is the progression's. Replaces the clip's notes. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
progression | {chords, generate, key, library, perform} | tak | |
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Pola progression:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
chords | string | Roman numerals or chord symbols. Each chord is one bar unless bars are marked: '|' separates bars and splits one between its chords, 'I:2' = 2 beats, '.' holds, '%' repeats the bar. E.g. 'ii7 V7 Imaj7 Imaj7', 'Am F C G', '| I | vi | IV V |'. | |
generate | {bars, complexity, seed, style} | ||
key | {mode, root} | tak | |
library | string | Name of a progression from theory.library. | |
perform | {bass, centre, chords, humanise, pattern, top, velocity} |
Pola progression.generate:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bars | integer | Length in bars (default 4). Zakres: 1 to 64. | |
complexity | number | 0 triads .. 1 extended/altered. Zakres: 0 to 1. | |
seed | integer | Same seed = same progression. Zakres: 0 to 9223372036854775807. | |
style | string | tak | Style from theory.vocabulary. |
Pola progression.key:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
mode | string | Mode (default major): major, minor, dorian, phrygian, lydian, mixolydian, locrian, harmonic_minor, melodic_minor, phrygian_dominant. | |
root | string | tak | Tonic: C, C#, Db, D … B. |
Pola progression.perform:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bass | boolean | Write a bass line (default false). | |
centre | integer | MIDI note the voicings centre on (default 60). Zakres: 36 to 96. | |
chords | boolean | Write the chord voicings (default true). | |
humanise | number | Timing and velocity spread (default 0). Zakres: 0 to 1. | |
pattern | string | Playing pattern from theory.vocabulary (default block). | |
top | boolean | Double the top voice an octave up (default false). | |
velocity | integer | Velocity 1-127 (default 100). Zakres: 1 to 127. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"clips.write_progression","params":{"progression":{"chords":"i VI III VII","key":{"mode":"minor","root":"A"},"perform":{"bass":true,"pattern":"pulse8"}},"slot":0,"track":0}}
clips.write_drums
Write Drum Pattern · Efekt: edit · idempotentna · od wersji 0.8.0 · narzędzie MCP: clips_write_drums
Write a drum pattern into a session slot of a TOMNIC track (TOMNIC plays its own step pattern, not clip notes). Each lane is one voice (kick, snare, hihat, bass, tom, perc, cymbal, fx, or 0-7) with a step string: x = hit, X = accent, . = rest; '|' and spaces may mark bars. At rate 1/16 sixteen steps are one 4/4 bar, e.g. kick "x...x...x...x...", snare "....x.......x...". Lanes may differ in length (polymeters). Replaces the pattern, or with mode merge only the lanes given. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
lanes | {channel, steps, swing, velocity}[] | tak | Voices to write. Do 8 elementów. |
mode | string | Replace the pattern or merge lanes. Jedna z: replace, merge. | |
rate | string | Step length (default 1/16). Jedna z: 1/4, 1/8, 1/8t, 1/16, 1/16t, 1/32. | |
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Pola lanes[]:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
channel | string or integer | tak | Voice: kick, snare, hihat, bass, tom, perc, cymbal, fx, or 0-7. |
steps | string | tak | Steps: x hit, X accent, . rest (1-64). |
swing | number | Swing 0 straight .. 100 triplet. Zakres: 0 to 100. | |
velocity | integer | Hit velocity (default 100). Zakres: 1 to 127. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"clips.write_drums","params":{"lanes":[{"channel":"kick","steps":"x...x...x...x..."},{"channel":"snare","steps":"....X.......X..."},{"channel":"hihat","steps":"x.x.x.x.x.x.x.x.","swing":30,"velocity":70}],"slot":0,"track":3}}
clips.duplicate
Duplicate Clip · Efekt: edit · idempotentna · od wersji 0.2.0 · narzędzie MCP: clips_duplicate
Copy a session clip to another slot, on the same track or another one of the same kind (MIDI to MIDI, audio to audio). Overwrites the target. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
to_slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
to_track | string or integer | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). | |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"clips.duplicate","params":{"slot":0,"to_slot":1,"track":0}}
clips.transform
Transform Clip · Efekt: edit · od wersji 0.2.0 · narzędzie MCP: clips_transform
Edit every note of a MIDI clip at once: transpose (semitones), quantize starts to a grid in beats (0.25 = 1/16 in 4/4) with a strength, scale and offset velocities. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
quantize | number | Grid in beats. Zakres: 0.015625 to 4. | |
quantize_strength | number | Share of the way to the grid (default 1). Zakres: 0 to 1. | |
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
transpose | integer | Semitones. Zakres: -48 to 48. | |
velocity_offset | integer | Added to velocity after scaling. Zakres: -127 to 127. | |
velocity_scale | number | Velocity multiplier. Zakres: 0 to 4. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"clips.transform","params":{"quantize":0.25,"slot":0,"track":0,"transpose":-12}}
clips.set_length
Set Clip Length · Efekt: edit · idempotentna · od wersji 0.3.0 · narzędzie MCP: clips_set_length
Set the loop length of a session clip in beats (notes past the end stay but do not play). Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
length_beats | number | tak | Loop length in beats. Zakres: 0.25 to 1024. |
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"clips.set_length","params":{"length_beats":16.0,"slot":0,"track":0}}
clips.clear
Clear Clip · Efekt: destructive · idempotentna · od wersji 0.2.0 · narzędzie MCP: clips_clear
Empty a session clip slot (notes, audio, sequencer). Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"clips.clear","params":{"slot":1,"track":0}}
clips.write_slices
Play Slices · Efekt: edit · idempotentna · od wersji 0.19.0 · narzędzie MCP: clips_write_slices
Write which slices of a sliced audio clip play when (replacing its notes): steps with a slice index, start and length in beats, velocity, and pitch in semitones, so one slice can play a melody (a vocal chop, a stab) and many slices a rearranged break. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
length_beats | number | Loop length in beats. Zakres: 0.25 to 1024. | |
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
steps | {duration, pitch, slice, start, velocity}[] | tak | Slice hits. Do 4096 elementów. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Pola steps[]:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
duration | number | tak | Length in beats. Zakres: 0.001 to 1024. |
pitch | integer | Semitones up or down. Zakres: -24 to 24. | |
slice | integer | tak | Slice index from sampler.get. Zakres: 0 to 1023. |
start | number | tak | Beats from the clip start. Zakres: 0 to 1024. |
velocity | integer | 1-127 (default 100). Zakres: 1 to 127. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"clips.write_slices","params":{"slot":0,"steps":[{"duration":0.5,"slice":0,"start":0},{"duration":0.5,"pitch":3,"slice":3,"start":0.5},{"duration":1,"pitch":7,"slice":3,"start":1}],"track":5}}
Teoria muzyki
Skale, akordy, progresje, analiza i harmonizacja.
theory.scale
Scale · Efekt: read · idempotentna · od wersji 0.2.0 · narzędzie MCP: theory_scale
The seven degrees of a key (names, pitch classes, MIDI notes in the middle-C octave) and its diatonic chords as numerals, triads and sevenths. Use it to stay in key when writing melodies and bass lines.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
mode | string | Mode (default major): major, minor, dorian, phrygian, lydian, mixolydian, locrian, harmonic_minor, melodic_minor, phrygian_dominant. | |
root | string | tak | Tonic: C, C#, Db, D … B. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"theory.scale","params":{"mode":"dorian","root":"D"}}
theory.chord
Chord · Efekt: read · idempotentna · od wersji 0.2.0 · narzędzie MCP: theory_chord
Notes of a chord symbol (C, Am7, F#m7b5, Bbmaj9, G7/B, Dsus4, …): pitch classes, names and MIDI notes in close position from the root.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
octave | integer | Octave of the root (4 = middle C's). Zakres: 0 to 8. | |
symbol | string | tak | Chord symbol. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"theory.chord","params":{"octave":3,"symbol":"Fmaj7"}}
theory.progression
Progression · Efekt: read · idempotentna · od wersji 0.2.0 · narzędzie MCP: theory_progression
Turn a chord progression into voiced, voice-led notes ready for clips.write_midi: from text (numerals or symbols), from the library, or generated in a style. Optional bass line and playing pattern (arpeggios, pulses, strums, …). Deterministic. To write it straight into a clip with its chord lane, use clips.write_progression.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
chords | string | Roman numerals or chord symbols. Each chord is one bar unless bars are marked: '|' separates bars and splits one between its chords, 'I:2' = 2 beats, '.' holds, '%' repeats the bar. E.g. 'ii7 V7 Imaj7 Imaj7', 'Am F C G', '| I | vi | IV V |'. | |
generate | {bars, complexity, seed, style} | ||
key | {mode, root} | tak | |
library | string | Name of a progression from theory.library. | |
perform | {bass, centre, chords, humanise, pattern, top, velocity} |
Pola generate:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bars | integer | Length in bars (default 4). Zakres: 1 to 64. | |
complexity | number | 0 triads .. 1 extended/altered. Zakres: 0 to 1. | |
seed | integer | Same seed = same progression. Zakres: 0 to 9223372036854775807. | |
style | string | tak | Style from theory.vocabulary. |
Pola key:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
mode | string | Mode (default major): major, minor, dorian, phrygian, lydian, mixolydian, locrian, harmonic_minor, melodic_minor, phrygian_dominant. | |
root | string | tak | Tonic: C, C#, Db, D … B. |
Pola perform:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bass | boolean | Write a bass line (default false). | |
centre | integer | MIDI note the voicings centre on (default 60). Zakres: 36 to 96. | |
chords | boolean | Write the chord voicings (default true). | |
humanise | number | Timing and velocity spread (default 0). Zakres: 0 to 1. | |
pattern | string | Playing pattern from theory.vocabulary (default block). | |
top | boolean | Double the top voice an octave up (default false). | |
velocity | integer | Velocity 1-127 (default 100). Zakres: 1 to 127. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"theory.progression","params":{"chords":"i VI III VII","key":{"mode":"minor","root":"A"},"perform":{"bass":true,"pattern":"pulse8"}}}
theory.harmonize
Harmonize Melody · Efekt: edit · idempotentna · od wersji 0.15.0 · narzędzie MCP: theory_harmonize
Find chords for the melody in a MIDI slot, in a key and a generator style (theory.vocabulary): one chord per harmonic-rhythm slot, chosen so the melody's strong notes are chord tones. fit 0 follows the style's habits, 1 the melody. Returns the chords; with write_to also writes them into a slot (performed like clips.write_progression). Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bars | integer | Bars to harmonise (default: the clip's). Zakres: 1 to 64. | |
fit | number | 0 = style, 1 = melody (default 0.7). Zakres: 0 to 1. | |
key | {mode, root} | tak | |
seed | integer | Colour seed (default 1). Zakres: 0 to 9223372036854775807. | |
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
style | string | Generator style from theory.vocabulary (default pop). | |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
write_to | {perform, slot, track} |
Pola key:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
mode | string | Mode (default major): major, minor, dorian, phrygian, lydian, mixolydian, locrian, harmonic_minor, melodic_minor, phrygian_dominant. | |
root | string | tak | Tonic: C, C#, Db, D … B. |
Pola write_to:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
perform | {bass, centre, chords, humanise, pattern, top, velocity} | ||
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Pola write_to.perform:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bass | boolean | Write a bass line (default false). | |
centre | integer | MIDI note the voicings centre on (default 60). Zakres: 36 to 96. | |
chords | boolean | Write the chord voicings (default true). | |
humanise | number | Timing and velocity spread (default 0). Zakres: 0 to 1. | |
pattern | string | Playing pattern from theory.vocabulary (default block). | |
top | boolean | Double the top voice an octave up (default false). | |
velocity | integer | Velocity 1-127 (default 100). Zakres: 1 to 127. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"theory.harmonize","params":{"key":{"mode":"minor","root":"F"},"slot":0,"track":4,"write_to":{"perform":{"pattern":"pad"},"slot":1,"track":2}}}
theory.analyze
Analyze Clip Harmony · Efekt: read · idempotentna · od wersji 0.3.0 · narzędzie MCP: theory_analyze
The chords a MIDI clip's notes spell, with symbols and numerals, one per resolution_beats (default a bar); the key is estimated from the notes unless given. Use it to understand a user's part before writing around it.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
key | {mode, root} | ||
resolution_beats | number | Shortest chord in beats. Zakres: 0.25 to 64. | |
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Pola key:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
mode | string | Mode (default major): major, minor, dorian, phrygian, lydian, mixolydian, locrian, harmonic_minor, melodic_minor, phrygian_dominant. | |
root | string | tak | Tonic: C, C#, Db, D … B. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"theory.analyze","params":{"resolution_beats":2.0,"slot":0,"track":0}}
theory.library
Progression Library · Efekt: read · idempotentna · od wersji 0.2.0 · narzędzie MCP: theory_library
Search the 240 named progressions (pop, rock, jazz, soul, blues, gospel, classical, modal, electronic, film, world, dark…). Pass a name to theory.progression or clips.write_progression as 'library'.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
limit | integer | Most entries returned (default 40). Zakres: 1 to 240. | |
query | string | Words that must all match, e.g. 'jazz turnaround'. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"theory.library","params":{"limit":10,"query":"neo soul"}}
theory.vocabulary
Theory Vocabulary · Efekt: read · idempotentna · od wersji 0.2.0 · narzędzie MCP: theory_vocabulary
Every name the theory methods accept: modes, generator styles, playing patterns, library categories.
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"theory.vocabulary","params":{}}
Aranżacja
Oś czasu: utwory ze scen, klipy, pętla i odtwarzanie.
arrangement.get
Arrangement · Efekt: read · idempotentna · od wersji 0.7.0 · narzędzie MCP: arrangement_get
The song on the timeline: its length, whether the arrangement or the session is playing, the loop region, the markers (sections) and every track's clips with start and length in beats.
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"arrangement.get","params":{}}
arrangement.build_song
Build Song · Efekt: edit · od wersji 0.7.0 · narzędzie MCP: arrangement_build_song
Lay a song out on the timeline from session scenes: each section plays one scene row for a number of bars (e.g. intro 8, verse 16, drop 16, outro 8), every MIDI track's clip in that row copied and repeated to fill it, a marker per section; TOMNIC patterns go on as their notes. Audio tracks are reported as skipped. Refuses if the range already holds clips unless clear_existing. One undo step. Then arrangement.play.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
clear_existing | boolean | Remove timeline clips from start_beat on first. | |
markers | boolean | Add a marker per section (default true). | |
sections | {bars, name, scene}[] | tak | Sections in order. Do 64 elementów. |
start_beat | number | Where the song starts (default 0). Zakres: 0 to 1000000. |
Pola sections[]:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bars | number | tak | Length in bars. Zakres: 0.25 to 1024. |
name | string | Marker name (default: the scene's). | |
scene | integer | tak | Scene row. Zakres: 0 to 255. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"arrangement.build_song","params":{"sections":[{"bars":8,"name":"Intro","scene":0},{"bars":16,"name":"Verse","scene":1},{"bars":16,"name":"Drop","scene":2}]}}
arrangement.place_clip
Place Clip · Efekt: edit · od wersji 0.7.0 · narzędzie MCP: arrangement_place_clip
Copy one session clip onto its track's timeline at start_beat; length_beats longer than the clip repeats it. MIDI tracks. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
length_beats | number | Length (default one loop). Zakres: 0.25 to 4096. | |
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
start_beat | number | tak | Start on the timeline. Zakres: 0 to 1000000. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"arrangement.place_clip","params":{"length_beats":16.0,"slot":0,"start_beat":32.0,"track":0}}
arrangement.clear
Clear Timeline · Efekt: destructive · idempotentna · od wersji 0.7.0 · narzędzie MCP: arrangement_clear
Remove timeline clips starting inside a range (default: all), on one track or all. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
end_beat | number | Before (default: the end). Zakres: 0 to 1000000. | |
start_beat | number | From (default 0). Zakres: 0 to 1000000. | |
track | string or integer | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"arrangement.clear","params":{"start_beat":64.0}}
arrangement.edit_clip
Edit Timeline Clip · Efekt: edit · idempotentna · od wersji 0.13.0 · narzędzie MCP: arrangement_edit_clip
Change one timeline clip (index from arrangement.get): move it, change its length (MIDI grows or shrinks, audio only shrinks), mute it, rename it, set its gain. Fields left out stay. E.g. mute the bass in the second half of a drop after copying it there. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
clip | integer | tak | Timeline clip index on the track, from arrangement.get. Zakres: 0 to 4095. |
gain_db | number | Clip gain in dB. Zakres: -60 to 12. | |
length_beats | number | New length. Zakres: 0.25 to 16384. | |
muted | boolean | Silence the clip without removing it. | |
name | string | Clip name. | |
start_beat | number | Move the clip to start here. Zakres: 0 to 1000000. | |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"arrangement.edit_clip","params":{"clip":0,"length_beats":32.0,"muted":false,"track":1}}
arrangement.copy_clip
Copy Timeline Clip · Efekt: edit · od wersji 0.13.0 · narzędzie MCP: arrangement_copy_clip
Copy one timeline clip to another beat, on the same track or another one (to_track; MIDI clips go to MIDI tracks). The copy is independent: edit or mute it on its own to make a variation. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
clip | integer | tak | Timeline clip index on the track, from arrangement.get. Zakres: 0 to 4095. |
to_beat | number | tak | Where the copy starts. Zakres: 0 to 1000000. |
to_track | string or integer | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). | |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"arrangement.copy_clip","params":{"clip":1,"to_beat":160.0,"track":0}}
arrangement.remove_clip
Remove Timeline Clip · Efekt: destructive · od wersji 0.13.0 · narzędzie MCP: arrangement_remove_clip
Delete one timeline clip (index from arrangement.get; later clips on the track move down one index). Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
clip | integer | tak | Timeline clip index on the track, from arrangement.get. Zakres: 0 to 4095. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"arrangement.remove_clip","params":{"clip":2,"track":0}}
arrangement.set_loop
Set Loop · Efekt: edit · idempotentna · od wersji 0.7.0 · narzędzie MCP: arrangement_set_loop
Set and enable (or disable) the arrangement loop region in beats. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
enabled | boolean | Loop on (default true). | |
end_beat | number | tak | Loop end. Zakres: 0 to 1000000. |
start_beat | number | tak | Loop start. Zakres: 0 to 1000000. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"arrangement.set_loop","params":{"end_beat":32.0,"start_beat":0.0}}
arrangement.play
Play Arrangement · Efekt: control · idempotentna · od wersji 0.7.0 · narzędzie MCP: arrangement_play
Play the timeline from a beat: every track follows the arrangement again (like Back to Arrangement), the playhead moves, playback starts.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
from_beat | number | Start (default 0). Zakres: 0 to 1000000. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"arrangement.play","params":{"from_beat":0.0}}
Markery
Markery i regiony sekcji na osi czasu.
markers.add
Add Marker · Efekt: edit · od wersji 0.7.0 · narzędzie MCP: markers_add
Add a marker (or, with end_beat, a section region) to the timeline. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
beat | number | tak | Position. Zakres: 0 to 1000000. |
color | string | #rrggbb. | |
end_beat | number | End of the section region. Zakres: 0 to 1000000. | |
name | string | tak | Label, e.g. 'Chorus'. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"markers.add","params":{"beat":32.0,"name":"Chorus"}}
markers.remove
Remove Marker · Efekt: destructive · od wersji 0.7.0 · narzędzie MCP: markers_remove
Remove a marker by its index from arrangement.get. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
index | integer | tak | Marker index. Zakres: 0 to 1023. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"markers.remove","params":{"index":0}}
Automatyka
Ścieżki automatyki głośności, panoramy i dowolnego parametru.
automation.list
List Automation · Efekt: read · idempotentna · od wersji 0.12.0 · narzędzie MCP: automation_list
The automation lanes of a track on the arrangement timeline: what each drives (its key), how many segments and points, the automated span in beats.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"automation.list","params":{"track":0}}
automation.write
Write Automation · Efekt: edit · idempotentna · od wersji 0.12.0 · narzędzie MCP: automation_write
Automate a track's volume, pan or any parameter over the song: points at song beats with values in the parameter's own unit; the lane is created if needed and its automation replaced. E.g. a filter sweep through a break: {param: "instrument:16", points: [{beat: 96, value: 400}, {beat: 128, value: 8000}]}. Plays when the arrangement plays. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
curve | string | How each point moves to the next (default linear). Jedna z: linear, smooth, step, sine. | |
param | string | tak | What to automate: "volume" (dB), "pan" (-1..1), or a params.list key (instrument:<id>, fx:<slot>:<index>) in that parameter's range. |
points | {beat, value}[] | tak | Breakpoints in time order. Do 1024 elementów. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Pola points[]:
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
beat | number | tak | Song position in beats. Zakres: 0 to 1000000. |
value | number | tak | Value in the parameter's unit. Zakres: -1000000 to 1000000. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"automation.write","params":{"param":"volume","points":[{"beat":0,"value":-30},{"beat":32,"value":0}],"track":0}}
automation.clear
Clear Automation · Efekt: destructive · idempotentna · od wersji 0.12.0 · narzędzie MCP: automation_clear
Remove the automation of one parameter on a track (the lane stays, empty). Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
param | string | tak | What to automate: "volume" (dB), "pan" (-1..1), or a params.list key (instrument:<id>, fx:<slot>:<index>) in that parameter's range. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"automation.clear","params":{"param":"pan","track":0}}
Pliki audio
Import audio, transkrypcja na nuty, rozdzielanie na stemy.
audio.import
Import Audio · Efekt: edit · od wersji 0.19.0 · narzędzie MCP: audio_import
Load an audio file (WAV, AIFF, FLAC, MP3, OGG) into a session slot of an audio track, as dropping it from the browser does; arrangement.place_clip then puts it on the timeline. Needs file access, granted in Omni's Settings (AI Create). Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
path | string | tak | Absolute path of the audio file. |
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"audio.import","params":{"path":"C:/Samples/break.wav","slot":0,"track":5}}
audio.transcribe
Transcribe Audio · Efekt: read · idempotentna · od wersji 0.19.0 · narzędzie MCP: audio_transcribe
Audio to notes with Basic Pitch: a file (path) or the audio in a session slot (track + slot). mode poly (chords), melody (one line) or bass. Returns a job; its result has the notes in beats at the project tempo, ready for clips.write_midi, and the detected length. File paths need file access (Settings, AI Create).
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
min_ms | number | Shortest note in ms. Zakres: 20 to 500. | |
mode | string | What to hear (default poly). Jedna z: poly, melody, bass. | |
path | string | Absolute path of an audio file. | |
sensitivity | number | How readily a note is heard. Zakres: 0 to 1. | |
slot | integer | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. | |
sustain | number | How long notes hold. Zakres: 0 to 1. | |
track | string or integer | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"audio.transcribe","params":{"mode":"bass","slot":0,"track":5}}
audio.split_stems
Split Stems · Efekt: control · od wersji 0.19.0 · narzędzie MCP: audio_split_stems
Split a WAV mix into vocals, drums, bass and other with Demucs (the model downloads on first use). Returns a job; its result has the four file paths, which audio.import can load. Needs file access (Settings, AI Create).
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
folder | string | tak | Absolute path of the folder for the stems. |
path | string | tak | Absolute path of the WAV to split. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"audio.split_stems","params":{"folder":"C:/Music/stems","path":"C:/Music/mix.wav"}}
Sampler
Sampler klipu audio: odtwarzanie i cięcie na slice'y.
sampler.get
Get Sampler · Efekt: read · idempotentna · od wersji 0.19.0 · narzędzie MCP: sampler_get
The sampler of an audio clip: file, length, playback mode, root note, transpose, envelope and its slices (index, the note that plays it, start and end in seconds).
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"sampler.get","params":{"slot":0,"track":5}}
sampler.set
Set Sampler · Efekt: edit · idempotentna · od wersji 0.19.0 · narzędzie MCP: sampler_set
Change how an audio clip's sampler plays (fields left out stay): playback_mode one_shot, loop, slice, gate, granular, warp; root note, transpose in semitones, reverse, envelope (attack/decay/release ms, sustain 0-1). Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
attack_ms | number | Attack. Zakres: 0 to 10000. | |
decay_ms | number | Decay. Zakres: 0 to 30000. | |
playback_mode | string | How the clip plays. Jedna z: one_shot, loop, slice, gate, granular, warp. | |
release_ms | number | Release. Zakres: 0 to 30000. | |
reverse | boolean | Play backwards. | |
root_note | integer | Note that plays the sample unshifted. Zakres: 0 to 127. | |
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
sustain | number | Sustain level. Zakres: 0 to 1. | |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
transpose | integer | Semitones. Zakres: -48 to 48. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"sampler.set","params":{"playback_mode":"gate","release_ms":80,"slot":0,"track":5}}
sampler.slice
Slice Sample · Efekt: edit · idempotentna · od wersji 0.19.0 · narzędzie MCP: sampler_slice
Cut an audio clip into slices, as the sample editor's slice detection does: on transients (sensitivity), into equal parts (count) or on beats (division per beat at the clip's tempo). A clip holds at most 92 slices (notes 36-127): slice a short loop, not a whole song. Switches the clip to slice mode: each slice gets a note, so clips.write_slices can play patterns and melodies from them. Returns the slices. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
count | integer | equal: number of slices. Zakres: 1 to 128. | |
division | integer | beats: slices per beat, 1 = quarters, 2 = eighths, 4 = sixteenths. Zakres: 1 to 64. | |
mode | string | How to cut (default transients). Jedna z: transients, equal, beats. | |
sensitivity | number | transients: how readily a hit starts a slice. Zakres: 0 to 1. | |
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"sampler.slice","params":{"mode":"transients","sensitivity":0.6,"slot":0,"track":5}}
Efekty
Łańcuchy efektów na torach, szynach return i masterze.
devices.types
Device Types · Efekt: read · idempotentna · od wersji 0.4.0 · narzędzie MCP: devices_types
Omni's builtin effects that devices.add can insert, with their family: EQ, Filter, Compressor, Limiter, MultibandDynamics, Noise Gate, Transient Shaper, Saturator, Delay, Reverb, Chorus, Phaser and creative ones.
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"devices.types","params":{}}
devices.list
List Devices · Efekt: read · idempotentna · od wersji 0.4.0 · narzędzie MCP: devices_list
The effects of a chain in signal order: a track's inserts ({"track": id}), a return bus ({"return_bus": n}) or "master". Each with slot, name, kind (builtin/plugin/script), bypass and parameter count.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
chain | "master" or {track} or {return_bus} | tak | Effect chain: {"track": <id or index>}, {"return_bus": <index>} or "master". |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"devices.list","params":{"chain":{"track":0}}}
devices.get
Read Device · Efekt: read · idempotentna · od wersji 0.4.0 · narzędzie MCP: devices_get
Every parameter of a builtin effect with its current value, range, default, unit (dB, Hz, ms, %) and group; a choice lists its options (index = value, e.g. Shape 4 = HighPass). Values are in those units, not 0..1.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
chain | "master" or {track} or {return_bus} | tak | Effect chain: {"track": <id or index>}, {"return_bus": <index>} or "master". |
slot | integer | tak | 0-based position in the chain (signal order). Zakres: 0 to 63. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"devices.get","params":{"chain":"master","slot":0}}
devices.add
Add Device · Efekt: edit · od wersji 0.4.0 · narzędzie MCP: devices_add
Insert a builtin effect (a name from devices.types) into a chain, at the end or at 'position'. It starts at its default settings; shape it with devices.set_params. Returns the chain. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
chain | "master" or {track} or {return_bus} | tak | Effect chain: {"track": <id or index>}, {"return_bus": <index>} or "master". |
device | string | tak | Effect name from devices.types, e.g. Compressor. |
position | integer | 0-based position in the chain (signal order). Zakres: 0 to 63. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"devices.add","params":{"chain":{"track":0},"device":"EQ"}}
devices.remove
Remove Device · Efekt: destructive · od wersji 0.4.0 · narzędzie MCP: devices_remove
Remove an effect from a chain; later slots move up. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
chain | "master" or {track} or {return_bus} | tak | Effect chain: {"track": <id or index>}, {"return_bus": <index>} or "master". |
slot | integer | tak | 0-based position in the chain (signal order). Zakres: 0 to 63. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"devices.remove","params":{"chain":{"track":0},"slot":1}}
devices.set_bypass
Bypass Device · Efekt: edit · idempotentna · od wersji 0.4.0 · narzędzie MCP: devices_set_bypass
Bypass (true) or enable an effect; the switch crossfades, no click. Useful to compare before / after with mix.meters. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bypassed | boolean | tak | Bypass the effect. |
chain | "master" or {track} or {return_bus} | tak | Effect chain: {"track": <id or index>}, {"return_bus": <index>} or "master". |
slot | integer | tak | 0-based position in the chain (signal order). Zakres: 0 to 63. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"devices.set_bypass","params":{"bypassed":true,"chain":"master","slot":0}}
devices.set_params
Set Device Parameters · Efekt: edit · idempotentna · od wersji 0.4.0 · narzędzie MCP: devices_set_params
Set several parameters of a builtin effect at once, by name (as devices.get lists them, case-insensitive) or index, in the parameter's own unit. All are checked against their ranges before any changes. One undo step. Returns the device with its new values.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
chain | "master" or {track} or {return_bus} | tak | Effect chain: {"track": <id or index>}, {"return_bus": <index>} or "master". |
slot | integer | tak | 0-based position in the chain (signal order). Zakres: 0 to 63. |
values | object | tak | Parameter name or index → value. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"devices.set_params","params":{"chain":{"track":0},"slot":0,"values":{"Ratio":3.0,"Threshold":-18.0}}}
Efekty MIDI
Efekty i generatory MIDI przed instrumentem.
midi_fx.types
List MIDI FX Types · Efekt: read · idempotentna · od wersji 0.16.0 · narzędzie MCP: midi_fx_types
MIDI effects a track can put in front of its instrument: transforms (Arpeggiator, Chord, Scale, Velocity, Note Length, Note Echo, Random, Ornaments, Tuplets) change the notes going through; generators (Marbles, Markov, L-System, Cellular, Thue-Morse, Recaman, Sequence, Shepard, Walks) play their own, locked to the song while a clip plays.
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"midi_fx.types","params":{}}
midi_fx.list
List MIDI FX · Efekt: read · idempotentna · od wersji 0.16.0 · narzędzie MCP: midi_fx_list
The MIDI FX chain of a track, in processing order.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"midi_fx.list","params":{"track":3}}
midi_fx.get
Get MIDI FX · Efekt: read · idempotentna · od wersji 0.16.0 · narzędzie MCP: midi_fx_get
Every parameter of one MIDI FX slot: name, value, range, default.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"midi_fx.get","params":{"slot":0,"track":3}}
midi_fx.add
Add MIDI FX · Efekt: edit · od wersji 0.16.0 · narzędzie MCP: midi_fx_add
Append a MIDI effect from midi_fx.types to a track's MIDI FX chain, with its default settings. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
device | string | tak | A name from midi_fx.types, e.g. Arpeggiator. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"midi_fx.add","params":{"device":"Arpeggiator","track":3}}
midi_fx.remove
Remove MIDI FX · Efekt: destructive · od wersji 0.16.0 · narzędzie MCP: midi_fx_remove
Remove one MIDI FX slot; later slots move down. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"midi_fx.remove","params":{"slot":0,"track":3}}
midi_fx.set_params
Set MIDI FX Parameters · Efekt: edit · idempotentna · od wersji 0.16.0 · narzędzie MCP: midi_fx_set_params
Set parameters of one MIDI FX slot by name (or index), values in each parameter's range from midi_fx.get. Undoable, one step per call.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
values | object | tak | Parameter name or index -> value. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"midi_fx.set_params","params":{"slot":0,"track":3,"values":{"Rate":4.0}}}
midi_fx.render
Render MIDI FX · Efekt: edit · idempotentna · od wersji 0.21.0 · narzędzie MCP: midi_fx_render
Play one MIDI FX slot offline over some bars and write what it played into a session slot as notes: a Markov / L-System / Marbles line becomes an editable clip, an Arpeggiator over the chord in input_slot becomes the arpeggio. The effect is bypassed afterwards (bypass false keeps it on). Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bars | integer | Bars to render (default 4). Zakres: 1 to 64. | |
bypass | boolean | Bypass the effect afterwards (default true). | |
input_slot | integer | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. | |
slot | integer | tak | The MIDI FX slot. Zakres: 0 to 63. |
to_slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"midi_fx.render","params":{"bars":8,"input_slot":0,"slot":0,"to_slot":1,"track":3}}
midi_fx.set_bypass
Bypass MIDI FX · Efekt: edit · idempotentna · od wersji 0.16.0 · narzędzie MCP: midi_fx_set_bypass
Bypass (or re-enable) one MIDI FX slot. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bypassed | boolean | tak | true = notes pass unchanged. |
slot | integer | tak | 0-based clip slot (scene row) on the track. Zakres: 0 to 255. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"midi_fx.set_bypass","params":{"bypassed":true,"slot":0,"track":3}}
Mikser
Fader mastera, szyny return i wysyłki.
mixer.add_return
Add Return Bus · Efekt: edit · od wersji 0.11.0 · narzędzie MCP: mixer_add_return
Add a return bus (e.g. 'Reverb', 'Delay'): put an effect on it with devices.add ({"return_bus": n}, usually at 100% mix) and feed it from tracks with mixer.set_send. Returns the mixer. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
name | string | Name (default 'Return N'). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"mixer.add_return","params":{"name":"Reverb"}}
mixer.remove_return
Remove Return Bus · Efekt: destructive · od wersji 0.11.0 · narzędzie MCP: mixer_remove_return
Delete a return bus with its effects and every track's send to it. Later buses move down one index. Undoable (the sends come back too).
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bus | integer | tak | Return bus index. Zakres: 0 to 255. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"mixer.remove_return","params":{"bus":0}}
mixer.get
Mixer State · Efekt: read · idempotentna · od wersji 0.4.0 · narzędzie MCP: mixer_get
Master fader (dB) and balance, and the return buses (index, name, fader, insert count). Track faders and sends are in tracks.list.
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"mixer.get","params":{}}
mixer.set_send
Set Send · Efekt: edit · idempotentna · od wersji 0.4.0 · narzędzie MCP: mixer_set_send
Send level from a track to a return bus in dB (up to +6; -120 or lower = off), e.g. to put a part into the reverb on a return. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bus | integer | tak | Return bus index from mixer.get. Zakres: 0 to 255. |
level_db | number | tak | Send level in dB. Zakres: -200 to 6. |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"mixer.set_send","params":{"bus":0,"level_db":-12.0,"track":0}}
mixer.set_master
Set Master · Efekt: edit · idempotentna · od wersji 0.4.0 · narzędzie MCP: mixer_set_master
Master fader in dB (up to about +6) and balance (-1..1). Prefer leaving the master at 0 dB and balancing the tracks. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
pan | number | Balance -1 left .. +1 right. Zakres: -1 to 1. | |
volume_db | number | Master fader in dB. Zakres: -200 to 6. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"mixer.set_master","params":{"volume_db":0.0}}
mixer.set_return
Set Return Level · Efekt: edit · idempotentna · od wersji 0.4.0 · narzędzie MCP: mixer_set_return
Fader of a return bus in dB. Undoable.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bus | integer | tak | Return bus index. Zakres: 0 to 255. |
volume_db | number | tak | Fader in dB. Zakres: -200 to 6. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"mixer.set_return","params":{"bus":0,"volume_db":-3.0}}
Parametry
Każdy parametr instrumentu i efektów toru.
params.list
List Parameters · Efekt: read · idempotentna · od wersji 0.9.0 · narzędzie MCP: params_list
Every parameter of a track: its instrument (builtin synth or VST3 / CLAP plugin) and every insert effect, plugins included, with key, name, device, group, range, default and current value. Plugins have hundreds: narrow with filter (words that must all appear, e.g. 'filter cutoff') and page with offset / limit (default 100).
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
filter | string | Words that must all match name, group or device. | |
limit | integer | Most returned (default 100). Zakres: 1 to 500. | |
offset | integer | Skip this many matches. Zakres: 0 to 100000. | |
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"params.list","params":{"filter":"cutoff","limit":20,"track":0}}
params.set
Set Parameters · Efekt: edit · idempotentna · od wersji 0.9.0 · narzędzie MCP: params_set
Set parameters of a track by their params.list keys (instrument:<id>, fx:<slot>:<index>), each in its own range (plugins are usually 0-1). All are checked before any changes; one undo step. For builtin effects devices.set_params by name is simpler.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
track | string or integer | tak | Track id (UUID string from tracks.list, stable) or 0-based index (shifts when tracks are added or moved). |
values | object | tak | Parameter key → value. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"params.set","params":{"track":0,"values":{"fx:0:3":0.75,"instrument:12":0.4}}}
Mierniki
Mierniki poziomu na żywo.
mix.meters
Read Meters · Efekt: read · idempotentna · od wersji 0.1.0 · narzędzie MCP: mix_meters
Live levels, as the mixer meters show them: per track peak/RMS (dBFS) and EBU R128 loudness (momentary, short-term, integrated LUFS, true peak dBTP); on the master also stereo correlation and loudness range (LU). Meters only move while audio plays: start the transport, wait a few seconds, then read. null = silence or not measured yet.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
tracks | string or integer[] | Only these tracks (default: all). Do 1024 elementów. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"mix.meters","params":{"tracks":[0,1]}}
Analiza
Słuchanie: nagranie i analiza mastera lub toru, analiza plików, porównanie.
analysis.capture
Listen · Efekt: control · od wersji 0.5.0 · narzędzie MCP: analysis_capture
Record what the master or one track plays for a few seconds (default 8, 1-30) and analyse it in the background: peak, true peak, RMS, crest factor, clipping, DC; LUFS integrated / short-term / momentary and loudness range, short-term per second; stereo correlation, width and mono loss; tonal balance (sub, bass, low-mid, mid, high-mid, high, air) and a 1/3-octave spectrum with per-band width. Starts playback if stopped. Returns a job id at once: call jobs.wait with it. One capture at a time.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
seconds | number | Length to capture. Zakres: 1 to 30. | |
source | "master" or {track} | tak | What to listen to: "master" or {"track": <id or index>}. |
start_transport | boolean | Start playback if stopped (default true). |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"analysis.capture","params":{"seconds":8,"source":"master"}}
analysis.file
Analyse File · Efekt: read · idempotentna · od wersji 0.6.0 · narzędzie MCP: analysis_file
Analyse an audio file (WAV, FLAC, MP3, OGG, AIFF) the same way as analysis.capture: a reference track to compare the mix with (analysis.compare), or an exported master to master.check. Reads at most the first 10 minutes. Returns a job: jobs.wait for it.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
path | string | tak | Absolute path of the file. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"analysis.file","params":{"path":"C:/Music/reference.wav"}}
analysis.compare
Compare Captures · Efekt: read · idempotentna · od wersji 0.5.0 · narzędzie MCP: analysis_compare
Where two finished captures (e.g. kick and bass, vocal and guitars) compete: band by band levels and the bands where both carry energy within a few dB of each other, strongest first. The usual cure is an EQ cut on one of them there (devices.add EQ + devices.set_params).
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
a | integer | tak | Job id from the call that started it. Zakres: 1 to 9223372036854775807. |
b | integer | tak | Job id from the call that started it. Zakres: 1 to 9223372036854775807. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"analysis.compare","params":{"a":1,"b":2}}
Zadania
Długie operacje: postęp i wyniki.
jobs.get
Job Status · Efekt: read · idempotentna · od wersji 0.5.0 · narzędzie MCP: jobs_get
State (running / done / failed), progress and, once done, the result of a job started by another call.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
job | integer | tak | Job id from the call that started it. Zakres: 1 to 9223372036854775807. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"jobs.get","params":{"job":1}}
jobs.wait
Wait for Job · Efekt: read · idempotentna · od wersji 0.5.0 · narzędzie MCP: jobs_wait
Wait until a job finishes (at most timeout_seconds, default and limit 9) and return it as jobs.get does; call again while it is still running.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
job | integer | tak | Job id from the call that started it. Zakres: 1 to 9223372036854775807. |
timeout_seconds | number | Longest wait. Zakres: 0 to 9. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"jobs.wait","params":{"job":1,"timeout_seconds":9}}
Mastering
Cele dostawy, werdykty i łańcuch masteringowy.
master.targets
Loudness Targets · Efekt: read · idempotentna · od wersji 0.6.0 · narzędzie MCP: master_targets
Delivery targets: streaming platforms (Spotify, Apple Music, YouTube, Tidal, Amazon Music, Deezer), podcast, broadcast (EBU R128, ATSC A/85) and a club convention, each with integrated LUFS, tolerance and true-peak ceiling.
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"master.targets","params":{}}
master.check
Check Against Target · Efekt: read · idempotentna · od wersji 0.6.0 · narzędzie MCP: master_check
Pass / fail of a finished master capture (analysis.capture of "master", or analysis.file of an exported mix) against a target: loudness gap in LU, true peak against the ceiling, the gain that would hit the target, and notes (short capture, clipping, over-limiting, phase).
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
job | integer | tak | Finished capture job. Zakres: 1 to 9223372036854775807. |
target | string | tak | Target id from master.targets, e.g. spotify, apple_music, ebu_r128, club. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"master.check","params":{"job":1,"target":"spotify"}}
master.build_chain
Build Master Chain · Efekt: edit · od wersji 0.6.0 · narzędzie MCP: master_build_chain
Put a mastering chain at the end of the master: an optional glue Compressor (2:1, slow attack, soft knee) and a true-peak Limiter with its ceiling at the target's. With a capture job of the master, the compressor threshold and the limiter's input gain are set from it to approach the target loudness. Refuses if the master already has a Limiter (adjust that one with devices.set_params). One undo step. Then capture again and master.check.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
glue | boolean | Add the glue compressor (default true). | |
job | integer | Finished capture of the master. Zakres: 1 to 9223372036854775807. | |
target | string | tak | Target id from master.targets, e.g. spotify, apple_music, ebu_r128, club. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"master.build_chain","params":{"job":1,"target":"spotify"}}
Eksport
Render miksu lub stemów do WAV.
export.render
Export Mix · Efekt: control · od wersji 0.6.0 · narzędzie MCP: export_render
Render the arrangement (start_beat to end_beat, default the whole song) to a WAV file, as the Export dialog does: in real time through the audio device, or with fast offline (faster than real time, the same mix), optionally normalised to a loudness target. Returns a job: jobs.wait until done; the result has the path and an analysis of the written file. Writes only absolute .wav paths and does not overwrite unless asked. Session clips play only if recorded into the arrangement.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bit_depth | integer | 16, 24 (default) or 32 (float). Zakres: 16 to 32. | |
dither | string | Dither when writing 16/24 bit (default: the export dialog's). Jedna z: off, tpdf, pow_r1, pow_r2, pow_r3. | |
end_beat | number | End in beats (default: the song's end). Zakres: 0 to 1000000. | |
fast | boolean | Render offline, faster than real time (default false). | |
overwrite | boolean | Replace existing files (default false). | |
path | string | tak | Absolute path of the .wav file to write. |
start_beat | number | Start in beats (default 0). Zakres: 0 to 1000000. | |
target | string | Normalise to this target from master.targets while writing. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"export.render","params":{"fast":true,"path":"C:/Music/mix.wav","target":"spotify"}}
export.stems
Export Stems · Efekt: control · od wersji 0.17.0 · narzędzie MCP: export_stems
Render one WAV per track (all audible tracks, or the ones listed) into a folder, offline and faster than real time: each stem is its track soloed, with its sends' returns, without the master chain unless through_master. Files are named '<NN> <track>.wav'. Returns a job whose result lists the files.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
bit_depth | integer | 16, 24 (default) or 32 (float). Zakres: 16 to 32. | |
dither | string | Dither when writing 16/24 bit (default: the export dialog's). Jedna z: off, tpdf, pow_r1, pow_r2, pow_r3. | |
end_beat | number | End in beats (default: the song's end). Zakres: 0 to 1000000. | |
folder | string | tak | Absolute path of an existing folder for the stems. |
overwrite | boolean | Replace existing files (default false). | |
start_beat | number | Start in beats (default 0). Zakres: 0 to 1000000. | |
through_master | boolean | Keep the master chain on each stem (default false). | |
tracks | string or integer[] | Tracks to render (default: every non-group track). Do 256 elementów. |
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"export.stems","params":{"folder":"C:/Music/stems","tracks":[0,1,2]}}
Cofnij i ponów
Cofnięcie lub ponowienie ostatniej edycji.
edit.undo
Undo · Efekt: history · od wersji 0.1.0 · narzędzie MCP: edit_undo
Undo the newest step in Omni's history (the user's or yours; every edit call of this API is one step labelled 'API: ...'). Returns what was undone.
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"edit.undo","params":{}}
edit.redo
Redo · Efekt: history · od wersji 0.1.0 · narzędzie MCP: edit_redo
Redo the step undone last. Returns what was redone.
Ta metoda nie przyjmuje parametrów.
Zapytanie:
{"jsonrpc":"2.0","id":1,"method":"edit.redo","params":{}}
The OmniDAW API on the wire: discovery, handshake, requests and errors, units, references, effects and undo, jobs, limits and versioning.
Write your own Model Context Protocol server for Omni, in any language: how the catalog becomes tools, a complete working server in Python, and how to test and ship it.
