|
Post by rodney on Feb 28, 2022 10:04:59 GMT
Perhaps you should try your hand at puredata, it allows you to do really wild things but you have a graphical interface where you connect your building blocks. ah yes I had forgotten about Pure Data, I downloaded the software when someone on the forum, could have been yourself, mentioned it a while ago and then I got side tracked. Now that I've got the itch again I'll give it a crack. I like the idea of having a more graphical interface. cheers. Do you play around with it much? did you say you had a Norns box? thetechnobear has released some tools to let you load PureData patches for the Norns.
|
|
|
Post by maydonpoliris on Feb 28, 2022 18:59:57 GMT
awesome rodney thanks for this. yes have the norns shield and now quite a few vids in on my puredata learning so maybe can put my norns to better use now!
|
|
|
Post by rodney on Mar 1, 2022 4:28:54 GMT
awesome rodney thanks for this. yes have the norns shield and now quite a few vids in on my puredata learning so maybe can put my norns to better use now! I am still wondering how well one of the new Pi Zero 2 W boards would work as the basis of a module running puredata. It would fit in a 2-unit space on the AE, and the Zero 2 W (or W 2?) seems to draw less power for the amount of processing it does.
That might be nicer than the Pi zero, given that it's made for sound from the beginning.
|
|
|
Post by maydonpoliris on Mar 1, 2022 8:51:42 GMT
awesome rodney thanks for this. yes have the norns shield and now quite a few vids in on my puredata learning so maybe can put my norns to better use now! I am still wondering how well one of the new Pi Zero 2 W boards would work as the basis of a module running puredata. It would fit in a 2-unit space on the AE, and the Zero 2 W (or W 2?) seems to draw less power for the amount of processing it does.
That might be nicer than the Pi zero, given that it's made for sound from the beginning.
wish I knew more about this topic. so interesting what can be built.
|
|
|
Post by rodney on Mar 7, 2022 9:53:46 GMT
I am still wondering how well one of the new Pi Zero 2 W boards would work as the basis of a module running puredata. It would fit in a 2-unit space on the AE, and the Zero 2 W (or W 2?) seems to draw less power for the amount of processing it does.
That might be nicer than the Pi zero, given that it's made for sound from the beginning.
wish I knew more about this topic. so interesting what can be built. I think it's a mistake to try to stay in a 2-unit space. Might as well add a few more buttons and knobs and spread out a bit. My DIY things have all ended up being 3-units across in the end ...
|
|
|
Post by reductionist_earth_catalog on Mar 9, 2022 3:43:43 GMT
I have a rPi Zero W that I was thinking of turning into a controller for my whole setup! I would power it with the USB Power module, and then I would attach a USB hub so I could connect my grains modules. I was thinking I would run SuperCollider on it as a sequencer, but I'm not sure how I would interface with it. Either I would write patterns ahead of time and use a MIDI controller like my Korg Nanokontrol to trigger them/switch between patterns/control parameters, or I would send open sound control over from my other rasperry pi and control things that way.
Also, I added portamento to my MIDI-controlled version of the tri-shape firmware, which depends on the arduino ramp library (https://github.com/siteswapjuggler/RAMP). It responds to CC 5 for portamento time. My implementation might have been pretty naive--if someone tests it out and has feedback on the portamento time range, I would love to hear it. I was able to modify the wavegrains firmware as well, but I am trying to figure out the licensing for that firmware first before I share my version.
|
|
|
Post by reductionist_earth_catalog on Mar 21, 2022 3:51:47 GMT
Hi all, I just spent a day or two turning a Raspberry Pi Zero W into a USB host appliance for my MIDI-controlled Grains modules. I used a cheap USB hub and a USB MIDI interface (the M-Audio Uno) that I had lying around, so now it's as simple as switching the power to the pi on, and plugging the M-audio Uno into a DIN socket, and away we go. Figured I'd share how I did it in case anyone is interested.
I started with a blank Raspberry Pi OS (https://www.raspberrypi.com/software/).To start out with, I had a keyboard, mouse, and monitor attached to the pi. I also started with my two Grains modules attached to a USB hub plugged into the rPi, along with the M-audio USB MIDI interface. After logging in to the Pi Zero for the first time and setting up Wifi, I installed ttymidi along with its dependencies by entering the following into a terminal window:
sudo apt-get install libasound2-dev
wget https://github.com/cjbarnes18/ttymidi/archive/master.zip
unzip master.zip
cd ./ttymidi-master
make
sudo make install
cd ..
First, I ran ttymidi so I could test MIDI sent to my Grains, and also so I could see what device numbers were assigned to the Grains modules.
ttymidi -s /dev/ttyUSB0 -n trishape &
ttymidi -s /dev/ttyUSB1 -n wavegrains &
The -n flag names the particular Grains, and the & at the end of the command runs ttymidi in the background so I can continue to work in the same terminal window. I then ran the following aconnect (a command-line ALSA MIDI utility; some documentation can be found here: man.archlinux.org/man/aconnect.1.en) commands to list available MIDI hardware:
aconnect -i
Listed my input devices. My M-audio interface appeared as:
client 20: 'USB Uno MIDI Interface' [type=kernel,card=1]
0 'USB Uno MIDI Interface MIDI 1'
So my input device port is 20:0 (taking the numbers from the two lines). Then for my outputs:
aconnect -o My Grains appeared as:
client 128: 'trishape' [type=user,pid=837]
1 'MIDI in
client 129: 'wavegrains' [type=user,pid=838]
1 'MIDI in
So my aconnect commands to connect the USB MIDI input to my Grains outputs are:
aconnect 20:0 128:1
aconnect 20:0 129:1
I could then successfully send MIDI to my Grains modules. I also wanted to script all of this so it would immediately start on boot without me having to type in the commands. I created a shell script in my home directory: /home/pi/midi-startup.sh
#!/bin/bash
ttymidi -s /dev/ttyUSB0 -n trishape &
sleep 1
ttymidi -s /dev/ttyUSB1 -n wavegrains &
sleep 1
aconnect 20:0 128:1
aconnect 20:0 129:1
The sleep commands between the ttymidi commands appeared to be necessary for this to work properly. I then ran the following in the terminal to make the shell script executable:
chmod +x ./midi-startup.sh To make this startup on boot, I added this script to my crontab file. I ran the following in the terminal:
sudo crontab -e
(I selected '1' to open the file in nano because I still don't know how to exit vi ). And I added the following line to the end of the crontab file that opened:
@reboot sleep 5 && /home/pi/midi-startup.sh &
After I set all that up, I wanted to set the rPi to run in read-only mode so that I could freely switch the power to the pi off without shutting down first, without having to worry so much about corrupting the SD card. So I followed these instructions (https://learn.adafruit.com/read-only-raspberry-pi/). Basically, I went to the pi menu --> Preferences --> Raspberry Pi Configuration, went to the Performance tab, and clicked Configure in the Overlay File System section. I selected Overlay: Enabled and Boot Partition: Read-only, waited for a while, rebooted, and then unplugged the monitor and keyboard and mouse to test that everything worked properly. Then it was as simple as switching on the power, plugging the MIDI cable of the USB interface into my Digitakt, and sequencing my Grains modules!
|
|
|
Post by reductionist_earth_catalog on Oct 29, 2022 18:05:12 GMT
I uploaded a new MIDI-controlled firmware for grains (this time in Mozzi mode). It is a polyphonic fm oscillator (maybe paraphonic is a more accurate term, though). As the code is, the atmega can handle two notes just fine, at three notes the audio breaks up a bit, I suppose because of the resources needed exceed what’s available. I actually like the effect though, I think it tracks with the AEsthetic. github.com/reductionistearthcatalog/mozzi-midi-poly-fm
|
|
glitchyfrog
Junior Member
it's time for human music
Posts: 97
|
Post by glitchyfrog on Nov 25, 2022 12:39:18 GMT
I uploaded a new MIDI-controlled firmware for grains (this time in Mozzi mode). It is a polyphonic fm oscillator (maybe paraphonic is a more accurate term, though). As the code is, the atmega can handle two notes just fine, at three notes the audio breaks up a bit, I suppose because of the resources needed exceed what’s available. I actually like the effect though, I think it tracks with the AEsthetic. github.com/reductionistearthcatalog/mozzi-midi-poly-fmThat's pure love for you! <3 Thanks for that function! Will be great for the times with the cirklon :3
|
|
|
Post by reductionist_earth_catalog on Nov 25, 2022 18:02:28 GMT
Thanks for the kind words! Do you have a raspberry pi or something similar you can use as a USB midi host and to run ttymidi? An rpi has worked best for me in terms of automating ttymidi startup and midi connections. I have tried to help maydonpoliris with using a norns shield as a midi host, but that hasn’t worked as well (even though it is an rpi with extra hardware). It might have something to do with my arduino code as well—I am by no means a professional programmer! I am definitely open to thoughts regarding making these firmwares more useable/accessible.
|
|
|
Post by rodney on Dec 7, 2022 1:27:09 GMT
Just catching up on this thread. what amazing work! I am thinking to use my old iPad to VNC into the PiZero W running headless as an AE module. I'm still messing with other ideas at the moment though.
|
|
|
Post by reductionist_earth_catalog on Jan 21, 2023 22:58:02 GMT
On the online meetup today, I realized I should probably add a disclaimer to this thread, since these are experimental firmwares, and there is always a possibility they will brick your grains module, use at your own risk (see this AE Modular forum post for a description of the possible problem and solution: forum.aemodular.com/thread/1858/serialport-show-anymore-brick-grains).
|
|
|
Post by dizzeesatchel on Jan 29, 2023 21:41:47 GMT
awesome stuff you've been doing with GRAINS! here's orca running on norns sending midi over USB to sequence the grains oscillator, also triggering a percussive 'plonk' from roundabout using the digital out. lots of potential with this setup i think (apologies for the cable spaghetti, which is mostly irrelevant in this patch)
|
|
|
Post by reductionist_earth_catalog on Jan 30, 2023 15:13:24 GMT
Oh awesome, you were able to get it working on Norns? Can you describe how? I spent a good chunk of this weekend trying to get a norns environment set up on a pisound to try it out, but no luck.
|
|
|
Post by dizzeesatchel on Jan 30, 2023 22:40:15 GMT
installing ttymidi was a breeze, exactly as documented above. I struggled for a while with /dev/ttyUSB0 not being found which i'm pretty sure was solved simply with a norns restart. After that the $udevadm monitor command seemed to return more useful information and i was able to run ttymidi successfully. Then the next key step seemed to be setting one of the norns MIDI connections to 'virtual' in the norns SYSTEM menu
after that
aconnect -i displayed both Grains and the virtual midi port, then it was just a case of connecting them with
aconnect 128:0 129:1 FWIW, i was using the tri-wave firmware, and it seemed to respond only to midi channel 3.
I'll play around with it again tomorrow and double-check the commands for successful connection!
|
|
|
Post by reductionist_earth_catalog on Jan 31, 2023 2:27:07 GMT
Excellent, paging maydonpolirisYes, I had hardcoded the midi channels for different firmwares to specific channels. I am open to suggestions for sure if folks have other ideas on how to handle that!
|
|
|
Post by maydonpoliris on Jan 31, 2023 10:08:36 GMT
thanks reductionist_earth_catalog and nice work dizzeesatchelHaven't look at it since the work around but those commands you list seem familiar and will cross check it against what I was doing for differences. I only used Timber firmware so will rework it with the tri-wave firmware as the success baseline.
|
|
|
Post by dizzeesatchel on Jan 31, 2023 14:03:17 GMT
Ok tried it again, full order of events (assuming ttymidi already installed)
everything powered on, USB disconnected from GRAINS
in norns general settings, set MIDI slot 1 to 'virtual' (it can probably be any slot, but some scripts like orca will default to reading slot 1)
ssh into norns:
ssh we@norns we@norns password: sleep
**connect USB to GRAINS**
then launch ttymidi
ttymidi -s /dev/ttyUSB0 &
you can do aconnect -i at this point to list your midi devices if necessary, mine were 128 and 129 respectively, so
aconnect 128:0 129:1
and that should be connected!
Then testing with a simple orca patch:
....D8................... ....*.aRg................ ....:35c................. should send random notes to GRAINS on channel 3, which is what the tri-wave firmware expects. If still nothing, check in the orca settings that your midi connection is set to port 1 (or whatever slot you configured for virtual)
I have yet to try sending CV > MIDI into norns but that could be quite interesting...
Anyone want to try hacking a Grains to have more than two discrete outputs, so we could have multi-channel MIDI??
|
|