[erlang-questions] [ANN] Sonic Pi 3.0 released

Joe Armstrong <>
Wed Jul 19 15:31:54 CEST 2017


On Wed, Jul 19, 2017 at 1:40 PM, Albin Stigö <> wrote:
> Out of curiosity, what is Erlang used for in Sonic Pi?

The note scheduler - basically Erlang does

  "at <some future time> do <send some messages>"

This is *trivial* in Erlang -- but a pain in Ruby - so Erlang is
messing around in the background
scheduling message sending.

/Joe



>
> Music programming in Erlang should be pretty great considering a lot
> of it is message based... MIDI, OSC etc.
>
>
> --Albin
>
> On Wed, Jul 19, 2017 at 12:45 PM, Joe Armstrong <> wrote:
>> Sonic Pi V3 now includes a complete Erlang distribution.
>>
>> Sonic Pi is a complete programmable music making machine,
>> for teaching kids to program and for music experiments.
>>
>> The Erlang is well hidden away - but it's there
>> together with a complete Ruby and Supercollider (also hidden)
>>
>> So far I've only tested this on my Mac - but I think Erlang
>> is also included in the rasberry Pi, linux and windows distributions
>> (or at least will be)
>>
>> This is actually an amazing bit of engineering - in a single desktop app
>> Sonic Pi includes complete stripped down  versions of Ruby and Erlang
>> and the Supercollider. All these are isolated components talking
>> together through OSC over UDP.
>>
>> (See http://joearms.github.io/2016/01/28/A-Badass-Way-To-Connect-Programs-Together.html
>> - for details of OSC)
>>
>> Sonic Pi is programmed in Ruby+Erlang+C++ + Supercollider language
>> and uses QT for the interface.
>>
>> This is how systems should be built.
>>
>> Sam has done a fantastic job job here - as a side effect of this
>> Erlang will be in the standard Rasberry Pi distro - whether it stays there
>> is up to YOU - Sam has done the ground work - this actually opens the
>> SonicPi infrastructure to Erlang and Elixir Programmers
>>
>> So what are you waiting for? -  Go write a drum machine in Erlang
>> or an arpeggiator or a harmonizer - or write it in Elixir if that is
>> your thing.
>>
>> Have fun
>>
>> /Joe
>> _______________________________________________
>> erlang-questions mailing list
>> 
>> http://erlang.org/mailman/listinfo/erlang-questions


More information about the erlang-questions mailing list