|
Tabula Sonora 0.1.0
A native C++20 implementation of the Roland Sound Canvas VA synth voice
|
This engine is not a guess at how the Sound Canvas sounded. It is built to a specification recovered from SCCore.dll itself, maintained in the TabulaSonora/spec repository, which both this implementation and the archived C# one were written against.
The three pages here are the part of that specification a reader of this codebase needs — the normative structure, the vocabulary, and the file layout:
| The route of the sound | How a MIDI event becomes sound inside the DLL, stage by stage, with the map from its symbols to these classes |
| SCCore.dll data layout | Where the wave ROM, the tables and the patch directory sit in the file, and how VAs become file offsets |
| Glossary | The domain vocabulary — partial, multisample, tone, TVA, TVF, key-follow — for a reader who does not already have it |
The specification tags each finding with how well it is established, and those tags are carried through here unchanged:
| tag | meaning |
|---|---|
| [confirmed] | the code plainly does this |
| [likely] | strong inference |
| [guess] | plausible but thin evidence |
They matter. A [guess] that this engine implements is a place where a future measurement could change the audio, and knowing which claims are load-bearing is the difference between a bug and a deliberate approximation. Verification sets out what is proven and where this engine knowingly departs from the reference.
The specification is larger than these three pages, and the rest of it stays where it is rather than being duplicated into this site:
Function names throughout are project labels recovered from behaviour, not Roland's own. They are hypotheses that fit the code, and some may be wrong.