Tessera, image 1 from its README
1/10
Firmware

Tessera

Hype: on fire · 99

Generative firmware with multiple generators and song forms.

forM-VAVE FM-1·by@Rastapopolix

Unclaimed. Is this yours? Sign in with GitHub as @Rastapopolix to claim it.

Download v3.0.1

tessera-3.0.1.fwsc· 596 KB· +2 files

GPL-3.0· Rastapopolix/tessera·rastapopolix.github.io/tessera/·downloads come from the creator’s GitHub releases

934 commits and 11 releases in the last year

Tessera: generative firmware for the M-Vave FM-1

Project page · Install · Try it in your browser · Manual · Recipes · Releases

Tessera is a generative firmware for the M-Vave FM-1. Each of the four tracks can play its own steps, an arpeggio, or one of thirteen generators, and the pages around them evolve the phrases, build song forms, pass hits between tracks and modulate anything from anything. GPL-3.0-only. Status: Experimental. By Theo Dainis (Rastapopolix).

Tessera grew out of Melodee (Tess), a fork of Melodee by keremimo, itself built on Felucca by Leo Kuroshita / Hügelton Instruments. Releases up to 1.3.x were published as Melodee (Tess).

Tessera (plural tesserae) is the Latin word for the small tile of stone or glass in a mosaic. Each generator makes a short phrase; EVOLVE and FORM set mutated phrases side by side into sections, so a piece is built from small tiles arranged into a larger pattern. The word also meant a die, which suits the chance-driven generators.


Install

Flash it from your browser (Chrome or Edge, FM-1 connected directly by USB): Web installer. Afterwards you can edit sounds and sequences from the computer with the web editor.

Each release has two builds: tessera-X.Y.fwsc (standard, dual core: start here) and tessera-X.Y-1core.fwsc (single core, for FM-1s that crash with the standard build).

Do not unplug the FM-1 while it is writing. This is experimental firmware: use it at your own risk. The installer page also has a way back to the official V15 firmware, with a backup first.


What's inside

  • Thirteen generators on SEQ > GEN: TURING, EUCLID, MARKOV, MORPH, ATLAS (with a fourth drum part), BOUNCE (and FALL), AWAKE, POLY, QUAD, CONSTELLATION, SERIES, CHORD and ANSWER, besides the step sequencer and the arpeggiator.
  • Shaping: EVOLVE mutates a phrase every few bars, and STEP EVOLVE does the same to steps you wrote; FORM builds sections such as AABA, and with DEVELOP each return varies a little; TWEAK shifts, drops, humanises or follows another track; TWEAK 2 branches hits to another track's sound, combines tracks with logic, and plays only on certain bars; LENGTH sets how long notes hold. GRAVITY lets a drifting line come back home.
  • Your steps as a seed: TURING, EUCLID, MARKOV and MORPH can play from a STEP pattern you wrote (SOURCE) and vary it, keeping its rhythm or its pitches as you choose.
  • Steps: per step ratchets, nudges, conditions (1:2 to 8:8, FILL, FIRST) and a pitch accumulator that climbs each pass; the pattern's sheet doubles, halves or writes a Euclidean rhythm.
  • Harmony: one key and scale for the whole project (Key link); a CHORD track plays a progression (or your own), and QNT CHRD makes the other tracks follow it.
  • Modulation: 16 cords from any source to any destination on any track, generators and effects included; slow organic sources (TIDE, SWARM); live marks on every knob a cord moves, and MATRIX to see the whole patch.
  • Print: hold REC to turn what a generator played into ordinary steps.
  • Sounds: FM6 (six-operator FM, three engine models), ORACLE (two oscillators, POLY MOD and a four-pole filter: a classic polyphonic analogue voice), TRIO and DRUM (808, 909), with three insert effects a track and three send effects, a resonant FILTER among them.
  • MIDI OUT of every track and the generators, each on a channel of its own (GLO > MIDI OUT), and CLOCK OUT, over USB.
  • Its own look: one ink on black and a 5 x 7 pixel font, as on a monochrome OLED; YELLOW by default, or WHITE, GREEN, BLUE, RED, or ORANGE, PINK, HOT PINK or LILAC as the FM-1's shells, or MOSAIC: a colour per track (MENU > COLOR).

The manual covers every page, knob and shortcut; RECIPES.md has step-by-step patches and tips.


Gallery

The pages as the firmware draws them, rendered on the host from the firmware's own drawing code (tests/gallery_render.c) in the default YELLOW ink, shown at 2x.

HOME
HOME
The four tracks, their sounds and knobs.
CONSTELLATION
CONSTELLATION
Stars play as they cross the ship's crosshair (after the norns script Constellation).
ATLAS
ATLAS
Inspired by Émilie Gillet's Grids (Mutable Instruments): kick, snare, hat and a fourth part.
QUAD
QUAD
A 4 x 4 grid of notes the tracks share, a row each (after the norns script initenere).
CHORD
CHORD
Progressions in the track's scale; QNT CHRD makes the others follow.
SERIES
SERIES
Per Nørgård's infinity series.
TURING
TURING
A looping shift register.
POLY
POLY
Four notes on four rhythms.
FALL
FALL
Leaves in the wind, playing where they land (after the norns script Fall).
EVOLVE
EVOLVE
LOCK, EVERY, AMOUNT; ROLL picks the seed.
TWEAK 2
TWEAK 2
BRANCH, LOGIC and COND.
STEP EVOLVE
STEP EVOLVE
Your steps, varied as they play.
MODS
MODS
16 cords, any source to any destination.
MATRIX
MATRIX
The cords track by track, lit as they move.
Help card
Help card
Hold ARP and turn a knob.
ANSWER
ANSWER
Play a phrase; it answers, changing a little each time.
TIMING
TIMING
Ratchets x1 to x8, EVEN, ACCEL or DECEL.
ENERGY
ENERGY
A slow tide over minutes, and rests.
FM6
FM6
Six-operator FM.
ORACLE
ORACLE
Two oscillators, POLY MOD, a four-pole filter.
TRIO
TRIO
Three oscillators.
DRUM
DRUM
808 and 909 kits.
ORACLE FILTER
ORACLE FILTER
CUTOFF, RES, its envelope and key tracking.
FILTER effect
FILTER FX
A resonant low-pass for any track.

The inks (MENU > COLOR), the same HOME in each: YELLOW is the default; ORANGE, PINK, HOT PINK and LILAC match the FM-1's shells; MOSAIC gives each track its own colour and shows the selection in white.

YELLOW
YELLOW
WHITE
WHITE
GREEN
GREEN
BLUE
BLUE
RED
RED
ORANGE
ORANGE
PINK
PINK
HOT PINK
HOT PINK
LILAC
LILAC
MOSAIC
MOSAIC

More pages are in the manual.


Building

See BUILDING.md. The host tests run with tests/run_tests.sh; the gallery renders with tests/gallery_render.c (build line at its top) and the banner and social preview with tools/gen_brand.py.


About me

I'm Theo Dainis, from New Zealand. I've been using and building synthesisers for the past 15 years, and I'm passionate about modular and open source. Elektron and Mutable Instruments are big influences on me. I love the DIY side: building things, and learning how music hardware works on the inside. Tessera is the sequencer I wanted on the FM-1: modular in a box, a small instrument that writes with you.

Built with Claude Code

Tessera's code is written with Claude Code, Anthropic's AI coding tool. I designed it, made the decisions, and test every release on my own FM-1 before it goes out. The source is open, so you can read every line and every change. Like any firmware, it comes with no warranty: save a Complete backup from the web editor before you flash.


Credits and licence

Tessera is by Theo Dainis (Rastapopolix). GPL-3.0-only, inherited from Melodee. Original copyright and SPDX headers are preserved. Melodee is by keremimo, Felucca by Leo Kuroshita / Hügelton Instruments.

The ATLAS generator uses the drum map of Grids by Émilie Gillet / Mutable Instruments. Several generators are inspired by norns scripts (ideas only, no code copied): QUAD by initenere, FALL by ambalek's Fall, CONSTELLATION by timothy-taylor's Constellation, AWAKE by tehn's Awake and SERIES by nørgård. ORACLE is Melodee's Prophet engine (after the Prophet-5) under its own name, with its own sounds. The TIDE and SWARM mod sources are inspired by Triple Sloth by Nonlinear Circuits (Andrew Fitch) and ochd by Instruō and DivKid. See LICENSING.md for every third-party part and its licence.