LACUNA + ORBITA — two instruments on a membrane
Pre-releaseThis is not an apfaudio release. It is a personal fork of
apfaudio/tiliqua adding two bitstreams
of my own. Upstream's own releases (v1.0.2…v1.2.1) are the ones to use
for stock Tiliqua firmware. Everything upstream here is unchanged.
Two instruments built on the same 32×32 finite-difference membrane, differing
entirely in how it is driven.
LACUNA — a struck membrane whose hole is the instrument. The boundary is a
comparator rather than an array, so the geometry can change every sample and
becomes a modulation destination rather than a setting. Eight geometries, exact
1 V/oct, and the membrane drawn live.
ORBITA — the same mesh run a thousand times slower, with a circular path
through it read at audio rate as a wavetable. Scanned synthesis in the
Verplank/Mathews/Shaw sense. Pitch is the scan rate, so a held note morphs while
staying in tune. A concentric circle never crosses a concentric hole, so the
asymmetric geometries are the interesting ones: the slit gives one notch per
revolution and a full harmonic series, the square hole four notches.
Both draw the membrane live with no framebuffer, no PSRAM and no CPU — the
audio scan already carries every node past one point once per sample, so the
snapshot is free and each pixel is coloured microseconds before transmission.
Blue and red are the two signs of displacement, so what you see is the mode
pattern, and mode beating reads as it precessing — which a waveform display
cannot show at all.
Downloads
| file | for |
|---|---|
lacuna-mesh-0.1-r5.tar.gz |
LACUNA, 1280×720p60 — capture cards, most monitors |
orbita-mesh-0.1-r5.tar.gz |
ORBITA, 1280×720p60 |
lacuna7-mesh-0.1-r5.tar.gz |
LACUNA, 720×720p60 — Waveshare square panel |
orbita7-mesh-0.1-r5.tar.gz |
ORBITA, 720×720p60 |
Hardware R5 only. A cheap HDMI capture dongle will not lock to 720×720 — it is
not a standard timing, so use the 1280×720 builds with one.
pdm flash status # see what is in the eight slots
pdm flash archive lacuna-mesh-0.1-r5.tar.gz --slot 3Known issues
- ORBITA's scan snaps to whole cells. On a perfectly smooth field this
measures 0.14 roughness against 0.039 for bilinear interpolation, and it is
why the radius control is sixteen steps rather than continuous. Audible as
roughness on the tone. Bilinear interpolation is the fix and is not done. - ORBITA has no tension control. All four jacks are spoken for; λ² is a
per-preset constant. - LACUNA's strike is a single cell, so the attack is bright and slightly
harsh.mesh.pysupports a mallet radius; LACUNA leaves it at zero. - Two days old and tested by one person on one module. Marked a pre-release
accordingly.
Documentation: LACUNA ·
ORBITA ·
design notes
Licence CERN-OHL-S-2.0, following upstream.