Development notes
Sound without samples
Why Tonograph generates every instrument while the score plays, instead of shipping recordings of them.
September 19, 2026
The bend problem
Most notation software plays your score with a sampled instrument. Someone recorded a guitar, one note at a time, and playback picks the nearest recording and shifts its pitch to fit. That works well for held notes. It falls apart on almost everything a guitarist actually writes down.
A bend, in a sampled player, is a recording sliding sideways. The string does not tighten, the harmonics do not move the way they move on an instrument, and the attack you have already heard gets dragged along with the pitch. Palm mutes tend to become quieter notes rather than shorter ones. A dead note becomes a quiet note rather than a thud. The notation is full of instructions about how to play a note, and a sample player can only really act on which note it is.
Closing that gap is the reason this app has an audio engine of its own.
Generating the string
Tonograph has no sample library. Every instrument is synthesised while the score plays.
For strings the model is physical. A plucked string is excited once and then allowed to decay, losing its top end faster than its fundamental, the way a real one does. Bending changes the length of the vibrating string, so a bend arrives with its harmonics in the right place instead of being a transposed copy of the attack.
Articulation goes into the synthesis rather than on top of it. A palm mute shortens the decay, because what the hand is doing is damping the string. A dead note is the same excitation with almost nothing left to resonate. Harmonics thin the spectrum. Slaps, pops and taps strike the string differently and start from a different shape. The engine is told what the notation says, not merely which pitch to sound.
What comes out is then pushed through the pedals you arranged yourself. That is the part we actually wanted: the phrase you just wrote comes back through your signal chain, rather than through a patch called “clean guitar”.
What it costs
The honest trade is timbre for behaviour.
A concert grand, recorded note by note at several velocities, will sound more like a concert grand than anything generated on the fly. If that is what your work needs, a sample-based program is the better tool, and we would rather say so than pretend the trade does not exist.
What we get in exchange is worth it for the kind of writing this app is for:
- Nothing to download. The app is complete the moment it is installed — no sample pack, no download manager, no second setup on a new machine.
- It keeps working offline. Nothing has to be fetched, so nothing stops working when the fetching stops.
- Every note is covered. A library covers the notes someone had time to record. Synthesis covers the instrument.
The test we set ourselves
The pieces that ship with the app were written for it, and every sound in them came out of this engine — no libraries, no plug-ins, nothing added afterwards. The recordings on this site are the app’s own output, rendered from the same files you get when you install it.
That was the standard: if the engine is not good enough to make the demo with, it is not good enough to ship.