๐ [English](README.md) | **ๆฅๆฌ่ช**
# ๐น Ableton MCP
่ช็ถ่จ่ชใงAbleton Liveใๅฎๅ
จใณใณใใญใผใซใใAIใจใผใธใงใณใใ
## ๐ 2ใคใฎใขใผใ
### 1๏ธโฃ MCP็๏ผๆจๅฅจ๏ผ- APIใญใผไธ่ฆ๏ผ
Claude Desktopใใ็ดๆฅไฝฟ็จใAPIใญใผไธ่ฆใงใใใฃใใใใใ ใใงAbletonใๆไฝใ
### 2๏ธโฃ CLI็ - ในใฟใณใใขใญใณ
Anthropic APIใญใผใไฝฟ็จใใฆใฟใผใใใซใใๆไฝใ
> โ ๏ธ **ๆณจๆ**: CLI็ใฏๅฎ้จ็ใชๆฉ่ฝใงใใใๅๅใชใในใใ่กใใใฆใใพใใใ
---
## ๐ MCP็ใปใใใขใใ๏ผAPIใญใผไธ่ฆ๏ผ
### 1. ใคใณในใใผใซ
```bash
cd ableton-mcp
pip install -e .
```
### 2. Claude Desktop่จญๅฎ
Claude Desktopใฎ่จญๅฎใใกใคใซใ็ทจ้๏ผ
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"ableton-mcp": {
"command": "python",
"args": ["-m", "src.mcp_server"],
"cwd": "/path/to/ableton-mcp"
}
}
}
```
โ ๏ธ `cwd` ใableton-mcpใใฉใซใใฎๅฎ้ใฎใในใซๅคๆดใใฆใใ ใใใ
๐ **Windowsใฆใผใถใผๅใ**: ่ฉณ็ดฐใชๆ้ ใฏ [INSTALL_WINDOWS.md](INSTALL_WINDOWS.md) ใๅ็
งใใฆใใ ใใใ
### 3. AbletonOSCใใคใณในใใผใซ
**ๆนๆณA: Max for Liveใใใคใน๏ผ็ฐกๅ๏ผ**
1. [AbletonOSC](https://github.com/ideoforms/AbletonOSC/releases)ใใใฆใณใญใผใ
2. `AbletonOSC.amxd` ใAbleton Liveใฎใใฉใใฏใซใใฉใใฐ
**ๆนๆณB: Remote Script๏ผๆจๅฅจ๏ผ**
1. https://github.com/ideoforms/AbletonOSC ใใใใฆใณใญใผใ
2. Remote Scriptsใใฉใซใใซ้
็ฝฎ:
- **Windows**: `C:\Users\<ใฆใผใถใผๅ>\Documents\Ableton\User Library\Remote Scripts\AbletonOSC`
- **macOS**: `~/Music/Ableton/User Library/Remote Scripts/AbletonOSC`
3. ใใฉใซใๆงๆ: `AbletonOSC\__init__.py` ใ็ดไธใซใใ็ถๆ
4. Ableton Live โ Preferences โ Link/Tempo/MIDI โ Control Surface โ **AbletonOSC** ใ้ธๆ
### 4. Claude Desktopใๅ่ตทๅ
ๅ่ตทๅๅพใใใฃใใใง็ดๆฅAbletonใๆไฝใงใใพใ๏ผ
```
You: 4ๅใฎEDMใใฉใใฏใไฝใฃใฆ
Claude: [generate_arrangement ใใผใซใไฝฟ็จ]
ใขใฌใณใธใกใณใใ็ๆใใพใใ...
You: ใใฉใใ้ขจใฎใใฉใ ใ่ฟฝๅ ใใฆ
Claude: [create_drum_track ใใผใซใไฝฟ็จ]
ใใฉใ ใใฉใใฏ 'Drums' ใไฝๆใใพใใ...
```
---
## โจ ๆฉ่ฝ
### ๐ฅ ใใฉใ /ใชใบใ ็ๆ
- ๅบๆฌใใผใใ4ใคๆใกใใใฉใใใใใฌใคใฏใใผใใD&B
- ใซในใฟใ ใใฟใผใณไฝๆ
### ๐น ใกใญใใฃ/ใทใณใป็ๆ
- **ใกใญใใฃ**: ในใฑใผใซใใผในใฎ่ชๅ็ๆ๏ผๅฏๅบฆใ่ผช้ญใ่ชฟๆดๅฏ่ฝ๏ผ
- **ใใผในใฉใคใณ**: basic, walking, syncopated, octave, arpeggiated
- **ใณใผใ้ฒ่ก**: pop, jazz, sad, epic, dark, edm, lofi, cinematic
- **ใขใซใใธใช**: up, down, updown, random๏ผ8th/16th/triplet๏ผ
### ๐ ใตใณใใซๆค็ดข
- ใญใผใซใซใฉใคใใฉใชๆค็ดข๏ผAbleton Core Library, Splice็ญ๏ผ
- Freesound APIๅฏพๅฟ
- ๆฅๆฌ่ชใฏใจใชๅฏพๅฟ๏ผใใจในใใใฏใชใใผใซใใทใงใณใใชใฉ๏ผ
### ๐๏ธ ใใญใทใณใฐๆฏๆด
- ๅจๆณขๆฐ่ก็ชๆคๅบ๏ผใญใใฏใจใใผในใชใฉ๏ผ
- ใตใคใใใงใคใณใณใณใใฌใใทใงใณ่ชๅ่จญๅฎ
- EQๆๆก
- ใฌใใซ/ใใคใใใฏในๅๆ
### ๐ ๆฒๆงๆ็ๆ
- ใธใฃใณใซใใณใใฌใผใ: EDM, House, Techno, D&B, HipHop, Trap, Lo-Fi, Ambient, Pop
- ใคใณใใญโใใซใใขใใโใใญใใโใใฌใคใฏใใฆใณโใขใฆใใญใฎๅฎๅ
จๆงๆ
- ่ชๅใชใผใใกใผใทใงใณ็ๆ
---
## ๐ป CLI็ใฎไฝฟใๆน
### ่ตทๅ
```bash
# Abletonๆฅ็ถใขใผใ
python src/cli.py
# ใขใใฏใขใผใ๏ผAbletonใชใใงใในใ๏ผ
python src/cli.py --mock
```
### ไฝฟ็จไพ
```
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐น Ableton Agent CLI v2.0 ๐น โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ค You: 4ๅใฎEDMใใฉใใฏใไฝใฃใฆ
๐ค Agent: EDMใใฉใใฏใฎใขใฌใณใธใกใณใใ็ๆใใพใใ
๐๏ธ ๅฎ่ก: generate_arrangement
ใใฉใกใผใฟ: {"genre": "edm", "duration_minutes": 4.0}
โ
ใขใฌใณใธใกใณใใ็ๆใใพใใ:
๐ต Untitled Edm
Tempo: 128 BPM | Key: Am
Total: 72 bars
๐ Structure:
[ 0] intro | 8 bars | Energy: โโโโโโโโโโ
[ 8] buildup | 8 bars | Energy: โโโโโโโโโโ
[ 16] drop | 16 bars | Energy: โโโโโโโโโโ
[ 32] breakdown | 8 bars | Energy: โโโโโโโโโโ
[ 40] buildup | 8 bars | Energy: โโโโโโโโโโ
[ 48] drop | 16 bars | Energy: โโโโโโโโโโ
[ 64] outro | 8 bars | Energy: โโโโโโโโโโ
๐ค You: ใใฉใใ้ขจใฎใใฉใ ใไฝใฃใฆ
๐ค Agent: ใใฉใใ้ขจใฎใใฉใ ใใฟใผใณใไฝๆใใพใใ
๐๏ธ ๅฎ่ก: create_drum_track
ใใฉใกใผใฟ: {"pattern_type": "trap", "bars": 2, "name": "Trap Drums"}
โ
ใใฉใ ใใฉใใฏ 'Trap Drums' ใไฝๆ๏ผใใฟใผใณ: trap, 2ๅฐ็ฏ๏ผ
```
---
## โจ๏ธ ใณใใณใไธ่ฆง
### ็นๆฎใณใใณใ
| ใณใใณใ | ่ชฌๆ |
|---------|------|
| `/help` | ใใซใใ่กจ็คบ |
| `/status` | ใใญใธใงใฏใ็ถๆ
ใ่กจ็คบ |
| `/genres` | ๅฉ็จๅฏ่ฝใชใธใฃใณใซไธ่ฆง |
| `/arrangement` | ็พๅจใฎใขใฌใณใธใกใณใใ่กจ็คบ |
| `/mock` | ใขใใฏใขใผใใฎๅใๆฟใ |
| `/clear` | ไผ่ฉฑๅฑฅๆญดใใฏใชใข |
| `quit` | ็ตไบ |
### ่ช็ถ่จ่ชใณใใณใไพ
#### ใใฉใ
- ใๅบๆฌ็ใชใใฉใ ใใฟใผใณใไฝใฃใฆใ
- ใใใฉใใ้ขจใฎใใผใใ4ๅฐ็ฏใ
- ใ4ใคๆใกใฎใญใใฏใ
- ใใใฌใคใฏใใผใใไฝใฃใฆใ
#### ใกใญใใฃ/ใใผใน
- ใCใใคใใผใงใกใญใใฃใไฝใฃใฆใ
- ใใใณใฟใใใใฏใฎๆใใใกใญใใฃใ
- ใใทใณใณใใผใทใงใณใฎใใผในใฉใคใณใ
- ใใชใฏใฟใผใใใผในใ่ฟฝๅ ใ
- ใ16ๅ้ณ็ฌฆใฎใขใซใใธใชใ
#### ใณใผใ
- ใใใผใฏใชใณใผใ้ฒ่กใไฝใฃใฆใ
- ใใธใฃใบใฃใฝใใณใผใใ
- ใใทใใใใฃใใฏใชใณใผใ้ฒ่กใ
#### ใตใณใใซ
- ใใจในใใใฏใชใใผใซใใทใงใณใๆขใใฆใ
- ใใใผใฏใชใทใณใป 140BPMใ
- ใใญใใฏใตใณใใซใๆค็ดขใ
#### ใใญใทใณใฐ
- ใใใใฏในใๅๆใใฆใ
- ใใญใใฏใจใใผในใ่ขซใฃใฆใใ
- ใๅ
จไฝ็ใซใใใฃใฆใใ
- ใใตใคใใใงใคใณใ่จญๅฎใ
- ใใชใใผใใ่ฟฝๅ ใ
#### ๆฒๆงๆ
- ใ4ๅใฎEDMใใฉใใฏใไฝใฃใฆใ
- ใใญใผใใกใคใใใใใใใฎๆงๆใ็ๆใ
- ใใใฏใใฎๆฒๆงๆใไฝใฃใฆใ
#### ้ฐๅฒๆฐ
- ใใใฃใจใใผใฏใช้ฐๅฒๆฐใซใใฆใ
- ใๆใใใใฆใ
- ใๆฟใใๆใใซใใฆใ
- ใใใซใช้ฐๅฒๆฐใซใ
---
## ๐ ใใญใธใงใฏใๆงๆ
```
ableton-mcp/
โโโ .gitignore
โโโ LICENSE
โโโ README.md # ่ฑ่ช็
โโโ README.ja.md # ๆฅๆฌ่ช็
โโโ INSTALL_WINDOWS.md # Windowsใปใใใขใใใฌใคใ
โโโ pyproject.toml
โโโ setup.bat # Windowsใปใใใขใใในใฏใชใใ
โโโ claude_desktop_config.example.json # ่จญๅฎใใกใคใซใฎไพ
โโโ src/
โโโ __init__.py
โโโ mcp_server.py # MCPใตใผใใผ๏ผClaude Desktop็จ๏ผ
โโโ cli.py # CLIใคใณใฟใผใใงใผใน
โโโ agent.py # AIใจใผใธใงใณใ๏ผClaude API๏ผ
โโโ ableton_osc.py # Ableton OSC้ไฟก
โโโ synth_generator.py # ใกใญใใฃ/ใใผใน/ใณใผใ/ใขใซใใธใช็ๆ
โโโ sample_search.py # ใตใณใใซๆค็ดขใจใณใธใณ
โโโ mixing_assistant.py # ใใญใทใณใฐๅๆใปๆฏๆด
โโโ arrangement_generator.py # ๆฒๆงๆ็ๆ
```
---
## ๐ง ๆกๅผตๆนๆณ
### ๆฐใใใใผใซใ่ฟฝๅ
1. `src/agent.py` ใฎ `ABLETON_TOOLS` ใซใใผใซๅฎ็พฉใ่ฟฝๅ :
```python
{
"name": "your_tool_name",
"description": "ใใผใซใฎ่ชฌๆ",
"input_schema": {
"type": "object",
"properties": {
"param1": {"type": "string", "description": "่ชฌๆ"}
},
"required": ["param1"]
}
}
```
2. `src/cli.py` ใฎ `execute_command` ใซๅฎ่กใญใธใใฏใ่ฟฝๅ :
```python
elif tool == "your_tool_name":
return self._your_implementation(params)
```
### ๆฐใใใธใฃใณใซใใณใใฌใผใใ่ฟฝๅ
`src/arrangement_generator.py` ใฎ `GenreTemplates.TEMPLATES` ใซ่ฟฝๅ :
```python
"your_genre": {
"sections": [
("intro", 8, 0.3, ["pad"]),
("verse", 16, 0.6, ["drums", "bass"]),
# ...
],
"tempo_range": (100, 120),
"default_key": "Am",
}
```
---
## ๐๏ธ ใขใผใญใใฏใใฃ
```
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ User Input (่ช็ถ่จ่ช) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Claude API (Tool Use) โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โ
โ โ Drums โ โ Melody โ โ Samples โ โ Mixing โ ... โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Command Executor โ
โ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โ
โ โ SynthGenerator โ โ SampleSearch โ โ MixingAssist โ โ
โ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โ
โ โ ArrangementGen โ โ DrumPattern โ โ
โ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ OSC Communication โ
โ (python-osc) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Ableton Live โ
โ (via AbletonOSC) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
```
---
## โ ใใฉใใซใทใฅใผใใฃใณใฐ
### ่ตทๅ้ ๅบ๏ผ้่ฆ๏ผ๏ผ
1. **Ableton Liveใๅ
ใซ่ตทๅ**
2. AbletonOSCใใStarted AbletonOSC on address ('0.0.0.0', 11000)ใใจใญใฐใซๅบใใฎใ็ขบ่ช
3. **ใใฎๅพใซClaude Desktopใ่ตทๅ**
### OSCๆฅ็ถใจใฉใผ
- AbletonOSCใใญใผใใใใฆใใใ็ขบ่ช
- ใใผใ11000ใไฝฟ็จๅฏ่ฝใ็ขบ่ช
- ใใกใคใขใฆใฉใผใซ่จญๅฎใ็ขบ่ช
**Windows - ใใผใ็ขบ่ช:**
```powershell
netstat -ano | findstr "11000 11001"
```
**Windows - Abletonใญใฐ็ขบ่ช:**
```powershell
Get-Content "$env:USERPROFILE\AppData\Roaming\Ableton\Live *\Preferences\Log.txt" -Tail 50 | Select-String "OSC"
```
### Claude Desktopใฎๅ้ก
- **ใใกใคใซ็ทจ้ๅพ**: Claude Desktopใๅฎๅ
จใซๅ่ตทๅ๏ผใฟในใฏใใฌใคใใ็ตไบ๏ผ
- **ๆฅ็ถใใใใใๆ**: Claude Desktopใๅ่ตทๅ
### APIใจใฉใผ๏ผCLI็๏ผ
- `ANTHROPIC_API_KEY` ใๆญฃใใ่จญๅฎใใใฆใใใ็ขบ่ช
- APIๅฉ็จๅถ้ใ็ขบ่ช
### ใตใณใใซใ่ฆใคใใใชใ
- ใตใณใใซใใฉใซใใฎใในใ็ขบ่ช
- `SampleSearchEngine` ใฎๅๆๅๆใซใซในใฟใ ใในใๆๅฎ
---
## ๐ ใฉใคใปใณใน
MIT
## ๐ ๅ่
- [AbletonOSC](https://github.com/ideoforms/AbletonOSC)
- [Anthropic Claude API](https://docs.anthropic.com/)
- [python-osc](https://python-osc.readthedocs.io/)
- [Freesound API](https://freesound.org/docs/api/)