Manual · Appendix
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.
Updated Oct 2, 2026
Terms are grouped by where you meet them. Each number names its chapter or page.
Harmony
- Pitch class. A note name with the octave removed; C4 and C5 are one. THIRI computes from sets of them.
- Guide tones. The third and seventh, the notes that fix a chord’s quality. In a 2-5-1 in F they fall by half steps, F to E and B flat to A.
- Voice leading. Moving each voice the shortest distance into the next chord. The
voicingcall scores it, lower is smoother; chapter 2 cut 754 semitones to 449 across 32 bars. - Avoid note. A scale tone that clashes with the chord when held. In the engine, the eleventh over any chord with a major triad on the bottom, so close C major skips F.
- Roman numeral. A chord named by its degree in the key, upper case major, lower case minor.
Dm7b5in C isiiø7on the API page. - Predominant. The job of a chord that leads to the dominant, as ii does. The
functionfield ofanalyzeuses the word. - Borrowed chord. A chord taken from the parallel major or minor.
analyzesetsborrowedtrue and adds the word to the function. - Modal interchange. Reharmonising with borrowed chords, one of the eight
reharmonizetechniques:Gm7 C7 Fmaj7becomesGm7b5 Cm Fm. - Secondary dominant. A dominant resolving somewhere other than the tonic, such as
D7beforeGm7in F. - Tritone substitution. Swapping a dominant for the one a tritone away. C7 becomes G flat 7: same guide tones, bass sliding a half step into F.
- Backdoor dominant. The dominant a whole step below the tonic, B flat 7 resolving into C major. The technique name is
backdoor. - Coltrane changes. Key centres a major third apart, each reached through its own dominant, the pattern of “Giant Steps”.
- Chord-scale. The scale that fits a chord in context.
analyzenames primary and secondary scales; D7 flat 9 in G minor gets half-whole diminished.
Voicings
- Close position. All voices within an octave. The engine’s true close voicing is the scale down from the lead with avoid notes skipped, a cluster of seconds.
- Rootless voicing. Leaves the root to the bass, the API default.
C13afterGm7returns E3 A3 B flat 3 with G and D omitted. - Drop-2. A four-note close voicing with the second voice from the top moved down an octave.
Cmaj7under E5 gives E5 B4 G4 C4. - Drop-3. The same with the third voice: E5 C5 G4 B3. Both count the original stack.
- Doubled lead. The melody repeated an octave below as a fifth voice, added after the drop.
- Lead sheet. Chord symbols on a bar grid, no voicings.
conductreturns one as text:| Gm9 | C13 | Fmaj9 | Fmaj9 |.
Notes and time
- MIDI note number. The Musical Instrument Digital Interface’s integer for a pitch, 0 to 127, C4 at 60.
resolveprints them beside names and frequencies. - ppq. Pulses per quarter note, the tick grid of a MIDI file.
conductwrites 480, so a bar of 4/4 is 1,920 ticks. - Swing ratio. How late the off-beat eighth is pushed; in the usual convention 0.5 is even eighths.
conductreturnsswing0.55 on a loop it also labelsgroovestraight, so the engine’s own scale is undocumented (unverified). - Onset. The instant a sound starts, measured in the audio, not scheduled in the score.
- Foley sync. How close a placed sound lands to its frame of picture. Chapter 11 measured a worst case of 1.0 ms over 31 sounds.
- Click flag. A sample-level jump the verify script marks. The carving film raised 41, all the sounds’ own transients; film one raised none.
- Stem. One instrument or layer rendered alone. Stems showed what the mix hid: strings burying the theremin by 8 dB.
Loudness
- LUFS. Loudness Units relative to Full Scale, the broadcast loudness measure. The carving film delivered at −16.0 LUFS.
- True peak. The highest level once the waveform is reconstructed between samples, in dBTP. The same film measured −1.5 dBTP.
DSP on the pedal
- Formant. A resonance of a voice or instrument body that stays put when the pitch moves. A shifter that keeps formants moves the note and leaves the vowel.
- PSOLA. Pitch-Synchronous Overlap-Add. Grains two periods wide are cut at pitch marks and relaid at the new period, so timbre stays. 32 ms latency; 0.005 of the block per voice, measured on the board.
- Phase vocoder. Pitch shifting in the frequency domain. The plugin’s runs a 2048-point fast Fourier transform with a 512-sample hop and cepstral formant correction: 42.7 ms latency and 0.254 of the block per voice, 52 times PSOLA.
- Audio callback. The function the host calls once per buffer. Miss its deadline and the output drops out.
- Block. One buffer. On the Elk Stomp, 64 samples at 48 kHz is 1.333 ms; every Elk figure here is a fraction of that block, not a time.
- Worst block. The costliest single callback in a run. Five PSOLA voices averaged 0.592 of the block and peaked at 0.788, measured on the board.
- xrun. A buffer underrun or overrun, the audible dropout. Sushi has no xrun counter, so a block at or over 1.0 is the proxy.
- Elk Stomp. Elk Audio’s pedal development board: an STM32MP157 with two Cortex-A7 cores, Elk Audio OS, Sushi and a 64-sample buffer.
- Sushi. Elk’s headless plugin host. It loads the VST3, reports timings as block fractions and is driven over gRPC.
Verification
- Deterministic. Same input, same output, byte for byte, so a response can be a golden file.
- Golden vectors. Outputs from the canonical JavaScript engine asserted against the C++ port: 16,353 in the published engine README; on the plugin repository the count differs by branch, 23,859 on the scale-close voicing branch and 28,479 on another as of 2026-10-02 (chapter 20).
- Bit-identity gate. Render a fixed input offline, hash it, compare to a committed baseline. Either it matches or it is a change.
- Oracle. A reference that does not guess. THIRI is deterministic, so a model’s note scores as chord tone, chord-scale tone or outside with no human judge.
- Blast radius. The share of compiled stem units whose hash changes after an edit.
add_solotouched 12 to 20 percent; a tone verb touched 100, because stems render wet.
Protocol and keys
- MCP. The Model Context Protocol, the standard for handing a tool to an AI client. THIRI’s server exposes the five calls as five tools, in JSON, JavaScript Object Notation.
- stdio. Standard input and output. The local server speaks MCP over them, started by
npx, so the key stays on your machine. - Hosted connector. The remote server at
mcp.thiri.ai/mcpfor clients that cannot run a process, like Claude on the web. JSON-RPC over HTTP; a GET answers 405. - Bearer token. The key, sent as
Authorization: Bearer sk_live_…on every request. Shown once, rotated with a 24-hour overlap; a bug report carries only its prefix. - Rate limit. Requests per minute per key: 30 free, 300 Builder. Over it is
429 rate_limited. - Quota. Calls per calendar month: 1,000 free, 10,000 Theory Pro, 100,000 Developer, 1,000,000 Licence.
X-Quota-LimitandX-Quota-Usedreport it on every response; failed calls do not count.
Csound and the browser
- Csound. The sound compiler behind Composer C and the Conductor. Version 6.18 renders server-side; a WebAssembly build plays in the browser.
- Orchestra. The Csound text that defines instruments; the score says when they play. The Conductor’s is the public file
thiri-band.orc. - ksmps. Samples per control block. Every Csound event lands on a block edge; at 48 kHz with
ksmps16, one frame of 24 fps picture is exactly 125 blocks. - WASM. WebAssembly, the browser’s compiled-code target. The Conductor imports
@csound/browserand synthesises inside the page. - SharedArrayBuffer. Memory that browser threads can share, unlocked only on cross-origin isolated pages. This site sets those headers on the three sequencer pages; the Conductor runs Csound without it.
- VST3. Steinberg’s plugin format, the one Ableton Live and Sushi load. THIRI’s plugin is built on JUCE and ships as VST3, Standalone and the headless pedal build.
Next
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.