Tymbal™

A synthesizer system with no single engine. One patch can layer virtual analog, FM, additive, modal, waveguide and particle synthesis, across thirty-two channels, a mixer and a sequencer, all of it written so that it can run on an FPGA.

Under construction · no release yet

What it will be

An instrument that does it all

The model is the do-everything workstations of the 1980s: one machine that holds the sounds, plays them on many channels at once, mixes them and sequences them. Tymbal is not a modular synthesizer. Its engines are fixed and carefully built, and a patch combines them freely, under a modulation matrix where every continuous parameter is a destination.

When audio quality, flexibility and voice count pull against each other, quality wins, then flexibility. Voice count gives way first.

Every sample is computed in fixed point, with no floating point, no allocation and no indirect calls on the audio path. That is what lets the same design become hardware, and every hardware module is checked bit for bit against the software it came from.

Where it stands

Not finished, and honest about it

Tymbal is a work in progress, developed in the open. Much of it works today on a Linux computer; the hardware is being built a piece at a time.

On a computer

Working

The engines, the thirty-two channel console, the sequencer and the patch editor run together as one workstation program on Linux. It plays, but it does not yet reach the voice count it is meant for.

On a development board

In progress

The virtual analog engine runs in the fabric of an Agilex 5 FPGA on a Terasic DE25-Standard, played from a USB keyboard through the board's own processor. The other engines follow, one build at a time.

The whole instrument

Planned

Every engine in one build, on a larger Agilex 5 board, with its own audio hardware and the workstation running on the board itself.

Follow along

There is nothing to download yet. The source, the design documents and the issue tracker are on Forgejo, and the software builds from source on Linux with Bazel.

View the project on Forgejo