Collaborative MIDI over the internet
Collaborative MIDI over the internet
Hi all,
In this strange time of self-isolation I am probably not the only one looking for ways to make live music with others over the internet. I have never found a good way to do this due to problems like latency, glitches, etc. A normal 'jam' seems pretty much impossible but I wondered if there might be some possibilities for things like looping midi with HH/BrainModular that might be interesting.
The first idea that occurs to me is exploiting the Piano Roll array output - if this array could be sent over the internet to someone running a setup with a Piano Roll set to receive an array, with the same arrangement going back the other way, then two (or more) people could work on a sequence together (perhaps with the same midi data triggering entirely different sounds for each person). The array could be sent every bar and as it arrives with its own abstract time data it would not be spoilt by latency issues.
I've made a start on this but I don't know how to get the array into a format that can be output from HH/BM to travel via something like the Mac Network MIDI handler. I've tried to encapsulate the array as sysex data but so far it doesn't work.
Anyone else interested in finding a way of doing this sort of thing?
In this strange time of self-isolation I am probably not the only one looking for ways to make live music with others over the internet. I have never found a good way to do this due to problems like latency, glitches, etc. A normal 'jam' seems pretty much impossible but I wondered if there might be some possibilities for things like looping midi with HH/BrainModular that might be interesting.
The first idea that occurs to me is exploiting the Piano Roll array output - if this array could be sent over the internet to someone running a setup with a Piano Roll set to receive an array, with the same arrangement going back the other way, then two (or more) people could work on a sequence together (perhaps with the same midi data triggering entirely different sounds for each person). The array could be sent every bar and as it arrives with its own abstract time data it would not be spoilt by latency issues.
I've made a start on this but I don't know how to get the array into a format that can be output from HH/BM to travel via something like the Mac Network MIDI handler. I've tried to encapsulate the array as sysex data but so far it doesn't work.
Anyone else interested in finding a way of doing this sort of thing?
doesn't patch sharing feature take care of stuff like that? all you need to do is have 2 instances of Usine on same local network (over VPN should work, you could use Teamviewer for that). I'll test it later.
join Hollyhock Usine Discord server: https://discord.gg/EdJarnE
thanks, that sounds good! I don't know anything about Patch Sharing - is it a feature available without the licence?
yes, all features are available even without license. also, I've only just noticed this addition in HH4:
https://www.brainmodular.com/manuals/hh ... te-control
also this should work on HH4 (haven't found this on new manual, probably because it's demostrated on a different version of Usine)
https://www.brainmodular.com/manuals/hh ... re-patches
https://www.brainmodular.com/manuals/hh ... te-control
also this should work on HH4 (haven't found this on new manual, probably because it's demostrated on a different version of Usine)
https://www.brainmodular.com/manuals/hh ... re-patches
join Hollyhock Usine Discord server: https://discord.gg/EdJarnE
basically network sharing features are under network tab in settings, but now I notice that in HH4 there's no longer 'network' tab in patch properties. but, if you use set bus array/data, there is a setting to share it over network, but I haven't got it to work yet (not receiving it on the other end). so networking features have changed since HH3, but they're certainly not removed, just no fresh tutorial yet on this topic.
join Hollyhock Usine Discord server: https://discord.gg/EdJarnE
ok, thanks. i'm having a go with the osc send and receive to see how that works but not much luck so far - I can get some data going out and I can see it coming back in with the Trace window but the OSC receive module (with the same address) isn't getting anything at all.
For anyone else trying out this sort of thing:
If you want to find your public IP address (what people will need to find you over the internet): use http://ip4.me
To find your local IP address (the address of your computer beyond than the router): on a mac go to System Preferences, Network, and it should say 'Wifi is connected to [the router name] and has the IP address: 192 [.......]" This will probably be dynamic and need checking each session
You will need to set up 'port forwarding' for your router to get the connections going to the local ports (different procedure for each service provider) getting ports 5004 and 5005 forwarded to the same ports on the local machine.
You will need to tweak Firewall settings or temporarily switch it off.
Have had some limited success sending MIDI like this using the mac's Network MIDI session in Audio/Midi Settings (erratic latency and problems with feedback loops) but haven't been able to try BrainModular's 'sharing' possibilities yet.
This was useful: https://www.deepsignalstudios.com/rtp-m ... r-internet
If you want to find your public IP address (what people will need to find you over the internet): use http://ip4.me
To find your local IP address (the address of your computer beyond than the router): on a mac go to System Preferences, Network, and it should say 'Wifi is connected to [the router name] and has the IP address: 192 [.......]" This will probably be dynamic and need checking each session
You will need to set up 'port forwarding' for your router to get the connections going to the local ports (different procedure for each service provider) getting ports 5004 and 5005 forwarded to the same ports on the local machine.
You will need to tweak Firewall settings or temporarily switch it off.
Have had some limited success sending MIDI like this using the mac's Network MIDI session in Audio/Midi Settings (erratic latency and problems with feedback loops) but haven't been able to try BrainModular's 'sharing' possibilities yet.
This was useful: https://www.deepsignalstudios.com/rtp-m ... r-internet
for solid clock at least one computer needs to be connected to router by cable, then it'll serve as stable master clock.
join Hollyhock Usine Discord server: https://discord.gg/EdJarnE
Someone has pointed me to this: https://www.artsmesh.com/ for collaborative sound and OSC over the internet
I'll see if I can get it going with BrainModular OSC output
I'll see if I can get it going with BrainModular OSC output
Anyone interested in networked collaborative music - check out Netpd! http://www.netpd.org
It's a system built in Pure Data (vanilla) that creates a set of synchronised sequencers and instruments using OSC across remote computers.
Sending audio / midi / (osc?) into it from Brain Modular is totally possible. (route audio with soundflower or something similar)
Not that many people jamming on it at the moment but spread the word!
(Artsmesh has proved too complicated for me!)
It's a system built in Pure Data (vanilla) that creates a set of synchronised sequencers and instruments using OSC across remote computers.
Sending audio / midi / (osc?) into it from Brain Modular is totally possible. (route audio with soundflower or something similar)
Not that many people jamming on it at the moment but spread the word!
(Artsmesh has proved too complicated for me!)
Artsmesh is Mac only, they only mention it in FAQ for some reason.
join Hollyhock Usine Discord server: https://discord.gg/EdJarnE
Who is online
Users browsing this forum: No registered users and 28 guests
