Manual
The THIRI manual
One place for everything we have learned building a deterministic harmony engine and putting it in agents, plugins, pedals and film scores. Written to be read in order; usable as a reference.
Updated Oct 2, 2026
Public
10
chapters anyone can read
Sign in
3
free with a developer account
Builders
5
for Developer and Licence seats
Formats
Read it here, or take the public edition as a PDF or Markdown. Signed-in chapters unlock with a free account; Builders chapters unlock with a Developer or Licence seat from the keys page. The Builders edition PDF is shared inside T.H.I.R.I. Builders.
Part I · The engine
- 00 What THIRI is A harmony engine that computes rather than guesses, and the one sentence that explains why that matters to anyone putting music in front of a language model. Public
- 01 The five calls What each endpoint answers, what it needs, and what it returns, with the real responses captured from the live engine. Public
- 02 Voicings: what the engine actually builds Close voicing, stacked thirds, chord voicings, drop-2, drop-3, drop-2+4, the doubled lead and voice leading, explained the way an arranger would, with the worked examples the engine is tested against. Builders
- 03 MCP and agents: putting the engine in the loop What the Model Context Protocol server is, how its five tools map to the REST calls, why the agent has to be told to use them, what the hosted endpoint costs in milliseconds, and how a second server turns the harmony into sound. Public
- 04 Chord vocabulary, spelling and the traps Which chord qualities the hosted API, the JavaScript engine and the C++ port agree on, how a symbol is parsed and spelled, what key accepts, and the one failure that is silent. Sign in to read
Part II · In production
- 10 On the pedal: fitting the engine in 1.333 ms The Elk Stomp measurements: five harmony voices plus chord intelligence inside the audio callback, the three builds it took to get there, and the six disciplines that made the numbers trustworthy. Public
- 12 Google Lyria, Magenta and Gemini: what THIRI can steer The 2026-10-01 experiments: which Google music models exist, what THIRI can enforce in each, what was measured, the Lyria scale value that does nothing, and a melody generator with no model that beat Magenta on the study cue. Public
- 13 Composer C: an agent that writes Csound with THIRI holding the harmony A chat-driven studio where a language model edits a typed song spec, THIRI supplies every voicing, Csound renders deterministically, and nothing is called finished until it has been measured. Public
Part III · Building on it
- 20 Porting the engine: the cross-repo rules Where the canonical engine lives, how the C++ port is pinned to it by golden vectors, and the eleven traps that have already cost a day each. For people who ship THIRI inside something. Builders
- 21 Csound lessons from the skill pack What the Csound agentic skill pack learned the hard way: design one parameter at a time, measure every render, know which numbers lie, prove a knob by byte identity, and fold every lesson back into the skills. Builders
- 22 Ableton Live, plugins and DAWs: what actually routes What Live 11 does with a plugin's MIDI, how it files THIRI, the typed chart and TRIGGER pads, a two-instance reharmonisation rig, and the two bridges still waiting for proof. Sign in to read
- 23 Evaluating a model's harmony with a deterministic oracle How to measure whether a language model gets harmony right when THIRI is the ground truth: the thesis, the probes behind the pilot numbers, the blast-radius table, where the idea sits against published work, and what the pilot cannot yet claim. Builders
- 24 How we measure The six disciplines behind every number THIRI publishes, from the bit-identity gate to measuring the worst block, and how they transfer from a pedal to a film score to an API. Public
Part IV · The community
- 30 The Builders playbook How T.H.I.R.I. Builders runs week to week, what the paid tiers include and how they reach your key, how to bring a build or a bug so it gets fixed, where each kind of writing is published, and the six steps of the Get Started Guide. Sign in to read
- 31 Infrastructure notes for builders Generic lessons from running the THIRI estate that each cost a day once: DNS-only CNAMEs to a host's per-project targets, negative caching, magic links that die with SMTP, a Mac with bun and no Node, Csound without sudo, an honest lockfile, and endpoints that refuse GET on purpose. Builders
Appendix
- 40 Glossary Fifty-four terms a developer meets in this manual, from guide tones to SharedArrayBuffer, each defined in a sentence or two with a musical example where it helps. Public
- 41 Questions developers ask Twenty short questions with honest answers about determinism, scope, keys, limits, browsers, offline use, DAWs, the pedal, logging, support and what is public about what comes next. Public
- 90 Appendix: licences and hand-off rules What is open, what is source-available, what is private, and the rules for sound libraries and other people's work when THIRI output ships in a product or a film. Public
How this manual is written
Every number in it has a source: a file in a public repo, a measurement log, or a dated build note. Where two sources disagree, the chapter says so rather than picking one. Chapters are Markdown in the site's repository, so corrections are pull requests. The PDF is rebuilt from the same files.