chord-synth
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@chord-synthGenerate a sad violin arpeggio over Am F C G at 80 BPM"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
chord-synth
Generate chord progression WAV files. Zero dependencies. Node.js only.
28 named presets, 22 arpeggio patterns, 7 instruments, slash chords (Am/E), transposition, pad/bass/drum tracks, reverb.
Quick Start
# Install globally
npm install -g chord-synth
# Generate a WAV file
chord-synth --preset "C G Am F" --bpm 120 --output pop.wav
# Custom jazz with slash chords
chord-synth --preset "Dm9 | G7/B | Cmaj7 | Am7/E" --instrument piano --drums bossanova --output jazz.wav
# Named preset transposed to key of G
chord-synth --preset "I-V-vi-IV (Pop)" --transpose 7 --output pop_in_G.wav
# Batch render from JSON file
chord-synth --batch render_jobs.json --output ./wavs/Related MCP server: chord-player-mcp
Use as MCP Server
Exposes generate_wav and list_options tools to any MCP-compatible agent (Claude Desktop, Claude Code, Cursor, Windsurf, etc).
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"chord-synth": {
"command": "npx",
"args": ["-y", "chord-synth", "mcp"]
}
}
}
Claude Code:
# Add to Claude Code (point to the installed mcp-server.js)
claude mcp add chord-synth -- npx chord-synth --mcpThen ask Claude: "Generate a sad violin arpeggio over Am F C G at 80 BPM" — it will call generate_wav directly.
ChatGPT Codex:
Prompt:
I have a mcp tool to generate chord wav files at https://github.com/Misfits-Rebels-Outcasts/chord-synth,
use it generate a chord progression for violin "Am Dm G C" at 128 bpm Use as Node.js Module
const { renderJob, PRESETS, SCHEMA } = require('chord-synth');
const fs = require('fs');
// Render a WAV buffer
const wav = renderJob({
preset: "C G Am/E F",
bpm: 120,
instrument: "piano",
pattern: 1, // Up
enablePad: true,
drumPattern: "poprock"
});
fs.writeFileSync('output.wav', wav);Agent Interface
Agents should call chord-synth --schema to get the full JSON tool specification:
chord-synth --schemaReturns:
{
"tool": "chord-synth",
"description": "Generate chord progression WAV files...",
"input_schema": {
"type": "object",
"required": ["preset"],
"properties": {
"preset": { "type": "string", "description": "Named preset or custom chords..." },
"bpm": { "type": "integer", "default": 120 },
"instrument": { "type": "string", "enum": ["piano","guitar","violin",...] },
...
}
},
"examples": [...]
}List all available options:
chord-synth --listParameters
Parameter | Type | Default | Description |
| string | required | Named preset ( |
| int | 120 | Tempo |
| int | 0 | Semitones (-11 to +11) |
| int | 1 | Arp pattern index (see below) |
| string |
| Note rate: |
| string |
|
|
| int | 1 | 1-4 octave span |
| int | 3 | Starting MIDI octave |
| int | 90 | MIDI velocity 1-127 |
| float | 0.5 | 0.5=straight, 0.66=medium, 0.75=heavy |
| int | 2 | Progression repetitions |
| bool | true | Sustained pad chord track |
| int | 4 | Pad voicing octave |
| float | 0.12 | Pad volume (0.0-0.3) |
| bool | true | Auto bass (slash chords set bass note) |
| bool | true | Drum track |
| string |
| See drum patterns below |
| float | 0.18 | Reverb amount (0.0-0.5) |
Named Presets
Category | Presets |
Pop/Rock |
|
Jazz |
|
Neo-Soul/R&B |
|
Blues |
|
Latin |
|
Modal/Ambient |
|
EDM |
|
Classic |
|
Or use any custom chord string: "Fmaj7 Em7 Dm9 Cmaj7", "Am | Dm/F | E7 | Am", etc.
Arp Patterns
Index | Name | Index | Name |
0 | Chord (Block) | 11 | Pinky-Thumb |
1 | Up | 12 | Thumb-Pinky |
2 | Down | 13 | 1-3-5-3 |
3 | Up-Down | 14 | 1-5-3-5 |
4 | Down-Up | 15 | 1-5-8-5 |
5 | Up-Down (No Repeat) | 16 | 1-3-5-8-5-3 |
6 | Down-Up (No Repeat) | 17 | Alberti Bass |
7 | Random | 18 | Stride |
8 | Random Walk | 19 | Broken 3rds |
9 | Outside-In | 20 | Pedal Tone |
10 | Inside-Out | 21 | Alternating Bass |
Drum Patterns
8beat 16beat poprock acousticpop bossanova swing funk rnb waltz arpeggio none
Chord Notation
Roots: C C# Db D D# Eb E F F# Gb G G# Ab A A# Bb B
Qualities: (major) m 7 maj7 m7 dim aug sus2 sus4 9 m9 maj9 11 m11 13 6 m6 dim7 m7b5 add9 5 power
Slash chords: Am/E (Am chord, E bass note), C/G, Dm7/A
Separator: spaces or | both work. C G Am F = C | G | Am | F
Output
WAV PCM 16-bit mono 44100 Hz. Compatible with all DAWs, audio players, and audio processing tools.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Producer/Riffusion AI music generation
Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.
Create, co-edit, analyze, publish, and export collaborative step-sequencer sessions through MCP.
AI image, video, voice and music generation over MCP, routed to Veo 3.1, Seedance 2.5 and more.
Related MCP Servers
- AlicenseCqualityAmaintenanceA comprehensive MCP server that enables AI assistants to control REAPER DAW for mixing, mastering, MIDI composition, and full music production workflows with 130 tools.17768MIT
- FlicenseNot gradedqualityFmaintenanceAn MCP server that plays chord progressions via MIDI/WAV synthesis.-
- AlicenseNot gradedqualityBmaintenanceProvides 547 MCP tools for AI agents to programmatically control the openDAW browser-based digital audio workstation, enabling creation and manipulation of music projects including tracks, instruments, effects, MIDI, automation, and rendering.Apache 2.0
- AlicenseAqualityBmaintenanceA game-agnostic MCP toolkit for composing chiptune/retro MIDI and rendering game audio, enabling AI agents to generate multi-track MIDI files and render them to OGG/WAV.7MIT