THIRI Chord Intelligence

resmi

Mesin teori musik deterministik untuk agen AI menganalisis, menyelesaikan, menyuarakan, dan mereharmonisasi akor.

Apa yang bisa Anda lakukan dengan THIRI Chord Intelligence MCP?

  • Analisis fungsi akor — Minta analyze_chord untuk mengembalikan nada dasar, kualitas, interval, angka Romawi, dan fungsi harmonis untuk akor apa pun dalam sebuah kunci.
  • Menyelesaikan nada akor — Gunakan resolve_chord untuk mendapatkan nada yang dieja dengan benar secara enharmonis, nilai MIDI, frekuensi, dan rekomendasi tangga nada.
  • Menghasilkan voicing instrumen — Minta generate_voicing dengan gaya seperti rootless, shell, atau drop-2, plus skor panduan suara saat memasukkan nada sebelumnya.
  • Reharmonisasi progresi — Terapkan teknik reharmonize seperti substitusi tritone, perubahan Coltrane, atau dominan sekunder pada urutan akor apa pun.
  • Memimpin sebuah band — Gunakan conduct_band untuk menerjemahkan instruksi bahasa alami menjadi jalur instrumen dan data MIDI.

Dokumentasi

🎷 THIRI Chord Intelligence — Server MCP

npm npm downloads CI license MCP Glama score

Berikan AI Anda teori musik yang nyata. THIRI adalah server MCP teori musik + API yang deterministik untuk para pembangun AI — ini memungkinkan Claude, Cursor, atau agen MCP mana pun untuk menganalisis akor, menjalankan analisis angka romawi, menghasilkan voicing, dan mereharmonisasi progresi dengan jawaban yang dihitung, bukan ditebak.

LLM berhalusinasi tentang teori musik: nada yang salah, angka romawi palsu, voicing yang tidak memimpin suara. THIRI adalah mesin deterministik (teori kelas pitch-set atas ℤ/12) di balik API yang dihosting — sehingga C7sus4 mempertahankan suspensinya, Caug mengeja C E G#, dan "perubahan Coltrane pada Dm7 G7 Cmaj7" mengembalikan Cmaj7 Ab7 Abmaj7 E7, setiap saat.

Di hilir Suno / Udio atau generator apa pun? Bungkus keluarannya dan dapatkan bagan akor yang benar yang dapat dipercaya oleh agen Anda. Dan tidak seperti tonal.js atau music21, THIRI dihosting dan ramah-agen (tanpa instalasi, bahasa apa pun) — dan ia mereharmonisasi dan memimpin suara, bukan sekadar mencari akor.

⭐ Jika ini berguna, bintangi repositori ini — ini membantu musisi lain dan pembangun agen menemukannya.

Musisi: Pengaturan 2 menit (tanpa kode)

  1. Dapatkan kunci gratis di build.thiri.ai/developers
  2. Di Claude: Pengaturan → KonektorTambahkan konektor khusus → URL https://mcp.thiri.ai/mcp → tempel kunci sk_live_ Anda
  3. Tanyakan pada Claude: "Reharmonisasi Dm7 G7 Cmaj7 dengan perubahan Coltrane."

Itu saja — tanpa instalasi, tanpa file konfigurasi. Pembangun: opsi instalasi lengkap (Claude Code, konfigurasi Desktop, HTTP mentah) ada di bawah.

Apa yang dapat Anda tanyakan

"Analisis Dm7b5 dalam C."iiø7, setengah-diminished, predominant pinjaman, + opsi skala "Nada apa saja dalam C7sus4?"C F G Bb (suspensinya bertahan) "Beri saya voicing Cmaj7 tanpa root, lalu pimpin suara ke Dm7." → voicing + skor pemimpin suara "Reharmonisasi Dm7 G7 Cmaj7 dengan perubahan Coltrane."Cmaj7 Ab7 Abmaj7 E7

Alat

AlatFungsinya
analyze_chordAkor → root, kualitas, interval, angka romawi & fungsi harmonik (dominan sekunder, label modal-interchange)
resolve_chordAkor → nada yang dieja (benar secara enharmonik), frekuensi, MIDI, rekomendasi skala
generate_voicingVoicing siap-instrumen (tanpa root/bill_evans, shell, triad, pad, guide-tones, drop-2/3); berikan previousNotes untuk skor pemimpin suara; colorPreferences untuk ketegangan eksplisit
reharmonizeReharmonisasi progresi — 8 teknik: tritone_sub, ii_v_insertion, modal_interchange, diminished_passing, secondary_dominant, chain_of_dominants, coltrane_changes, backdoor (atau auto)
conduct_bandKonduksi band bahasa alami → jalur + MIDI (MCP v0.3+ yang dihosting)

Berjalan di mesin grid v2 — akor sus yang benar, triad asli, ejaan enharmonik, semua dominan teralterasi — dengan batas waktu permintaan, pelaporan kuota, dan kesalahan terstruktur.

Pendamping Konduktor & komposisi (Desktop saja)

Untuk loop agen dengar-itu (konduksi → render sisi-server → WAV melalui speaker Anda), tambahkan server lokal kedua di samping alat teori yang dihosting:

{
  "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"]
    }
  }
}
BinAlat
thiri-conductor-mcpconduct_band, render_audio (Csound sisi-server melalui POST /v2/render), play_audio, search_csound_corpus
thiri-composition-mcpAlat IR komposisi + play_composition (pratinjau fluidsynth)

Rendering berjalan di sisi-server sejak v0.5.0 — tanpa instalasi Csound. Bukti: npm run test:conductor · dokumen langsung: build.thiri.ai/lab/conductor-mcp · resep agen.

Agen Konduktor (komposisi vibe)

Persona ujung-ke-ujung untuk komposisi vibe lokal — keterampilan, CLI, dan panel dasbor Band:

EntriPerintah / jalur
Keterampilan CursorSalin THIRI/lab/skills/thiri-conductor-agent/SKILL.md~/.cursor/skills/thiri-conductor-agent/SKILL.md
CLIcd thiri-mcp && npm run conductor:vibe -- "gospel ballad in F minor"
Dasbornpm run dev:studiolocalhost:5173/band → panel Vibe Conduct
Bukti Labbuild.thiri.ai/lab/conductor-agent

Konfigurasi MCP ganda di atas + mapConductResultToStudioModules setelah setiap conduct_band. Render CLI terakhir menulis ~/.thiri/conductor-last.json (hanya lokal, tidak dikomit).

Resep agen unggulan (analisis → konduksi → render → kritik)

Tempel secara berurutan setelah konfigurasi MCP ganda di atas:

  1. Analisis"Analisis Dm7 G7 Cmaj7 dalam kunci C dengan analyze_chord; rangkum angka romawi dan ketegangan."
  2. Konduksi"conduct_band: pad Rhodes hangat, bass berjalan, drum kuas, 8 birama swing sedang dalam C."
  3. Render"render_audio dari hasil konduksi pada tempo 120."
  4. Kritik"play_audio; kritik pemimpin suara dan keseimbangan register; sarankan satu revisi."

Prompt lengkap: build.thiri.ai/lab/agent-recipes

Batas dihosting vs lokal

PermukaanRender audio
mcp.thiri.ai / konektor yang dihostingTidak — hanya teori + jalur conduct_band
thiri-conductor-mcp lokalYa — WAV dirender di sisi-server (POST /v2/render), diputar secara lokal; tanpa instalasi Csound

Instalasi

Dapatkan kunci gratis di build.thiri.ai/developers, lalu pilih jalur:

Claude Desktop / web / seluler — dihosting (konektor khusus satu-klik, tidak perlu menginstal apa pun): Pengaturan → Konektor → Tambahkan konektor khusus → URL https://mcp.thiri.ai/mcp → tempel kunci sk_live_ Anda di halaman persetujuan. 5 alat yang sama, kunci yang sama, kuota yang sama — tanpa file konfigurasi, tanpa npx.

Claude Code (satu baris):

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" }
    }
  }
}

Lebih suka HTTP mentah? (tanpa MCP)

Mesin yang sama adalah API REST biasa:

curl -X POST https://chords.thiri.ai/v2/analyze \
  -H "Authorization: Bearer YOUR_KEY" -H "content-type: application/json" \
  -d '{"chord":"Dm7b5","key":"C"}'

Lima endpoint: /v2/analyze, /v2/resolve, /v2/voicing, /v2/reharmonize, /v2/conduct. Lihat openapi.yaml.

Variabel lingkungan

VariabelDefaultDeskripsi
THIRI_API_KEY(tidak ada)Token pembawa (sk_live_…) — dapatkan di build.thiri.ai/developers
THIRI_API_URLhttps://chords.thiri.aiBasis API (timpa hanya untuk pengembangan lokal)

Pengembangan

npm install && npm run build && npm start

Lisensi

PolyForm Noncommercial 1.0.0 — © 2026 Blues Prince Media. Gratis untuk penggunaan pribadi, penelitian, dan nonkomersial; penggunaan komersial memerlukan lisensi (dennison@bluesprincemedia.com). Lihat LICENSE. Versi yang diterbitkan pada atau sebelum v0.5.0 tetap di bawah lisensi ganda MIT/PolyForm yang mereka bawa.

Sejak v0.5.0 mesin komposisi dan perender Csound berjalan di sisi-server di belakang API yang dihosting (POST /v2/compose, POST /v2/render); sumbernya tidak lagi disertakan dalam paket ini.