Live Midi
live_midiRoutes MIDI inputs such as keyboards, pads, or loopMIDI ports through a live set so players hear their notes from the same speakers; reports connected sources and patches tracks or instruments.
Instructions
Play a MIDI input (a keyboard, a pad, a loopMIDI port) through the live set: the person plays along from the same speakers. source: the input's name or a unique part of it (midi_sources), or 'screen keys' (the on-screen keys page, live_keys_page); with no source, says what is plugged in and what is patched. What it plays: track='' (that track's sound, its baked effects included) or instrument=... (as live_track takes it: 'preset:', a dict, a code voice). Call again with another track or instrument to swap: the old sound plays until the new notes land. The notes render once on the render workers (C2 to C7, or a kit's pads; a few seconds to a minute); a key then sounds one output buffer after the press (live_status says how long). Played keys skip the track's effects and the safety limiter (a soft clip guards them). volume_db: the keys' level, at most +6 (default: the track's fader, or -6 dB for an instrument). transpose: semitones; channel: 1 to 16 (0 = every channel, the default). Every key is logged with the beat it sounded against to /live/midi/.jsonl (live_played reads it back as notes). remove=True unpatches. Tell the person before their keys first sound.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| track | No | ||
| remove | No | ||
| source | No | ||
| channel | No | ||
| project | Yes | ||
| transpose | No | ||
| volume_db | No | ||
| instrument | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |