Network synchronized workshops

After some trial at home and lot of fun, I’m going to use SonicPi in one of our workshop on sunday with MixTeen.
I have plenty to do, show and share, but I wonders if there’s a way to have multiple SonicPi sending loops to a common SonicPi server.

I saw there may be something linked to this issue in GitHub: is it included in the coming v3.0?

Hi @TitiMoby,

v3 is already out for macOS and Raspberry Pi and includes the ability to send OSC messages between Sonic Pi instances - so things have definitely moved along on this front :slight_smile:

If you use Windows, you can get access to pre-release betas of v3 by becoming a Patreon supporter here: https://patreon.com/samaaron

I already played with OSC on my ubuntu in the past weeks to interact between a micro:bit and Sonic-pi
I’ll think on a way to have something siple enough for kids and I’ll share.

Now, after a nice SSD crash, I reinstalled my Ubuntu and can’t run sonic-pi (but more on that on the gitter as it may be linked to my local compile version)

By the way, thanks for this nice tool and hope to be able to patreonize from my little organization soon.

1 Like

OK, great that you’ve already been playing around with OSC.

Out of interest, what were you hoping to get Sonic Pi to do w.r.t. synchronisation?

It’s just something I still need to think of precisely.
I would like kids to be able to discover sonicpi on their Pi or laptop, then have a central sonicpi server and each kids able to send a loop he wrote in his own sonicpi client.

Is that clear? does that make any sense?

Anyway, I’m sure we all will have fun sunday with those nice speakers :slight_smile:

Ah ok - you want to be able to code something on machine 1 and hear it on machine 2.

This isn’t possible at the moment, but is something I’m currently thinking about :slight_smile:

1 Like

Yes, and keep it with stock sonicpi.
Because I suppose that using OSC commands, you can have something working but a bit more complex.
Once I have my sonic pi working again I’ll try.

Yes, by using OSC commands, you can send events across the network - you’ll have to write both the code to send the events (simply by using the osc fn) and also write the code on the receiving machine to listen for and do something when the event arrives. This should all be covered in Section 12 of the built-in tutorial.

Having the music you hear locally also be heard remotely is a separate problem that I’m planning on addressing soon :slight_smile:

I actually had something close to this with the ‘Mad Music Machine’ using networked Raspberry Pis.

Prior to refactoring for using OSC I was using RabbitMQ to network. I had experimented with passing arrays of ‘notes’ and ‘sleeps’ generated on one RPi to another ‘master’ RPI.

So the ‘master’ was playing a composition made up of several parts generated on other RPis.

I didn’t pursue it further once I found I could achieve my ultimate aim with OSC but I think the ‘collaboration’ aspect of Sonic Pi is definitely worth exploring :slight_smile:

1 Like

Tell me more about using a Micro:Bit with Sonic Pi. I have one right here and I’m about to be teaching some after school classes with them, so I’ll have access to a ton of them.

I need to get back my Ubuntu setup that I broke due to SSD failure.
But the idea is to use OSC commands sent using python OSC librairy.
The microbit part is handled by the wonderful https://github.com/whaleygeek/bitio that allow you to handle microbit sensors from python on a PC/Pi/Mac

I have a talk next week about micro:bit and I wanted to have one of my live demo with bitio and sonicpi.
I’ll post code and details as soon as possible, no secrets I like sharing knowledge

2 Likes

Thank you so much! I can’t wait to give it a try. These could be the little remote controls I’ve been envisioning, and I already have one to work with.