[ANN] Sonic Pi 3.0 released

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[ANN] Sonic Pi 3.0 released

Joe Armstrong-2
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
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Sonic Pi 3.0 released

Albin Stigö-2
Out of curiosity, what is Erlang used for in Sonic Pi?

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 <[hidden email]> 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
> [hidden email]
> http://erlang.org/mailman/listinfo/erlang-questions
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Sonic Pi 3.0 released

Joe Armstrong-2
On Wed, Jul 19, 2017 at 1:40 PM, Albin Stigö <[hidden email]> 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 <[hidden email]> 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
>> [hidden email]
>> http://erlang.org/mailman/listinfo/erlang-questions
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Sonic Pi 3.0 released

Fred Dushin
In reply to this post by Joe Armstrong-2
I have always been curious about how hard it would be to port a very small subset of Erlang to FreeRTOS, so that it could be run on cheap micro-controllers like the ESP8266 (or the ESP32, now that it is being produced in volume).

I've done a bit of hobbying with micropython on the ESP8266, and while it is a gas, trying to deal with concurrency (asyncio) in python is a nightmare [1].   Des anyone actually think coroutines are a sound idea?  (Likely I just don't get it)

Abstracting all the concurrency out the way with Erlang seem ideal for embedded systems, IMO, even if you are dealing with only one scheduler.

-Fred


On Jul 19, 2017, at 6:45 AM, Joe Armstrong <[hidden email]> 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
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions


_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Sonic Pi 3.0 released

Joe Armstrong-2
Ummm - this has (according to Mr Wiki) 96 KB or RAM - this is for the
OS + application
this is really not enough memory - You'd need to totally redesign the
instruction set
(which is today a 32 threaded code) - with (say) huffman encoded
instructions and
make a tiny emulator and throw away all the BIFS (in C) - when you'd done this
it would no longer be Erlang.

(Erlang + OS did fit into 640Kb a while back (it ran on windows) but
96 KB would be
just way too little memory)

Some kind of parallel forth  might be better.

Cheers

/Joe


On Fri, Jul 21, 2017 at 5:22 PM, Fred Dushin <[hidden email]> wrote:

> I have always been curious about how hard it would be to port a very small
> subset of Erlang to FreeRTOS, so that it could be run on cheap
> micro-controllers like the ESP8266 (or the ESP32, now that it is being
> produced in volume).
>
> I've done a bit of hobbying with micropython on the ESP8266, and while it is
> a gas, trying to deal with concurrency (asyncio) in python is a nightmare
> [1].   Des anyone actually think coroutines are a sound idea?  (Likely I
> just don't get it)
>
> Abstracting all the concurrency out the way with Erlang seem ideal for
> embedded systems, IMO, even if you are dealing with only one scheduler.
>
> -Fred
>
> [1] Grep for `yield` at
> https://github.com/fadushin/esp8266/blob/809360a9bd99ddbb920edf4f734d803036dec868/micropython/uhttpd/uhttpd.py,
> if you want your eyes to bleed.
>
> On Jul 19, 2017, at 6:45 AM, Joe Armstrong <[hidden email]> 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
> [hidden email]
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
>
> _______________________________________________
> erlang-questions mailing list
> [hidden email]
> http://erlang.org/mailman/listinfo/erlang-questions
>
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions