THIRI Chord Intelligence
chính thứcCông cụ lý thuyết âm nhạc xác định để các tác nhân AI phân tích, giải quyết, tạo giọng và tái hòa âm hợp âm.
Bạn có thể làm gì với THIRI Chord Intelligence MCP?
- Phân tích chức năng hợp âm — Yêu cầu
analyze_chordtrả về nốt gốc, chất lượng, quãng, số La Mã và chức năng hòa âm cho bất kỳ hợp âm nào trong một giọng. - Giải quyết các nốt hợp âm — Sử dụng
resolve_chordđể nhận các nốt được viết đúng về mặt trùng âm, giá trị MIDI, tần số và gợi ý thang âm. - Tạo cách lên giọng cho nhạc cụ — Yêu cầu
generate_voicingvới các phong cách như không nốt gốc, shell hoặc drop-2, cùng với điểm số dẫn giọng khi truyền các nốt trước đó. - Tái hòa âm các chuỗi hợp âm — Áp dụng các kỹ thuật
reharmonizenhư thay thế quãng ba tăng, biến đổi Coltrane hoặc hợp âm át phụ cho bất kỳ chuỗi hợp âm nào. - Chỉ huy một ban nhạc — Sử dụng
conduct_bandđể chuyển các hướng dẫn ngôn ngữ tự nhiên thành các làn nhạc cụ và dữ liệu MIDI.
Tài liệu
🎷 THIRI Chord Intelligence — Máy chủ MCP
Mang lý thuyết âm nhạc thực sự cho AI của bạn. THIRI là máy chủ MCP lý thuyết âm nhạc + API mang tính xác định dành cho các nhà phát triển AI — nó cho phép Claude, Cursor, hoặc bất kỳ tác nhân MCP nào phân tích hợp âm, chạy phân tích chữ số La Mã, tạo cách bấm hợp âm, và tái hòa âm các chuỗi hợp âm với câu trả lời được tính toán, không phải đoán mò.
LLM thường bịa đặt lý thuyết âm nhạc: nốt sai, chữ số La Mã giả, cách bấm không dẫn dắt giọng. THIRI là một công cụ xác định (lý thuyết tập hợp lớp cao độ trên ℤ/12) đằng sau một API được lưu trữ — vì vậy C7sus4 giữ nguyên độ trễ của nó, Caug đánh vần C E G#, và "Coltrane changes on Dm7 G7 Cmaj7" trả về Cmaj7 Ab7 Abmaj7 E7, mỗi lần.
Hoạt động sau Suno / Udio hoặc bất kỳ trình tạo nào? Bọc đầu ra và nhận một biểu đồ hợp âm chính xác mà tác nhân của bạn có thể tin cậy. Và không giống như tonal.js hoặc music21, THIRI được lưu trữ và thân thiện với tác nhân (không cần cài đặt, bất kỳ ngôn ngữ nào) — và nó tái hòa âm và dẫn dắt giọng, không chỉ tra cứu hợp âm.
⭐ Nếu hữu ích, hãy star repo — điều đó giúp các nhạc sĩ và nhà phát triển tác nhân khác tìm thấy nó.
Nhạc sĩ: Thiết lập trong 2 phút (không cần code)
- Nhận khóa miễn phí tại build.thiri.ai/developers
- Trong Claude: Settings → Connectors → Add custom connector → URL
https://mcp.thiri.ai/mcp→ dán khóask_live_của bạn - Hỏi Claude: "Reharmonize Dm7 G7 Cmaj7 with Coltrane changes."
Chỉ vậy thôi — không cài đặt, không tệp cấu hình. Nhà phát triển: các tùy chọn cài đặt đầy đủ (Claude Code, cấu hình Desktop, HTTP thô) ở bên dưới.
Những gì bạn có thể hỏi
"Analyze Dm7b5 in C." →
iiø7, half-diminished, âm mượn trước hợp âm chủ, + các tùy chọn âm giai "What notes are in C7sus4?" →C F G Bb(độ trễ được giữ nguyên) "Give me a rootless Cmaj7 voicing, then voice-lead into Dm7." → cách bấm + điểm dẫn dắt giọng "Reharmonize Dm7 G7 Cmaj7 with Coltrane changes." →Cmaj7 Ab7 Abmaj7 E7
Công cụ
| Công cụ | Chức năng |
|---|---|
analyze_chord | Hợp âm → nốt gốc, chất lượng, quãng, chữ số La Mã & chức năng hòa âm (dominant thứ cấp, nhãn trao đổi điệu thức) |
resolve_chord | Hợp âm → các nốt được đánh vần (đúng về mặt tăng cường), tần số, MIDI, gợi ý âm giai |
generate_voicing | Cách bấm sẵn sàng cho nhạc cụ (rootless/bill_evans, shell, triad, pad, guide-tones, drop-2/3); truyền previousNotes để có điểm dẫn dắt giọng; colorPreferences cho các tension tường minh |
reharmonize | Tái hòa âm chuỗi hợp âm — 8 kỹ thuật: tritone_sub, ii_v_insertion, modal_interchange, diminished_passing, secondary_dominant, chain_of_dominants, coltrane_changes, backdoor (hoặc auto) |
conduct_band | Điều khiển ban nhạc bằng ngôn ngữ tự nhiên → các làn + MIDI (MCP v0.3+ được lưu trữ) |
Chạy trên công cụ lưới v2 — hợp âm sus chính xác, hợp âm ba thực sự, đánh vần tăng cường, tất cả các dominant biến đổi — với thời gian chờ yêu cầu, báo cáo hạn mức và lỗi có cấu trúc.
Người chỉ huy & bạn đồng hành sáng tác (chỉ Desktop)
Đối với các vòng lặp tác nhân nghe-được (chỉ huy → kết xuất phía máy chủ → WAV qua loa của bạn), thêm một máy chủ cục bộ thứ hai cùng với các công cụ lý thuyết được lưu trữ:
{
"mcpServers": {
"thiri": {
"command": "npx",
"args": ["-y", "@bluesprincemedia/thiri-mcp"],
"env": { "THIRI_API_KEY": "sk_live_your_key" }
},
"thiri-conductor": {
"command": "npx",
"args": ["-y", "@bluesprincemedia/thiri-mcp", "thiri-conductor-mcp"],
"env": { "THIRI_API_KEY": "sk_live_your_key" }
},
"thiri-composition": {
"command": "npx",
"args": ["-y", "@bluesprincemedia/thiri-mcp", "thiri-composition-mcp"]
}
}
}
| Bin | Công cụ |
|---|---|
thiri-conductor-mcp | conduct_band, render_audio (Csound phía máy chủ qua POST /v2/render), play_audio, search_csound_corpus |
thiri-composition-mcp | Công cụ IR sáng tác + play_composition (xem trước fluidsynth) |
Kết xuất chạy phía máy chủ kể từ v0.5.0 — không cần cài đặt Csound. Bằng chứng: npm run test:conductor · tài liệu trực tiếp: build.thiri.ai/lab/conductor-mcp · công thức tác nhân.
Tác nhân chỉ huy (sáng tác theo vibe)
Nhân cách toàn diện cho sáng tác vibe cục bộ — kỹ năng, CLI và bảng điều khiển Band:
| Mục | Lệnh / đường dẫn |
|---|---|
| Kỹ năng Cursor | Sao chép THIRI/lab/skills/thiri-conductor-agent/SKILL.md → ~/.cursor/skills/thiri-conductor-agent/SKILL.md |
| CLI | cd thiri-mcp && npm run conductor:vibe -- "gospel ballad in F minor" |
| Bảng điều khiển | npm run dev:studio → localhost:5173/band → bảng điều khiển Vibe Conduct |
| Bằng chứng Lab | build.thiri.ai/lab/conductor-agent |
Cấu hình MCP kép ở trên + mapConductResultToStudioModules sau mỗi conduct_band. Kết xuất CLI cuối cùng ghi ~/.thiri/conductor-last.json (chỉ cục bộ, không cam kết).
Công thức tác nhân chủ lực (phân tích → chỉ huy → kết xuất → phê bình)
Dán theo thứ tự sau cấu hình MCP kép ở trên:
- Phân tích — "Analyze Dm7 G7 Cmaj7 in key C with analyze_chord; summarize roman numerals and tension."
- Chỉ huy — "conduct_band: warm Rhodes pad, walking bass, brush drums, 8 bars medium swing in C."
- Kết xuất — "render_audio from the conduct result at tempo 120."
- Phê bình — "play_audio; critique voice-leading and register balance; suggest one revision."
Lời nhắc đầy đủ: build.thiri.ai/lab/agent-recipes
Ranh giới lưu trữ vs cục bộ
| Bề mặt | Kết xuất âm thanh |
|---|---|
mcp.thiri.ai / trình kết nối được lưu trữ | Không — chỉ lý thuyết + các làn conduct_band |
thiri-conductor-mcp cục bộ | Có — WAV được kết xuất phía máy chủ (POST /v2/render), phát cục bộ; không cần cài đặt Csound |
Cài đặt
Nhận khóa miễn phí tại build.thiri.ai/developers, sau đó chọn một đường dẫn:
Claude Desktop / web / mobile — được lưu trữ (trình kết nối tùy chỉnh một cú nhấp chuột, không cần cài đặt gì):
Settings → Connectors → Add custom connector → URL https://mcp.thiri.ai/mcp → dán khóa sk_live_ của bạn trên trang đồng ý. Cùng 5 công cụ, cùng khóa, cùng hạn mức — không tệp cấu hình, không npx.
Claude Code (một dòng):
claude mcp add thiri --env THIRI_API_KEY=sk_live_your_key -- npx -y @bluesprincemedia/thiri-mcp
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"thiri": {
"command": "npx",
"args": ["-y", "@bluesprincemedia/thiri-mcp"],
"env": { "THIRI_API_KEY": "sk_live_your_key" }
}
}
}
Thích HTTP thô? (không cần MCP)
Cùng một công cụ là một REST API đơn giản:
curl -X POST https://chords.thiri.ai/v2/analyze \
-H "Authorization: Bearer YOUR_KEY" -H "content-type: application/json" \
-d '{"chord":"Dm7b5","key":"C"}'
Năm điểm cuối: /v2/analyze, /v2/resolve, /v2/voicing, /v2/reharmonize, /v2/conduct. Xem openapi.yaml.
Biến môi trường
| Biến | Mặc định | Mô tả |
|---|---|---|
THIRI_API_KEY | (không có) | Bearer token (sk_live_…) — nhận tại build.thiri.ai/developers |
THIRI_API_URL | https://chords.thiri.ai | API base (ghi đè chỉ cho phát triển cục bộ) |
Phát triển
npm install && npm run build && npm start
Giấy phép
PolyForm Noncommercial 1.0.0 — © 2026 Blues Prince Media. Miễn phí cho mục đích cá nhân,
nghiên cứu và phi thương mại; sử dụng thương mại yêu cầu giấy phép
(dennison@bluesprincemedia.com). Xem LICENSE. Các phiên bản được phát hành tại hoặc
trước v0.5.0 vẫn thuộc giấy phép kép MIT/PolyForm mà chúng được phát hành.
Kể từ v0.5.0, công cụ sáng tác và trình kết xuất Csound chạy phía máy chủ đằng sau API được lưu trữ (
POST /v2/compose,POST /v2/render); mã nguồn của chúng không còn được đóng gói trong gói này.