Channel tags, stems, master chain, FM, K envelope, slide, UDP control, reconnect
Grid grammar: - a base-36 glyph above a column's top operator tags it with a MIDI channel; '>' right of the tag makes the channel mono-legato (60 ms slide) - operators below a '!' form the stereo master chain: Z delay, W chorus, plus any filter/shaper - X: phase modulation by the cell to the left (and above), index from the right - K: control envelope; left of an operator it drives that operator's left param (2KL5 = 303 filter sweep) - per-note params: @ velocity, ^ key tracking, ? random; registers now read on the digit scale, so MIDI CC and UDP registers have full range I/O: - MIDI keeps the channel nibble - UDP (orca's ';', port 49161): k7 register, *3 bang a column, @34O write a glyph, #name load a patch - --stems n: one mono PipeWire node per channel tag (galdr.ch<tag>), sample-aligned with the master; separate nodes because a playback stream's AUX ports deliver no data in PipeWire 1.6 - the audio thread reconnects when PipeWire restarts; status line shows it - patches: ~/hometaping/<date>.galdr by default, .galdr extension, Ctrl+S, GALDR_DEBUG=<file> logs events Examples with render tests: drums, orchestra, acid. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
b53fdd5a6d
commit
4bf13a2bf0
@@ -0,0 +1,9 @@
|
||||
# acid: a 303-style line on MIDI channel 1 (tag 0, '>' = slide on overlapping notes).
|
||||
# A saw > lowpass whose cutoff is swept by K (decay 2, floor 1); accent = velocity -> resonance (@);
|
||||
# short amp decay, overdrive. Swap A for U (square), raise K's decay for longer wows.
|
||||
...0>
|
||||
...A.
|
||||
.2KL@
|
||||
...E1
|
||||
..3S.
|
||||
...!.
|
||||
@@ -0,0 +1,7 @@
|
||||
# bass (ch 1) | kick (ch 10) | snare (ch 11) | hats (ch 12): one drum per MIDI channel
|
||||
.0..9....a...b.
|
||||
.A..O9...N...N.
|
||||
@L5.EX9.6B5.8H.
|
||||
.E2..E1..E1..E0
|
||||
2S...!..3S...!.
|
||||
.!.......!.....
|
||||
@@ -0,0 +1,21 @@
|
||||
# galdr orchestra: one section per MIDI channel (tag glyph above each column).
|
||||
# Sections are 4 columns: [left param | chain | right param | gap]. Tweak the digits;
|
||||
# @ = velocity, ^ = key tracking, ? = random per note, a-z = registers (MIDI CC / UDP).
|
||||
# strings ch1 saw > lowpass(cutoff=@ velocity, res 2) > env 4/5 > out; the HALL below it: highpass 1 > chorus 2/3 > delay 4/fb from register z (orca: ;z3)
|
||||
# low str ch2 saw > lowpass 3/3 > env 3/4 > soft clip 2
|
||||
# brass ch3 left col = saw>env modulator (no !); right = X FM with index from @ velocity > env 1/2 > soft clip 2
|
||||
# horns ch4 pulse width 2 > lowpass 4/1 > env 3/3 > soft clip 1
|
||||
# flute ch5 left = noise breath (highpass 9 > env 1 > gain 2); right = sine > env rel 3
|
||||
# reed ch6 narrow pulse 1 > bandpass 6/6 > env 2/2 > fold 1
|
||||
# clarinet ch7 square (width 5) > lowpass 6/1 > env 2/2
|
||||
# timpani ch8 left = sine>env modulator; right = X index 3 > env 0/4 (play C1-C2)
|
||||
# harp ch9 saw > lowpass: cutoff ^ key-tracked, resonance ? random per pluck > env 0/3
|
||||
# choir ch10 triangle > lowpass: cutoff from register k (orca: ;k5), res 2 > slow env 7/7 > gain 9
|
||||
.0...1...2...3...44..5...6...7...8...9..
|
||||
.A...A...A2.2U...NO.1U..5U...O7..A...V..
|
||||
@L2.3L3.1EX@4L1.9HE36B6.6L1..EX3^L?.kL2.
|
||||
4E5.3E4..1E23E3.1E!.2E2.2E2..0E40E3.7E7.
|
||||
.!..2S...2S.1S..2G..1F...!....!..!..9G..
|
||||
1H...!....!..!...!...!...............!..
|
||||
2W3.....................................
|
||||
4Zz.....................................
|
||||
Reference in New Issue
Block a user