Skip to content

Silver and Gold — 48×48

Latest

Choose a tag to compare

@Eight4aWish Eight4aWish released this 09 Sep 13:22
· 1 commit to main since this release

Two instruments on one 2304-node finite-difference membrane, for the
apf.audio Tiliqua. Not affiliated with, or endorsed by,
apf.audio.

Silver is a struck drum head: the mesh runs at 48 kHz and two pickups 45°
apart are the stereo output. Gold updates the same mesh at 750 Hz and reads
a circular path through it as a wavetable — Verplank/Mathews/Shaw scanned
synthesis. Both draw the membrane live on the screen, with no framebuffer and
no CPU.

Previously released as LACUNA and ORBITA. Same instruments, renamed to join the
rest of the range: five for silver, six for gold.

Which file

1280×720p60 720×720p60r2
Silver silver-48x48-1280x720p60.tar.gz silver-48x48-720x720p60r2.tar.gz
Gold gold-48x48-1280x720p60.tar.gz gold-48x48-720x720p60r2.tar.gz

Take 1280×720p60 for a capture card or a monitor. Take 720×720p60r2
only for the round Waveshare panel — a cheap HDMI dongle will not lock to
720×720, because it is not a standard timing. The 720×720 builds announce
themselves as Silver7 and Gold7, so you can tell them apart in the bootloader.

pdm flash archive silver-48x48-1280x720p60.tar.gz --slot 3

Any free slot; pdm flash status shows what is there already.

Jacks

Silver Gold
in0 strike drive / drone
in1 tension, 1 V/oct, 27.5–440 Hz pitch, 1 V/oct, 27.5–7040 Hz
in2 strike position, hub to rim scan radius
in3 geometry — the hole, at audio rate damping — how long the shape lasts
out0 / out1 mesh L / R scan L / R

Gold's in3 is mapped for a unipolar 0–5 V slider: nothing patched rings for
ever, about 4.4 V is a thud, 0.68 V a step.

Source

gateware/src/top/mesh/
is the shared membrane, silver/
and gold/
are the two instruments.

Building these yourself

Use gateware/scripts/build_bitstreams_fork.sh, which pins the size and the seeds.

The placer seed is not optional. These designs sit close enough to the ECP5's
routing limit that identical RTL places very differently run to run. Gold at
1280×720 is the worst of it: one seed in eight closes. The binding constraint
is dvi_clk at 74.25 MHz, and the same source lands anywhere from 72.25 to
76.38 MHz across builds. The 720×720 modeline asks only 39.07 MHz of that clock,
which is why it closes on almost anything.

Re-check the seeds after any change, not just a change of size — the bitstream
name is rendered into the video path, so even renaming the design invalidates them.