Hello from Marseille

hi all,

HPC engineer and wannabe musician here, I used Overtone and plain SC years ago, now hopefully I can get back into it with Sonic Pi, which is dramatically easier (or so it seems).

I tried to sign up for Patreon, but unfortunately card is rejected, maybe it’s a French thing? I will try later iwth Paypal.

cheers,

edit I’d be happy to help out with Sonic Pi development, time permitting, from weird Windows build issues to segfaults to tcpdump I’ve been around the block a bit.

2 Likes

Hey @maedoc,

it’s lovely to welcome you to our community. Great also that you’ve also played with both Overtone and SuperCollider in the past. I’d be absolutely delighted to hear what you think about Sonic Pi in comparison to your past experience. What do you like, what don’t you? What at you missing, etc.

We’re always looking for help with development. If you have C++/Windows skills we could especially do with some help right now. We’re working hard on removing the last few wrinkles on a new MIDI subsystem that’s built in C++ as a native library to Erlang. Do let me know if this something you’d be interested in helping out with.

Also, thank-you so much for supporting me on Patreon. It means such a lot - especially during this difficult time. Hugs right back at you!

2 Likes

got this to work with Paypal. My bank here didn’t like Patreon I guess.

I think there are a bunch of things that have learned from and improved over the Overtone experience: (a) there’s an app, it just works (or should), and you can start typing and get sound. A full Overtone experience set up was an adventure. Having shipped an app, I know this is really boring work up front, in between, left and right (just gimme the algorithms am i right) but pays off when users get that dopamine kick without the installation grind. (b) the syntax is a lot easier to read/write even after a few minutes, than I found Clojure to be. © the mental model of playing and sampling in loops is a lot easier to work with, especially for those of us who can only afford a few minutes a day to play; the context switch back into UGens, TGens, UGen graph, etc is harder.

Maybe all of that is navel gazing, but I can sum it up as follows: my 5 yo just started piano, and I can see him starting Sonic Pi when he learns to type, while the other stuff would have to come later.

When I tried to create a function to return a value, I was completely stumped (the define blocks aren’t really functions but reusable set of statements, if I understand correctly). Now I see I can write def foo(x) x+x end and so on, because it’s just Ruby. I get why this isn’t advertised on the front page, but maybe somewhere in the docs, a short page of tips for those coming from programming.

The only thing I find missing in the trigger ugens, as I recall this being a great trick for e.g. drum loops, setting up a bunch of ugens triggered by a clock, to allow for varying tempo, and the performance was really great (since it’s all server side). This was also pretty complex so it’s understandable that it’s not included in Sonic Pi.

I don’t have much MIDI experience, though do have a MIDI-capable keyboard at home here, but I should be able to help ironing out problems. You can ping me on the relevant discussions here or on GitHub (@maedoc) or by mail.

Like I said, I want to have fun with this and also see my kids having fun with this in a few years, and I’m lucky to be able to support you on this. I also see this as an excellent project against the increasingly exclusive consumerism in computing; we should be having fun building things with this stuff. Please don’t let the difficult time get you down!

2 Likes

I think the best place to start would be to see if you can build the latest version from GitHub: https://github.com/sonic-pi-net/sonic-pi/blob/main/INSTALL-WINDOWS.md

Hello there!
I’m from Marseilles too (but living in Montpellier now).

Welcome :slight_smile:

2 Likes

Yep, done, though I had a few deviations from that wiki page, e.g. the Qt link is to the source for v5.10.0, but I got the installer and it builds w/ 5.15 fine. Setting with setx doesn’t take effect immediately, needs to close/reopen terminal or do a set as well. The translations didn’t build automatically, had to run lrelease by hand. Maybe I should just update the wiki page? My internet is pretty slow so I started GitHub actions workflow while waiting for Qt to download,

Anyway, I have MIDI input working with v3.2.2 w/ an M-AUDIO dongle I should be able to take a closer look at any specific issues.

1 Like

Awesome - please do send any pull requests to improve/fix the install instructions.

Also with respect to MIDI - we’re currently testing the following things:

  1. Do all the MIDI inputs / outputs show up correctly on boot?
  2. Does removing the inputs / outputs and re-connecting them result in the inputs / outputs being removed / added to the list in Sonic Pi correctly?
  3. Can you still send and receive from all of them correctly when they’re in a connected state (after being disconnected)?
  4. Can you add a new device which wasn’t present during boot and was it correctly detected and can you correctly communicate with it (both events in and out)?
  5. Do you observe anything unusual at any stage?

Currently we’re seeing slightly broken behaviour with different aspects of these on different platforms. The MIDI stack is completely new for this upcoming release so this is expected - we’re just trying to locate and iron out the last few issues before we’re ready to make a beta widely available.

I’ve got a Win10 Surface Pro 4 w/ M-Audio Midisport USB w/ MIDI in/out plugging into a Roland FP-50. I got the latest drivers for the midisport. SP sees the midisport and the Windows MIDI thingy, and I could plug in after or before boot, unplug, replug and all of this just worked, nothing unusual so far (but I’m not a demanding person as far as MIDI is concerned…)

1 Like