History

Version 3.3.0 - ‘Beam’

28th Jan, 2021 (view commits):

Ten months of development, over 700 individual commits, loving contributions from many many people have gone into this new version of Sonic Pi. This release is also the result of a 3 month long community beta process which took place over on Patreon where supporters got access to early releases and really helped polish and shape development. Huge thanks to everyone that has supported continued development. We’re really excited and proud to share this new release with you all.

In terms of significant changes, there have been many internal improvements, including a full rewrite of our MIDI subsystem. This shouldn’t result in much change as a user (although some MIDI cue names might have changed slightly) but it really sets us up for some exciting developments in the future. We’re essentially moving much more of the core input/output functionality of Sonic Pi into a special system called the BEAM and a language called Erlang. This is a system that has a strong emphasis on low latency, low jitter and high concurrency which is exactly what the IO of a music system requires! We’re so excited to see what we’ll be able to achieve with this new approach that the BEAM features as the codename of this release.

Another area that has seen a lot of love and attention is our strong focus on accessibility. We now have a much improved menu bar which essentially duplicates much of the functionality found in the preferences but in a format that’s extremely easy to work with via a screen reader. We’ve also added a new context pane that displays the current line and character position as a direct result of a collaboration with Leiden University’s accessibility group. There have already been numerous studies that are reporting success for blind and low-vision users of Sonic Pi - so we’re confident we’re on the right track with respect to accessibility. We’re also not stopping here and are always looking for ways to lower the many barriers to entry for creative experiences with code for everyone.

This is also the first release where we officially welcome Chris Maughan as the latest member of the Sonic Pi core team. Chris has made significant contributions over the last year including improvements to the scope and a complete reworking of our build process. I hope you join us in welcoming Chris to the team.

Finally, we have official support for macOS Big Sur, some lovely new synths and FX, improved translations, support for advanced configuration (audio and colour theming), new Turkish scales and many, many bug fixes and improvements.

We really hope you love this version of Sonic Pi as much as we do.

Happy Live Coding!

Breaking Changes

New

Synths & FX

GUI

Improvements

Bugfixes

Version 3.2.2 - ‘Tau3’

5th April, 2020 (view commits):

This is a minor bugfix and maintenance release.

GUI

Bugfixes

Version 3.2.1 - ‘Take Tau’

3rd April, 2020 (view commits):

This release is another maintenance release with a primary focus on increasing stability and reliability. There are therefore no major new features, but instead there are significant improvements to the internals and the packaging of the Windows installer.

Whilst there are no major new features, we have still been working hard engaging with users with accessibility requirements. We have added a number of modifications to the GUI to improve keyboard navigation which should improve things for users that do not use a mouse (for example, users working with a screen reader). As mentioned in the previous release, we will continue to work to improve accessibility support wherever possible in each release.

One core internal focus has been improving memory utilisation of the app. A number of memory leaks have been hunted down and fixed. A memory leak is where the application requests increasingly more memory from the computer and never gives it back. Over time this means that the app would waste a lot of the system memory. This might have not been too noticeable using Sonic Pi on modern computers that typically have incredibly large amounts of memory. However, it was noticeable and problematic on low-powered systems with limited memory capacity. Sonic Pi now uses a lot less memory and after a warm-up period, the memory usage stays much more constant than before. We will continue to look for and fix memory leaks going forward.

Finally, this release is the first to ship with a fully signed Windows installer. This is a major milestone as we now ship with signed versions for both macOS and Windows which should help more users and organisations (especially schools) trust the installation and running of Sonic Pi.

Now, go and get live coding!

Breaking Changes

GUI

Bugfixes

Version 3.2.0 - ‘Tau’

28th Feb, 2020 (view commits):

After a long 2 years without updates, we are threaded with excitement to bring you Sonic Pi’s first fully independent release. Sam Aaron’s work on this release has been 100% supported by kind and generous donations from people on Patreon in addition to funds raised by delivering talks, workshops and performances. Sam’s work has also been hugely assisted by many wonderful code and translation contributions both by members of the Core Team and by our growing international community of live coders. This release has truly been a community effort.

So, what’s new? This time there are no radical new features, instead we have a much more polished, accessible and stable version than ever before. (This release has been heavily battle-tested in many performances worldwide).

This release is codenamed Tau - (an improved Pi).

One of the core focusses of this release is accessibility. Tau introduces support for screen readers. Previously the code editor was invisible to the main screen readers on both macOS and Windows and this is now fixed. There is also an accessible menu bar and a new high contrast colour theme which is WCAG 2 level AAA compliant. Accessibility is very important to us - we acknowledge that this is only the beginning and we value and encourage feedback from users who have specific accessibility requirements that we are not directly meeting. We plan to improve our accessibility support where possible in every release going forward.

Another aspect of accessibility is support for Windows devices with high resolution displays. Previously on certain displays font and icon sizes could be far too small, unreadable and out of proportion with the app in general. This has all been addressed with significant work on ensuring Sonic Pi looks great on a variety of monitors on both Windows and macOS. We believe that this release looks better and is more usable than any previous release.

Tau features two beautiful new audio visualiser scopes - a spectrum scope showing the frequency content of the audio and a beautiful mirror stereo scope. These scopes have been contributed by Chris Maughan who has also been pivotal in improving and simplying the Windows build process. We are hugely grateful for his contributions - thanks Chris!

We have two fabulous new FX - a ping pong delay contributed by Ethan Crawford and an autotuner contributed by Xavier Riley. We hope you have as much fun playing with these as we have.

Finally, this release has seen a significant improvement in translation coverage - both of the GUI and the tutorial. We truly believe that this helps us achieve our mission of lowering the barrier to entry for a creative experience with code by helping more non-English speakers start their live coding journeys.

Now, go and make some noise with code!

Breaking Changes

New Fns

Synths & FX

GUI

Improvements

Bugfixes

Version 3.1.0 - ‘Sauna’

23rd Jan, 2018 (view commits):

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: https://en.wikipedia.org/wiki/Vorbis

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: https://hosted.weblate.org/projects/sonic-pi/

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 today.

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

Breaking Changes

New Fns

Samples

GUI

Bugfixes

Version 3.0.1 - ‘IOIO’

28th July, 2017 (view commits):

This is a minor release addressing a few bugs and includes a small number of modifications.

Breaking Changes

GUI

Improvements

Bugfixes

Version 3.0 - ‘IO’

18th July, 2017 (view commits):

This release is our most ambitious to date. The goal is to open up the code within Sonic Pi to the outside world. We want you to be able to both manipulate the real world to change the code and change the real world with the code. Input Output. IO.

We have therefore focussed on getting events and audio in and out of Sonic Pi in new ways whilst keeping to our philosophy of simple code, live manipulation, and strict, powerful timing. This release introduces a number of brand-new components:

It’s important to mention that MIDI and OSC output functionality is possible due to a new well-timed scheduler. This was built in a remarkable programming language called Erlang which is now part of the Sonic Pi distribution. We have had the great honour of one of Erlang’s co-creators, Joe Armstrong working directly with us on the implementation of this scheduler and we look forward immensely to continuing to work with him on new functionality.

Another very important part of this release is the addition of Robin Newman to the core team. We have always been consistently impressed with his fearless and experimental attitude - pushing Sonic Pi into new areas with ease. We’re excited that he’s decided to join our core team and hope you’re as excited by his future work with us as we are.

Finally, we’re really very excited about what new kinds of instruments people will be able to create with this new technology both in the classroom and on stage at musical festivals. Sonic Pi has now become a fully programmable music studio. Have fun live coding!

Breaking Changes

New Fns

Synths & FX

GUI

Documentation & Examples

Improvements

Bugfixes

Version 2.11.1 - ‘Hack’

16th Dec, 2016 (view commits)

This is primarily a maintainance release containing a number of bug fixes and minor tweaks. The feature set remains unchanged from v2.11.

One of the core bugs fixed in this release is an issue with the return key within some Japanese layouts. Another important change is the unification of the font on all platforms to Hack. This is from the same family as Menlo and Bitstream Vera (the previous fonts for Mac and Linux respectively) and a dramatic improvement to the Courier font previously used for Windows.

GUI

Docs

Bugfixes

Version 2.11 - ‘Time Warp’

3rd Nov, 2016 (view commits)

This release is the biggest and most adventurous release yet. There are as many (invisible) modifications and improvements to the internal systems as there are new external features that you can see and play with. The aim was to create a solid foundation for new and exciting features both in this release and in preparation for future releases.

We also open our arms to welcome two new Core Team members - Luis Lloret and Adrian Cheater. Both have made generous and substantial contributions to this release. Thank-you. Sadly we also say farewell to Jeremy Weatherford. Please extend your kind thoughts and gratitude to Jeremy for all of his contributions - in particular for turning the Windows release from a possibility into a reality. Luckily Luis has kindly stepped in to maintain the Windows installer.

The main visible feature is the new scope visualisers. The overall audio output can now be visually monitored by one of three wave form visualisers. Firstly there is the individual left and right channels, next is a single mono scope which is mixed down from the stereo channels using RMS and finally there is a Lissajous scope which displays phase differences between the left and right channels. Typically the mono output will be most useful. Use the preferences pane to hide and show each of these scopes. All of them may be viewed at the same time if necessary. Thanks to Adrian Cheater for the core work behind this feature.

We now have support for multi-channel input (up to 16 channels) via the new sound_in* synths for systems that have audio in. This opens up the possibility to use Sonic Pi as an FX unit for vocals, guitars and any other audio source.

Another exciting new feature is the sample opt onset: - which lets you play a specific percussive part of a sample. This uses an automatic onset detection algorithm to determine all the points in the sample that go from quiet to loud quickly such as a drum, synth or bass hit. For example, this allows you to take a complex drum sample and trigger each of the individual drums in your own order and to your own timing.

Finally, translations are now crowd-sourced and small or large contributions for any language can be made here: https://hosted.weblate.org/projects/sonic-pi/. If your language isn’t yet available or you would like to improve things, please join in the effort. Thanks to Hanno Zulla for making this possible.

Breaking Changes

New Fns

Synths & FX

Samples

GUI

Documentation

Improvements

Bugfixes

Version 2.10 - ‘Cowbell’

Friday 15th April, 2016 (view commits)

“I gotta have more cowbell!” - The Bruce Dickinson

The main feature in this release is the completely new sample system for working with large folders of samples. You can now easily index into and filter over whole folders of samples with a simple yet powerful filter system. This system has been in development for over a year now and has been tuned and tweaked over many performances and practice sessions. See the documentation and examples for sample as well as the new tutorial section 3.7 for details.

We also have a number of exciting new sounds to play with including some beautifully sounding chiptune synths, fun retro FX and new drum samples including a full tabla set and a cowbell.

Finally, even more boot issues on both OS X and Windows have been fixed, making this the most polished and stable release to date.

Now go and get your live code on!

Breaking Changes

New Fns

Synths & FX

Samples

GUI

Documentation

Improvements

Bugfixes

Version 2.9 - ‘Venster’

Thursday 31st December, 2015 (view commits)

Hot on the heels of the previous release comes v2.9 codenamed Venster (Dutch for window). This release has a specific focus on fixing all the known issues with Sonic Pi running on Windows. If you’ve tried Sonic Pi on Windows before and had issues, make sure to try it again with v2.9. If you’re still having issues on Windows please do let us know so we can fix it as soon as possible.

For all you Raspberry Pi and Mac OS X users - you’re not left out. Sonic Pi is just as stable as it was before (if not more stable) and v2.9 comes with a surprising amount of tweaks and features for its short 1 month development cycle. There’s two new FX to play with: tanh and gverb as well as a heavily revamped logging system which is much clearer about printing which opts are actually being used for your synths and samples. Finally, we now include of all the published MagPi magazine articles in the tutorial. We also now have Hungarian and Norwegian translations of the GUI.

Happy Live Coding!

Breaking Changes

New Fns

Synths & FX

GUI

Documentation

Improvements

Bugfixes

Version 2.8 - ‘Karlsruhe’

Friday 20th November, 2015 (view commits)

This release, named after Karlsruhe, one of the home cities of live coding, is mainly a maintenance release with a strong focus on both performance, stability and documentation. This is therefore the fastest and most stable release of Sonic Pi ever with a massive 10% performance improvement on the original Raspberry Pi 1. It also ships with new translations in Polish, Japanese and French. Many of these improvements (such as the complete rewrite of the OSC stack) are not documented in this release list but can instead be found in the commit logs over on Github.

However, not to go unnoticed are a number of exciting new features. For example we now have a new Band EQ FX, the ability to use MIDI note names such as :e5 as values for opts such as cutoff:, and new powerful cutoff envelopes on the sampler.

Breaking Changes

New Fns

GUI

Documentation

Synths & FX

Improvements

Bug Fixes

Version 2.7 - ‘Rerezzed’

Thursday 10th September, 2015 (view commits)

This release brings a substantial change to the random number generator. This has the unfortunate side effect of breaking backwards compatibility. If you have been using rand, choose, shuffle and friends to create predictable patterns for your riffs, your code will produce different results in this release. Please let me apologise and say it’s for a good cause. So what is this good cause? Well, you can now jump backwards and forwards through the random stream giving you way more creative control than before! The random stream is now also unified with the random stream on the synthesis server allowing you to sync behaviour between synths and code. Exciting times.

The sampler has also been super charged. We can now easily change the rate via MIDI note intervals with rpitch: and stretch the sample whilst preserving pitch via pitch_stretch: (although with variable results ;-)).

Finally you can now control the global mixer with set_mixer_control! for those full filter sweeps over the entire sound


Have fun and happy live coding!

Breaking Changes

New Fns

GUI

Synths & FX

Examples

Improvements

Bug Fixes

Version 2.6 - ‘Algorave’

Thursday 30th July, 2015 (view commits)

The laser beams sliced through the wafts of smoke as the subwoofer pumped bass deep into the bodies of the crowd. The atmosphere was ripe with a heady mix of synths and dancing. However something wasn’t quite right in this nightclub. Projected in bright colours above the DJ booth was futuristic text, moving, dancing, flashing. This wasn’t fancy visuals, it was merely a projection of Sonic Pi running on a Raspberry Pi. The occupant of the DJ booth wasn’t spinning disks or playing MP3s, she was writing, editing and evaluating code. She was live coding and this was an Algorave.

This release is codenamed Algorave to celebrate that Sonic Pi is now ready to be performed within nightclubs as well as still being a fantastic tool for learning how to code creatively. There are many improvements as detailed below. However, let’s just take a brief look at some of the most fun. Firstly we have the new error reporting system to make it easier to find and debug your errors. Syntax errors are now blue and runtime errors pink. We also have a new look and feel including a new dark mode for performing in dark places. We also have some fantastic new synths, FX and have even improved the standard synths. For example, sample now lets you stretch to match the beat with the beat_stretch: opt and change pitch with pitch:. The slicer FX now sports a fantastic deterministic probability: opt for creating and manipulating rhythmic structures with ease. Finally there’s the new thread local tick/look system which will revolutionise the way you work with rings within live_loops. Of course there’s so much more too!

Enjoy this release and happy Algoraving!

Breaking Changes

New Fns

GUI

Synths & FX

Improvements

Bug Fixes

Version 2.5 - ‘Craft’

Monday 13th April, 2015 (view commits)

This release comes with support for Minecraft: Pi Edition installed on the Raspberry Pi. You can now create music with Minecraft visuals or even code up a synth score in Minecraft blocks and read and play the score from Sonic Pi! Another exciting aspect of this release is much improved editor functionality for navigating around and manipulating code via keyboard shortcuts. This means that live coding just got a lot more fun. The keyboard shortcuts are based on the standard shortcuts provided by GNU Emacs - the oldest and most powerful text editor in use by wizard programmers today.

Breaking Changes

New

GUI

Synths & FX

Bug Fixes

Version 2.4 - ‘Defrost’

Wednesday 11th February, 2015 (view commits)

A quick release following v2.3 to address an issue with the GUI freezing on specific CPUs. However, although this release has had a small development cycle, it ships with three fantastic features. Firstly we now have the spread fn which provides an amazing way to create interesting rhythms with very little code. Secondly we can now use cutoff: on any sample massively increasing their timbral range and finally we have three exciting new synths for you to play with. Have fun!

Breaking Changes

New

Synths & FX

Bug Fixes

Version 2.3 - ‘Bitcrush’

Wednesday 28th January, 2015 (view commits)

Breaking Changes

New

Improvements

Synths & FX

New Samples

Bug Fixes

Version 2.2 - ‘Slicer’

Thursday 18th December, 2014 (view commits)

This release brings a number of nice enhancements. However the main feature is the accurate timing for triggering FX. This means you can now reliably use FX for accurate rhythmic purposes such as wobbling, slicing and echoes.

Breaking Changes

API Changes

Synths & FX

GUI

New Samples

Bug fixes

Version 2.1.1 - ‘Firewall’

Tuesday 25th November, 2014 (view commits)

Version 2.1 - ‘Core’

Friday 21st November, 2014 (view commits)

The focus of release is very much on technical improvements, efficiency and general polish.

The most obvious and exciting change is the introduction of the live_loop which will change the way you work with Sonic Pi. For more information on live_loop take a look at the new section in the tutorial. Another very exciting development is that v2.1 marks the official support for Windows thanks to the excellent work by Jeremy Weatherford. Finally, this release is also the first release where Sonic Pi has a Core Team of developers. Please give a warm welcome to Xavier Riley, Jeremy Weatherford and Joseph Wilk.

API Changes

GUI Modifications

Bugs/Improvements

Synths, Samples & FX

Version 2.0.1

Tuesday 9th September, 2014 (view commits)

Version 2.0 - ‘Phoenix’

Tuesday 2nd September, 2014 (view commits)