@GCF that Systemd comment was meant as a sarcastic remark on how many craptonnes of unnecessary features are built into Systemd already… not as an encouragement to add some more stuff
this one worked reasonably well with some devices (including op1) connected through usb hub and octatrack (since it doesn’t have usb midi) conected thorugh midi to usb cable on a rpi3, even had an ableton push connected as a display (writing messages with sysex, left that part out in the example))
- download raspbian Lite image (https://downloads.raspberrypi.org/raspbian_lite_latest)
- install dependencies:
- disable services (no idea what I’m doing, probably not neccesary, maybe breaks some stuff…)
sudo update-rc.d rsyslog disable
sudo update-rc.d ntp disable
sudo update-rc.d triggerhappy disable
sudo systemctl disable hciuart
- edit system startup script
- put this before "exit 0"
- create startup script
- paste the following text (not sure if the “performance” section is neccesary / possible different device than pi3, maybe leave it out)
for cpu in /sys/devices/system/cpu/cpu[0-9]*; do echo -n performance <br>| sudo tee $cpu/cpufreq/scaling_governor; done
echo ----------------------------------------------------------------------
sudo mount -o remount,size=128M /dev/shm
echo ----------------------------------------------------------------------
printf "
"
echo ----------start router------------------------------------------------
eval "mididings -f /home/pi/mdRouter.py"
echo ----------------------------------------------------------------------
printf "
"
- create “mididings” startup script (I think indentation doesn’t matter since it’s not directly compiled with python but I could host the .py files somewhere if anyone is interested)
- text (I removed the push code for clarity so the whole script might be broken, didn’t test it)
in_ports = [
( ‘lpk_IN’, ‘LPK25:0’ ),
( ‘nanoPad_IN’, ‘nanoPAD2:0’ ),
( ‘miniBrute_IN’, ‘MiniBrute:0’ ),
( ‘op1_IN’, ‘OP-1.*Midi.*Device:0’ ),
( ‘octaTrack_IN’, ‘USB.*MIDI.*Interface:0’ ),],
out_ports = [
( ‘octaTrack_OUT’, ‘USB.*MIDI.*Interface:0’ ),
( ‘miniBrute_OUT’, ‘MiniBrute:0’ ),
( ‘pitchFactor_OUT’, ‘PitchFactor Pedal:0’ ),
( ‘op1_OUT’, ‘OP-1.*Midi.*Device:0’ ),],
)
from mdObjects import *
run( scenes = { 1: Scene( ‘router: octatrack routing’, notesToOcta ),},
control = PortSplit({ ‘octaTrack_IN’: [octaToPitch,octaToBrute,octaToOp,clockDist],
‘miniBrute_IN’: bruteToOcta,
‘op1_IN’: opToOcta,}))
- create the second “mididings” script
- text:
from mididings.extra import *
notesToOcta = PortFilter(‘lpk_IN’,‘nanoPad_IN’) >> Filter(NOTE) >> Port(
‘octaTrack_OUT’)
bruteToOcta = ChannelFilter(7) >> Filter(NOTE) >> Port(
‘octaTrack_OUT’)
opToOcta = ChannelFilter(8) >> Filter(NOTE|CTRL) >> Port(
‘octaTrack_OUT’)
octaToBrute = ChannelFilter(7) >> Filter(NOTE) >> Port(
‘miniBrute_OUT’)
octaToOp = ChannelFilter(8) >> Filter(NOTE|CTRL) >> Port(
‘op1_OUT’)
octaToPitch = ChannelFilter(10) >> Filter(CTRL) >> Port(
‘pitchFactor_OUT’)
opClock = Channel(8) >> Port(
‘op1_OUT’)
pfClock = Channel(10) >> Port(
‘pitchFactor_OUT’)
clockDist=Filter(SYSRT) >> [opClock,pfClock]
@GCF that Systemd comment was meant as a sarcastic remark on how many craptonnes of unnecessary features are built into Systemd already... not as an encouragement to add some more stuff :P
haha didn’t catch the sarcasm. I’ve only used Systemd a little for the purpose of running test scripts on boot that didn’t require the system to do anything else. What would you recommend otherwise? I suppose running it as a service would allow it to just run in the background, looking for new USB MIDI devices and mapping them to each other.
@GCF I’m old enough to say you should do whatever works for you. A younger me would have passionately argumented for supervise and djb software in general but in reality is doesn’t matter, as long as it works You might even want to stick it in your initrd as a busybox-compatible script to speed up boot time
Hi,
Is it possible to get this thread pinned with the others on the top so that it is always visible? I feel like that would eliminate the number of new threads created asking for help on this.
This exact thought crossed my mind too this morning @GCF. Before pinning, it might be an idea to distill this thread down into a single concise post. It started with the title “definitive”, however, I feel that’s become a bit lost amongst the rest of the information, useful as it is.
Is it possible to get this thread pinned with the others on the top so that it is always visible? I feel like that would eliminate the number of new threads created asking for help on this.
@cloudburst I agree. I will try to grab some time to read through all of the posts and create a list of things that work and don’t work. Then I will edit the original post to reflect all of that info. Sound like a reasonable plan? Or would starting a brand new post be a better path?
@GCF - many thanks. Perhaps we should agree the content in this thread and then create a new (concise and focused) post for pinning.
@GCF an edited up to date first post – whether on this thread or a new one would be great, and definitely should be pinned. Thanks!
I’m probably late to the party but I just learned that you can make an iPad and OP1 talk midi with nothing but a camera connection kit adapter and cables. Wow!
I'm probably late to the party but I just learned that you can make an iPad and OP1 talk midi with nothing but a camera connection kit adapter and cables. Wow!Hi ! could you elaborate on this ? I thought an ICM4+/ICA4+/MIO4 was required to hook'm up...
All this is a bit of a headache. So to connect a usb keyboard (or my Kordbot when it arrives) to the OP-1 (so i can trigger OP-1 sounds from keyboard or kordbo) Im best purchasing the IconnectMIDI4? As this is a usb host thingy too?
I would say if you want to connect multiple USB MIDI devices (OP-1, Kordbot, USB MIDI keyboard, etc) then the MIO4 is probably the best option. The iConnectMIDI4+ adds the feature of audio passthrough for iPad/Mac. So if you don’t need that, don’t spend the extra money.
Regarding the sticky topic: Maybe a FAQ with links to the relevant threads would be an alternative since not only the USB discussions seems to be a topic that pops up regularly. Though it definitely is the one that’s been iterated the most.
Hi all,
@ShaunM90 how did you connect the Mother back to the OP-1? Can you get your OP-1 to record other sources, e.g. your cell phone?
At the moment, I have a DIN MIDI Cable plugged into the Moog Mother 32 and have attached the other end of the cable to the Midi Out 1 on the iConnectMidi4+.
@ShaunM90 The OP-1 does not do USB Audio. You need to plug an audio cable from the output of the Mother to the line In of the OP-1
Also keep in mind what @borden said about enabling the line in for recording either directly or to a synth or drum sampler patch