Sonic Pi v3.1 Released!

Hey everyone, Sonic Pi v3.1 is finally here and is free to download:

Version 3.1.0 - ‘Sauna’

The major feature of this release is that it brings v3 functionality to
Windows. Windows now supports all the good stuff listed alongside
v3.0.x including live_audio, midi, osc and much more. See
v3.0.1 and v3.0.0 release notes below for more infomation.

Of course, no new release comes without new features, and there are a
number of additions and improvements on all levels. Firstly, we are
honoured to include a number of wonderful new samples kindly recorded
and released into the public domain by our friends Mehackit. If you
aren’t already aware, Mehackit organise and run creative coding
workshops all around Finland and Europe and were a core part behind the
CodeBus Africa project which used Sonic Pi to engage almost 2000 African
students with creative code. Our favourite of these samples is the new
:ambi_sauna which has given us the name for this release.

We have added support for Ogg Vorbis encoded audio files .ogg and
.oga. These are lossy encoders similar to .MP3 but free from license
restrictions. See:

Another notable addition is the increase in translation coverage across
a number of languages. If you still feel the translation for your
language could be improved, please do consider joining in the
crowd-sourced effort here:

We have also included some styling tweaks to the GUI - to make
it look even cleaner and also work better when projecting code with
visuals underneath.

Finally, this release also gives me the opportunity to welcome Ethan
Crawford to the Core Team. He has been a prolific contributor to the
project over the years and his keen eye for detail has helped polish
Sonic Pi from the rough stone it once was to the shining gem it is

Have fun and enjoy the new features - especially you lovely Windows

Breaking Changes

  • The synth chip_noise now has standard default envelope opts (sustain: and release: are now 0 and 1 respectively (as opposed to 1 and 0))

New Fns

  • set_audio_latency! Apply positive or negative timing offset for audio events to allow for any timing differences between OSC/MIDI events caused by external latencies (such as wireless speakers).
  • midi_pc for sending MIDI Program Change messages


  • Add support for Ogg Vorbis encoded audio files .ogg and .oga.
  • Add new samples (kindly recorded and released into the public domain by Mehackit).
    • new glitch_ sample group containing sounds with a glitchy texture.
    • new mehackit_ sample group with sounds of old toys
    • new samples: :perc_bell2, :perc_door, :perc_impact1, :perc_impact2, :perc_swoosh, :ambi_sauna, :bd_mehackit, :sn_generic, :loop_3d_printer, :loop_drone_g_97, :loop_electric, :loop_mehackit1, :loop_mehackit2, :loop_perc1, :loop_perc2, :loop_weirdo,


  • Add new in_thread forum to the community listings (and update other entries).
  • Many, many translation additions and improvements for a multitude of
    languages. The tutorial is now available in German, Spanish, French,
    Italian, Japanese, Dutch, Polish, Portuguese, Romanian, and Russian.
  • GUI now lets the user know when the buffer capacity has been exceeded
    on macOS and Linux (Windows behaviour is currently unchanged). This
    capacity limitation will be addressed more thoroughly in a future release.


  • Stop the internal sample pattern matcher from duplicating matches in some cases.
  • Stop pro icon preference from resetting to ‘off’ when switching from dark to light mode