Skip to main content
Glama

Vibe Composer MIDI MCP

by mikeborozdin

play

Execute MIDI music playback with customizable BPM and instrument tracks, generating audio output from composed scores.

Instructions

Plays a music score

Input Schema

NameRequiredDescriptionDefault
bpmYesThe BPM of the song
midiOuputNameNoThe MIDI output name to use. Don't add unless requested.
tracksYesArray of tracks to play. - If you want to make it a drum track, set the instrumentName to 'drums'. and Use the 'drums' proprerty in notation. - Otherwise, use the 'note' property in 'notes'. - Unless asked otherwise, add 10 bars assuming 4/4 time signature. - Unless asked otherwise, make sure that each has the same number of bars. - Sometimes you make some tracks longer or shorter than others. Avoid that.

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "bpm": { "description": "The BPM of the song", "type": "number" }, "midiOuputName": { "description": "The MIDI output name to use. Don't add unless requested.", "type": "string" }, "tracks": { "description": "Array of tracks to play.\n \n - If you want to make it a drum track, set the instrumentName to 'drums'. and Use the 'drums' proprerty in notation. \n - Otherwise, use the 'note' property in 'notes'.\n - Unless asked otherwise, add 10 bars assuming 4/4 time signature.\n - Unless asked otherwise, make sure that each has the same number of bars.\n - Sometimes you make some tracks longer or shorter than others. Avoid that.\n ", "items": { "additionalProperties": false, "properties": { "channel": { "description": "The MIDI channel of the track. Don't add unless requested.", "type": "number" }, "instrumentName": { "description": "The instrument of the track. Available instruments: acoustic_grand_piano, bright_acoustic_piano, electric_grand_piano, honky_tonk_piano, electric_piano_1, electric_piano_2, harpsichord, clavinet, celesta, glockenspiel, music_box, vibraphone, marimba, xylophone, tubular_bells, dulcimer, drawbar_organ, percussive_organ, rock_organ, church_organ, reed_organ, accordion, harmonica, tango_accordion, acoustic_guitar_nylon, acoustic_guitar_steel, electric_guitar_jazz, electric_guitar_clean, electric_guitar_muted, overdriven_guitar, distortion_guitar, guitar_harmonics, acoustic_bass, electric_bass_finger, electric_bass_pick, fretless_bass, slap_bass_1, slap_bass_2, synth_bass_1, synth_bass_2, violin, viola, cello, contrabass, tremolo_strings, pizzicato_strings, orchestral_harp, timpani, string_ensemble_1, string_ensemble_2, synth_strings_1, synth_strings_2, choir_aahs, voice_oohs, synth_voice, orchestra_hit, trumpet, trombone, tuba, muted_trumpet, french_horn, brass_section, synth_brass_1, synth_brass_2, soprano_sax, alto_sax, tenor_sax, baritone_sax, oboe, english_horn, bassoon, clarinet, piccolo, flute, recorder, pan_flute, blown_bottle, shakuhachi, whistle, ocarina, lead_1_square, lead_2_sawtooth, lead_3_calliope, lead_4_chiff, lead_5_charang, lead_6_voice, lead_7_fifths, lead_8_bass_lead, pad_1_new_age, pad_2_warm, pad_3_polysynth, pad_4_choir, pad_5_bowed, pad_6_metallic, pad_7_halo, pad_8_sweep, fx_1_rain, fx_2_soundtrack, fx_3_crystal, fx_4_atmosphere, fx_5_brightness, fx_6_goblins, fx_7_echoes, fx_8_sci_fi, sitar, banjo, shamisen, koto, kalimba, bag_pipe, fiddle, shanai, tinkle_bell, agogo, steel_drums, woodblock, taiko_drum, melodic_tom, synth_drum, reverse_cymbal, guitar_fret_noise, breath_noise, seashore, bird_tweet, telephone_ring, helicopter, applause, gunshot. If you want to make it a drum track, set the instrumentName to 'drums'.", "enum": [ "drums", "acoustic_grand_piano", "bright_acoustic_piano", "electric_grand_piano", "honky_tonk_piano", "electric_piano_1", "electric_piano_2", "harpsichord", "clavinet", "celesta", "glockenspiel", "music_box", "vibraphone", "marimba", "xylophone", "tubular_bells", "dulcimer", "drawbar_organ", "percussive_organ", "rock_organ", "church_organ", "reed_organ", "accordion", "harmonica", "tango_accordion", "acoustic_guitar_nylon", "acoustic_guitar_steel", "electric_guitar_jazz", "electric_guitar_clean", "electric_guitar_muted", "overdriven_guitar", "distortion_guitar", "guitar_harmonics", "acoustic_bass", "electric_bass_finger", "electric_bass_pick", "fretless_bass", "slap_bass_1", "slap_bass_2", "synth_bass_1", "synth_bass_2", "violin", "viola", "cello", "contrabass", "tremolo_strings", "pizzicato_strings", "orchestral_harp", "timpani", "string_ensemble_1", "string_ensemble_2", "synth_strings_1", "synth_strings_2", "choir_aahs", "voice_oohs", "synth_voice", "orchestra_hit", "trumpet", "trombone", "tuba", "muted_trumpet", "french_horn", "brass_section", "synth_brass_1", "synth_brass_2", "soprano_sax", "alto_sax", "tenor_sax", "baritone_sax", "oboe", "english_horn", "bassoon", "clarinet", "piccolo", "flute", "recorder", "pan_flute", "blown_bottle", "shakuhachi", "whistle", "ocarina", "lead_1_square", "lead_2_sawtooth", "lead_3_calliope", "lead_4_chiff", "lead_5_charang", "lead_6_voice", "lead_7_fifths", "lead_8_bass_lead", "pad_1_new_age", "pad_2_warm", "pad_3_polysynth", "pad_4_choir", "pad_5_bowed", "pad_6_metallic", "pad_7_halo", "pad_8_sweep", "fx_1_rain", "fx_2_soundtrack", "fx_3_crystal", "fx_4_atmosphere", "fx_5_brightness", "fx_6_goblins", "fx_7_echoes", "fx_8_sci_fi", "sitar", "banjo", "shamisen", "koto", "kalimba", "bag_pipe", "fiddle", "shanai", "tinkle_bell", "agogo", "steel_drums", "woodblock", "taiko_drum", "melodic_tom", "synth_drum", "reverse_cymbal", "guitar_fret_noise", "breath_noise", "seashore", "bird_tweet", "telephone_ring", "helicopter", "applause", "gunshot" ], "type": "string" }, "notes": { "description": "\"Array of notes or drums to play with timing. \n \n - If you want to play a drum track, use the drums property. \n - If you want to play a non-drum instrument, use the note property.\n \n Example:\n \n [{note: ['C2', 'E2'], noteDuration: '1/8'}, {note: [], noteDuration: '1/8'}, {note: ['G2'], noteDuration: '1/8'}, {note: null, noteDuration: '1/8'}]. \n \n Or \n \n [{drums: ['bass_drum_1', 'closed_hi_hat'], noteDuration: '1/8'}, {drums: ['closed_hi_hat'], noteDuration: '1/8'}, {drums: ['closed_hi_hat', 'acoustic_snare'], noteDuration: '1/8'}, {drums: ['closed_hi_hat'], noteDuration: '1/8'}]. \n \n An array could be a bar or several bars.\n --------------------------------------------------------------------------------\n \n IMPORTANT FOR FOR DRUM TRACKS:\n \n - notes are played one after another. \n - we wait until the whole duration of a note before we play another one. \n - So don't do this: \"notes\" :[{\"drums: [\"bass_drum_1\", \"closed_hi_hat\"], noteDuration: '1/4'},{\"drums: [ \"closed_hi_hat\"], noteDuration: '1/4'} {drums: ['closed_hi_hat', 'acoustic_snare'], noteDuration: '1/4'}...].", "items": { "additionalProperties": false, "properties": { "drums": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "The drums to play. Use array for multiple drums. Use an empty array for rest/silence. Available drums: acoustic_bass_drum, bass_drum_1, side_stick, acoustic_snare, hand_clap, electric_snare, low_floor_tom, closed_hi_hat, high_floor_tom, pedal_hi_hat, low_tom, open_hi_hat, low_mid_tom, hi_mid_tom, crash_cymbal_1, high_tom, ride_cymbal_1, chinese_cymbal, ride_bell, tambourine, splash_cymbal, cowbell, crash_cymbal_2, vibraslap, ride_cymbal_2, hi_bongo, low_bongo, mute_hi_conga, open_hi_conga, low_conga, high_timbale, low_timbale, high_agogo, low_agogo, cabasa, maracas, short_whistle, long_whistle, short_guiro, long_guiro, claves, hi_wood_block, low_wood_block, mute_cuica, open_cuica, mute_triangle, open_triangle" }, "note": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "description": "The notes to play. Use array for chords. Or put one element for single note. Use an empty array for rest/silence" }, "noteDuration": { "description": "The note duration, e.g.: 1/32, 1/16, 1/8, 1/4, 1/2, 1", "type": "string" } }, "required": [ "noteDuration" ], "type": "object" }, "type": "array" } }, "required": [ "instrumentName", "notes" ], "type": "object" }, "type": "array" } }, "required": [ "bpm", "tracks" ], "type": "object" }

Other Tools from Vibe Composer MIDI MCP

Related Tools

    MCP directory API

    We provide all the information about MCP servers via our MCP API.

    curl -X GET 'https://glama.ai/api/mcp/v1/servers/mikeborozdin/vibe-composer-midi-mcp'

    If you have feedback or need assistance with the MCP directory API, please join our Discord server