refactor: 3-module pd architecture + viz non-blocking fix

- midi-in.pd: netreceive -> route -> unpack -> pitch/velocity outlets
- audio-out.pd: inlet~ -> dac~ abstraction
- synth.pd: consumer patch wiring midi-in -> voice -> audio-out
- led-matrix-viz.py: router socket non-blocking, registered with poller
- pd.rego: skip outlet/abstraction false positives in validation
This commit is contained in:
2026-06-24 02:08:57 -07:00
parent 242c74236f
commit 3cc497f632
5 changed files with 64 additions and 47 deletions
+29 -36
View File
@@ -1,40 +1,33 @@
#N canvas 0 0 350 500 10;
#X obj 40 20 netreceive -u 8081;
#X obj 40 50 route midi;
#X obj 40 80 route 144 128;
#X obj 40 110 unpack 0 0;
#X obj 40 150 s midi-pitch;
#X obj 120 150 s midi-vel;
#X obj 40 200 r midi-vel;
#X obj 120 200 r midi-pitch;
#X obj 40 250 stripnote;
#X obj 40 310 mtof;
#X obj 40 350 env~ 2 10 1 40;
#X obj 40 430 osc~;
#X obj 160 430 osc~;
#X obj 40 470 *~ 1;
#X obj 160 470 *~ 1;
#X obj 100 510 +~;
#X obj 100 550 lop~ 10000;
#X obj 100 610 *~;
#X obj 100 670 dac~;
#N canvas 0 0 500 600 10;
#X obj 40 20 midi-in;
#X obj 40 80 stripnote;
#X obj 40 140 mtof;
#X obj 40 180 osc~;
#X obj 160 180 osc~;
#X obj 40 220 *~ 1;
#X obj 160 220 *~ 1;
#X obj 100 260 +~;
#X obj 100 300 lop~ 10000;
#X obj 40 340 env~ 2 10 1 40;
#X obj 100 380 *~;
#X obj 100 440 audio-out;
#X text 200 180 osc~ 1 (main);
#X text 320 180 osc~ 2 (+7ct);
#X text 155 220 mix;
#X text 155 300 lop~;
#X text 155 340 envelope;
#X text 155 380 amp;
#X connect 0 0 1 0;
#X connect 0 1 1 1;
#X connect 1 0 2 0;
#X connect 1 1 9 1;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 5 0;
#X connect 6 0 8 1;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 7 0;
#X connect 6 0 7 1;
#X connect 7 0 8 0;
#X connect 8 1 10 0;
#X connect 8 0 9 0;
#X connect 9 0 11 0;
#X connect 9 0 12 0;
#X connect 10 0 17 1;
#X connect 11 0 13 0;
#X connect 12 0 14 0;
#X connect 13 0 15 0;
#X connect 14 0 15 1;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 17 0 18 1;
#X connect 8 0 10 0;
#X connect 9 0 10 1;
#X connect 10 0 11 0;