I’d like to present something I have found super-inspiring lately: I like to call it project GrainSilo. At its heart is an AE Modular system with two Grains modules and a Pisound running Supercollider. There are still some tweaks I’d like to make, but it is getting pretty close to what I think is complete. All in all, it has been really fun developing this system for my personal use, and it feels very inspiring.
One of the critical pieces here is a very rough DIY Arduino trigger/gate-to-MIDI interface, and the complexity involved in pulling that off is minimal—the hardware is just a nano clone, perfboard, a patchwire socket, some resistors, and a power header, and the firmware is very straightforward. Power is easy because everything is 5V, so I don’t have to do level-shifting of any kind. The impetus behind this is that I love generating and manipulating gates in AE Modular, but I find things like tuning oscillators and dialing in precise pitches on a sequencer (especially with the tiny standard in AE modules) to be tiresome. So I do all of the fun, spontaneous clock dividing/logic/burst generation in AE modular, then convert the triggers/gates into midi note-ons, and send those to a pisound over USB, where they clock Supercollider patterns. I then send MIDI over USB from those patterns to two Grains modules (and some other supporting synths). AE Modular has a port of Grains, and I adapted wavegrains and trishape firmwares to be MIDI-controlled. No oscillator tuning required (I do work with conventional Western tuning, so that is a feature for me). The supporting synths are characterful and have a similar lo-fi aesthetic to the AE system: a Bastl microgranny 2 and a megaMIDI (by Aidan Lawrence) for chords etc., plus a Volca Drum.
A sound example is here: (Reductionist Earth Catalog on Instagram: "Slew detecting #sloth cv going up or down, in the fifth mode of limited transposition #aemodular #supercollider #tangiblewaves #arduino"), and here is my GitHub: (https://github.com/reductionistearthcatalog/AE-GRAINS-MIDI). I still have a long list of things I’d like to implement and improve. In particular, I want to make some startup scripts for my Pisound that will decrease the manual effort involved in spinning everything up in SuperCollider. I use ttymidi to convert from serial to MIDI in the pisound. The Grains and my DIY trigger-to-MIDI module are all based on ATMEGA328ps that don’t respond with a serial number when I run udevadm monitor. So I programmed a MIDI CC “handshake” (quotes because I don’t know if what I programmed technically qualifies). When Supercollider sends any value in CC 127, the different modules each respond with a specific CC value for number 3. It seems like I could make a startup script that does that, and renames the ttymidi virtual devices, but that would require some more learning on my part.