Trigfield

No. 1

A field of signals that plays tracker rows.

Loading the field…

  1. 1Kick
  2. 2Snare
  3. 3Hat
  4. 4Bass
  5. 5Pluck
  6. 6Pad
  7. 7Pad
  8. 8Pad
Open Trigfield

The demo field, running: pale holes are signals, and trigs light as they fire. Open Trigfield plays it full screen in the browser; it also runs in a terminal.

How it plays

Emitters launch signals across a grid of glyphs. Where a signal lands decides when a note plays, and the trig it lands on decides which of eight synth tracks plays it.

Where a trig sits decides when it plays.

A signal moves one cell per step, a step being a sixteenth note. Put a trig further along the path and it plays later. This emitter fires every four steps; the three trigs it crosses turn that into a rhythm.

Its rows decide what plays, and on which of eight tracks.

Each trig holds up to sixteen tracker rows, as on the M8: track, note, volume, instrument and three effects. Any row can send its note to any track. This trig steps through four rows on four tracks, so one hole walks across the bar.

Sound can steer motion.

Some effects act on the field instead of the synth: turn the signal that fired, hold it, or flip every mirror nearby. A field can rewrite itself while it plays. Here the first trig turns each signal down onto the second.

The glyphs

The whole language fits on one sheet. Digits to the right of an operator are its argument; two signals landing in one cell destroy each other.

Emitters

E4 N4 S4 W4
Emitter. Launches a signal east, north, south or west every four steps.
H3
Hive. Launches in all four directions at once.

Movement

^ > v <
Arrow. Sends the signal that way.
/ \
Mirror. Turns a signal through a right angle.
#
Wall. Bounces the signal back the way it came.
X
Sink. Absorbs signals; nothing after it plays.
+
Splitter. The signal carries on and copies go left and right.
O1
Portal. Jumps to the next portal with the same number.

Logic

?50
Chance. Lets half the signals through; the number is the percentage.
C3
Counter. Passes the first signal, then every third, and absorbs the rest.
D4
Delay. Holds each signal for four steps.
F
Flip-flop. Turns signals right, then left, alternately.
R
Random. Sends each signal straight on, left or right.
I7
Transpose. Raises every note the signal plays, here by seven semitones.
Z
Zero. Clears the signal's transposition again.

Trigs

a-z
Trig. Plays its rows when a signal lands on it. The same letter can sit in many places. There is no trig v: that is the south arrow.

A trig row

Rows read like an M8 phrase. A trig can play the next row on each hit, all rows at once for chords across tracks, or one at random.

1Track, 1 to 8. Blank uses the trig's own. C-4Note, plus the signal's transposition. 7FVolume, 00 to FF. 02Instrument, 00 to 0F. RET 03CHA 80--- --Up to three effects, from the lists below.

Effects on the sound

CHA chance DEL delay in ticks RET retrigger OFF note off ARP arpeggio PSL slide RND random note CUT cutoff RES resonance PAN pan SDL delay send SRV reverb send TPO tempo

Effects on the field

TRN turn the signal HLD hold it FLP flip nearby mirrors

Sixteen instrument slots drive the eight mono tracks: wavefolded sine and triangle, detuned saw, square with sub, pulse, pitched noise and two-operator FM, each through a filter, an envelope, two modulators, delay and reverb.

Playing it

Direct

  • space play or pause
  • type any glyph straight onto the field
  • enter on a trig edits its rows
  • F1-F4 help, trig, instrument and mixer pages
  • in the browser: click, drag to select, double-click to open, wheel over a value to change it

Vim, if you prefer

  • on with :set vim, the mixer's KEYS row, or --vim in the terminal
  • hjkl w b gg G move, i types over the field
  • x dd yy p u and visual blocks with ctrl-v
  • ctrl-a ctrl-x step a value, gt next trig
  • :w :e :set bpm=128 :trig k

Projects are plain text .fld files. In the browser, ctrl-s downloads one, ctrl-o opens one, and your work is kept between visits.

Where it comes from

Trigfield is built from three instruments. ORCA, by Hundred Rabbits, is a live-coded grid where every letter is an operator. arcologies, by Northern Information, sends signals between structures on a grid. The Dirtywave M8 gave the trigs their tracker rows, effect commands and mono tracks.

It is written in Odin. The same engine runs in a terminal and, compiled to WebAssembly, on this page and in the browser instrument.