Sonic Pi Architecture


#1

Hello Sonic Pi creators, thanks for creating this wonderful software. Imo sonic-pi is the marriage of two ultimate forms of expressions for human beings - coding and music and now there is no limit. I want to start contributing to this repo and get into internals of it. I am a software engineer and a student of music as well.

Can you give me starting point ,or may be a diagram of how different components are glued together , so that i have a high level understanding of the source code.

Please do share some references of electronic music books/sources to get into theory of it aswell.

Thanks


#2

Hi there,

apologies - there’s currently no development documentation. I have placed all my effort getting Sonic Pi working, polished and documented for non-programmer users.

Unfortunately I’m currently rather exhausted and a little burned out from overworking this year - which despite me achieving more than I aimed to has weirdly has resulted in me prematurely losing funding and support. I’m therefore using the little energy I have left looking for further ways to fund development of Sonic Pi and other things to do once the inevitable happens and my funding expires (likely in the next few months).

Hopefully in the future, I’ll have sustainable funding and renewed energy to document the internals :slight_smile:


#3

@rtalwar26 thanks for your interest! While Sam definitely has the best mental map of the architecture, the other members of the core team have a reasonable idea of the architecture so we might be able to help. Here’s a rough diagram I put together - if you have any questions about it let me know and I’ll do my best to answer. It would be good to have an outsiders perspective on things :slight_smile:

I’ll update the diagram based on feedback and hopefully we can include it in the main repo somewhere


#4

Thanks @xavierriley - one thing that’s missing is the lovely osmid system for converting OSC <-> MIDI :slight_smile:


#5

thanks Sam, I understand . Really appreciate your work on the project. Hope you get funding for the project sorted soon. thanks for the reply.


#6

Thanks @xavierriley, i was looking for something exactly like this. Ill start browsing the code according to this and let you know my feedback.


#7

@rtalwar26 beware that the code has evolved considerably during the last 5 years of development as I was figuring out what Sonic Pi was. The architecture and abstractions are therefore likely not in the easiest form to grok. Happy to answer any questions though.


#8

Updated version - includes reference to osmid and some external libraries