Any supriya users here?

Hi. I’ve spent the last few weeks learning SuperCollider. I made some good progress with my project, but quickly realized that sclang wasn’t really designed for the things I was doing with it. I’m basically building an instrument that uses scsynth as a synthesis engine. I have hardware components that connect via USB and communicate via MIDI. So I need to do some typical software engineering stuff in code, but sclang isn’t a general purpose programming language.

I started learning supriya, since it seems to offer me exactly what I need (both a general purpose programming language and the ability to interact with scsynth). I’ve managed to get some basic stuff working, but could really use some help. I’ve tried asking on the supriya’s GitHub Discussion, as well as sending Josephine an email, but haven’t had any replies after a few weeks. Documentation is still sorely lacking for supriya, and the way you work with things like patterns is just different enough from sclang to make it a bit confusing and time consuming to port my sclang code to Python. So I was hoping to find some people who are familiar with it and sclang. Anyone like that here?

Thanks!

Sclang can do what you’ve described, and has been used to do just that!

Supriya is cool, but it’s young and a project of just one - it is unreasonable to expect documentation yet.

SC is much more general-purpose than, say, Max or Pd: filesystem utilities :white_check_mark:, string regex :white_check_mark:, issuing system commands (unixCmd) :white_check_mark:, sync objects (CondVar) :white_check_mark:

Could you give some details on these programming-plumbing tasks that you need? SC may already be able to handle those.

hjh

Thanks for offering to help with sclang, but I’ve been quite happy with my decision to switch to supriya. I would much rather work with Python, honestly. I don’t care for sclang’s syntax or some of the weird quirks of the language, and using Python allows me access to the whole Python ecosystem, which is vast. I’m using the mido MIDI library now, for example. mido makes working with MIDI much cleaner and simpler than it is in sclang.

supriya also has a license (MIT) that is much more suitable for my project. At the risk of starting a long conversation about law where everyone prefaces everything with IANAL (I Am Not A Lawyer), supriya gives me the option of not having to release all of my code to the world. That’s another major benefit to me.

All fair enough! I was mainly responding to the assertion that SC can’t handle running a program as a program. (I’ve got a script that boots a server, queries the system for the built-in mic’s hw ID via Pipe, runs an alsa_in process, and rejiggers JACK connections using unixCmd calls.)

The licensing is a good point. The only way to get code into the interpreter is plain text, so, practically speaking, there isn’t currently a way to obscure the code.

hjh

1 Like

As a language sclang might be more expressive, but there is no C API, so you are limited to things that can be done in pure sclang. Max and Pd might be awkward for general purpose programming, but at least you can do anything with externals. I ran into sclang’s limitations a few times when developing extensions and I totally see why someone would be prefer Python with its large standard library, rich ecosystem and C extensions.

1 Like

Josie is giving a workshop on supriya at the Symposium. This will be worth checking out.

Sam

4 Likes

Oh, wow. I hope it’s recorded. I’d love to watch that!

1 Like

A comparison between different Pattern implementations would be really cool.

Josehine has been helping out when able. So I’m going to close this

1 Like