Code. Music. Live.
This is a maintanence and bugfix release which includes updates to all the major internal dependencies. The main goal of this release is to fix boot issues on Windows with specific locale settings.
Mac - Intel | (macOS 12+) |
Link | Sonic-Pi-for-Intel-Mac-x64-v4-5-1.dmg |
Size | 145M |
MD5 | 3de35c6ca9ac1396a43156c1e3fa2fb3 |
SHA256 | 15d589a27636edc4a4b9e9685950d857c7dd076d310497d650f90a387645456a |
Mac - Apple Silicon | (macOS 13+) |
Link | Sonic-Pi-for-Mac-arm64-v4-5-1.dmg |
Size | 127M |
MD5 | 0da7cc7508f2ec94e701ef3e7864b364 |
SHA256 | 58c72fca0b42588060c21d4d677cc8ffe377ef82409e7f2a73fff0fc2163d278 |
Windows x64 | (10/11) |
Link | Sonic-Pi-for-Win-x64-v4-5-1.msi |
Size | 247M |
MD5 | c35cef126c7e7115f6ef147ff9e82999 |
SHA256 | 6caae70cd6c6c289c8b3a4a368edaff76f5e513989ece5ff4f5d77acf3c7ed7b |
Raspberry Pi OS | (Bookworm) |
Link | sonic-pi_4.5.1_1_bookworm.arm64.deb |
Size | 87M |
MD5 | d2c98f287b9941c468f936890b733d71 |
SHA256 | 2808c21863fcd3dd9bd7efdf4fecd802510451a92eda578ff9f69b7f5e1806d4 |
This release comes packed with a number of exciting new synths for you to play with. We have a new hard-hitting kick drum :gabberkick
for that gabber sound and a new vintage electric piano :rhodey
synth. There are also 16 new percussive synths inspired by the infamous TR 808 drum synthesiser. All the synths come with many opts for you to play with to manipulate and change the default timbres.
There are also a number of minor improvements and bug fixes as detailed below.
Have fun and get your live coded 808 on!
:rhodey
- The sound of an electric piano from the 60's and 70's, producing a characteristic metallic sound for notes below :g2
. Adapted for Sonic Pi from SuperCollider Code.:gabberkick
- An aggressive Gabber synth sound adapted for Sonic Pi from SuperCollider Code
:sc808_bassdrum
, :sc808_snare
, :sc808_clap
, :sc808_tomlo
, :sc808_tommid
, :sc808_tomhi
, :sc808_congalo
, :sc808_congamid
, :sc808_congahi
, :sc808_rimshot
, :sc808_claves
, :sc808_maracas
, :sc808_cowbell
, :sc808_closed_hihat
, :sc808_open_hihat
, :sc808_cymbal
,midi_to_hz
argsMac - Apple Silicon | (macOS 13+) |
Link | Sonic-Pi-for-Mac-arm64-v4-5-0.dmg |
Size | 126M |
MD5 | 24d52ebb3695881c3fda10c0dbbf51e6 |
SHA256 | 3e333bbaaeed36331448eb4a7e31faf866b2c8176ab59962ba3d5d48d6dce7b0 |
Mac - Intel | (macOS 11+) |
Link | Sonic-Pi-for-Intel-Mac-x64-v4-5-0.dmg |
Size | 163M |
MD5 | 9f5d77d2213cf3e85d544c51ff6c72ab |
SHA256 | e5aee461fba113ef3e3a43ba9feb8e49bcf824e76d4aa195191c82d4ce387ab3 |
Windows x64 | (10/110) |
Link | Sonic-Pi-for-Win-x64-v4-5-0.msi |
Size | 218M |
MD5 | 3892e2084a1c74da3285133c6368b6cf |
SHA256 | 4c52da5ee00c4404f267c2ae2d85607334b0f852cc2d0150548cc682108e5592 |
Raspberry Pi OS 64bit | 'Bookworm' - released on October 10th 2023 |
Link | sonic-pi_4.5.0_1_bookworm.arm64.deb |
Size | 87M |
MD5 | c1db90f1c28bd3934d8cfb9cdd4c4c01 |
SHA256 | 6ee415a1a97448adc517723e624611493dfe68b7c7f8d355563fda9bc75c00be |
This release comes chock-full of new samples to play with. Firstly we have 5 new samples donated to Sonic Pi by the wonderful electric artist Arovane. These are a selection of glitchy beats recorded at 130 BPM. To best use these either use_bpm 130
or use the beat_stretch
opt to make them fit seamlessly into your current BPM. They're also wonderful to use with the onset:
option for extracting individual sounds to use on their own. Thank-you so much to Arovane for letting us play with these amazing new sounds.
Continuing on the sample theme, there are also 20 new hi-hat samples. These all have a :hat_
prefix and there's a wide variety of sounds to play with ranging from acoustic to electro to metal. They're perfect for adding a sense of drive or groove to your tracks.
This version of Sonic Pi is also the first to support a fully native build for Apple Macs running Apple Silicon CPUs such as the M1 and M2. This means that Sonic Pi can now run on modern Mac computers without needing Rosetta to run things under emulation.
:arovane_beat_a
, :arovane_beat_b
, :arovane_beat_c
, :arovane_beat_d
, :arovane_beat_e
.:hat_snap
, :hat_zap
, :hat_cats
, :hat_tap
, :hat_bdu
, :hat_psych
, :hat_zild
, :hat_zan
, :hat_zgump
, :hat_noiz
, :hat_sci
, :hat_star
, :hat_gem
, :hat_raw
, :hat_yosh
, :hat_mess
, :hat_cab
, :hat_gnu
, :hat_hier
, :hat_metal
.play_pattern_timed
.play_pattern_timed
function documentation.==
operator when comparing maps with nil
. Now returns false
as expected.Mac - Apple Silicon | (macOS 13+) |
Link | Sonic-Pi-for-Mac-arm64-v4-4-0.dmg |
Size | 141M |
MD5 | 7f0b2cc9dfb631356be91c4e87100935 |
SHA256 | fa4020ac4c3259bbed6d456c4b0e13126fe404c1b474654bffd583335f5d0ab5 |
Mac - Intel | (macOS 11+) |
Link | Sonic-Pi-for-Intel-Mac-x64-v4-4-0.dmg |
Size | 166M |
MD5 | 314e140a83a1abc845925b0676890a2b |
SHA256 | 7ed0e94cf92fdf2e8d51ee42c5f7c3478fbcef9630eb12dccf203f5e72bb517f |
Windows x64 | (10/11) |
Link | Sonic-Pi-for-Win-x64-v4-4-0.msi |
Size | 261M |
MD5 | 2d7527943c145f1a37d137af9bde5c89 |
SHA256 | bc51015840161b1f0bfe4ccaae9cc0edbbe8a9d3d45799b8b2da1feb7dfc7ca9 |
Raspberry Pi - 64 bit | (Bullseye) |
Link | sonic-pi_4.4.0_1_bullseye.arm64.deb |
Size | 96M |
MD5 | ba5ef6e4c79370d9f62a94314daf3fa8 |
SHA256 | 0f0ce293470663ab23d1e5314d8256fc20ee9fc94e1f9b8235b6bd5c727a3326 |
30th September 2022
This is another maintenance and bugfix release - primarily addressing a critical issue with configuring external sound cards for audio input. This was accidentally introduced in v4.2. An issue with the auto-indentation preference in the GUI has also been addressed.
The GUI is now restricted to having one instance open at any one time. Having multiple instances of Sonic Pi running simultaneously can cause conflicts. This is now no longer possible, which should reduce any issues users may have observed when accidentally opening the app multiple times in quick succession. Now, only the first instance will open and all the subsequent others will exit before starting if they detect another instance already running.
macOS 10.15+ | |
Link | Sonic-Pi-for-Mac-x64-v4-3-0.dmg |
Size | 128M |
MD5 | a72795543420734aabd6fc004debd0b4 |
SHA256 | c5646b221d61ba55c8e1025a646718d1244333bd57e2a7bccc8eb71c5a7be585 |
Windows x64 10/11 | |
Link | Sonic-Pi-for-Win-x64-v4-3-0.msi |
Size | 203M |
MD5 | 2d0c9796fb67a956b85820459ad0cb22 |
SHA256 | 86074ea63392c145d037eae54567311f0a8178906a3e2fe809746ce966c612cc |
Raspberry Pi OS - Bullseye - (64 bit) | |
Link | sonic-pi_4.3.0_1_bullseye.arm64.deb |
Size | 88M |
MD5 | 41439e913679787cfb579aaa4a36ea9e |
SHA256 | 44acb5b1cf6aee18f282fa15109b27f8d0336cb20841b755154fc8e947568bc5 |
Raspberry Pi OS - Bullseye - (32 bit) | |
Link | sonic-pi_4.3.0_1_bullseye.armhf.deb |
Size | 88M |
MD5 | cd5e2570d3f9fb68f06b8f4d282effdb |
SHA256 | 61fe3ac0747e9b8440857d4d71d79b1360376efeb5f765258d2ce82477891525 |
Full Changelog: https://github.com/sonic-pi-net/sonic-pi/compare/v2.1.0...v2.1.1
14th September 2022
The main purpose of this release is to address a booting issue discovered on a school Windows cluster with common security restrictions. This issue was reported by Adam Cooper from Moor Park High School & Sixth Form in the UK. Adam was wonderfully helpful in finding the specific issue and testing potential solutions. Thanks Adam!
If you happen to have had any trouble running v4 of Sonic Pi on your school clusters, please give this release a go! (Note, this issue didn't affect v3 of Sonic Pi).
In addition, there have been some translation improvements, Global Time Warp now has a greater range and a couple of time_warp
related bugs were found and dealt with. Have fun!
.sonic-pi
which is typically placed in the user's home directory. If the user happens to not have permission to write to their home directory, Sonic Pi now raises a descriptive error on boot and explains that the fix is to set an environment variable called SONIC_PI_HOME
to point to a directory the user does have permission to write to.time_warp
doesn't sleep (even if it contains calls to sleep
internally). This now means that wrapping all code within a live_loop
with time_warp
no longer causes the thread to spin out of control. It instead reports that the live loop did not sleep as expected.sync
within a time_warp
. This is because time warps are effectively timeless and sync
asks the running thread to wait for an unknown period (until a matching event appears). Attempting to wait within a timeless context is clearly nonsensical!macOS 10.15+ | |
Link | Sonic-Pi-for-Mac-x64-v4-2-0.dmg |
Size | 128M |
MD5 | da5ee6df18ca869729ec001bad75051c |
SHA256 | 08fa08e5a6fbdc8adb000a832c03e4f98aeaf8688104b7c6ecf54a0a3ab9d0e0 |
Windows x64 10/11 | |
Link | Sonic-Pi-for-Win-x64-v4-2-0.msi |
Size | 203M |
MD5 | dacbcc04ba4bdd9ce5da6603db34cd2b |
SHA256 | e71329970bc4ca024290586cd253832535554e50afce3b3df98cb858193c8710 |
Raspberry Pi OS (Bullseye) 64 bit | |
Link | sonic-pi_4.2.0_1_bullseye.arm64.deb |
Size | 88M |
MD5 | 7bffc92ea2172ddb5b4bb9bab49e9c81 |
SHA256 | 433ffd5bcd8e55aa743a3e8b1c76f04d2a4799c05847ce882a64cfe5f62f9366 |
Raspberry Pi OS (Bullseye) 32 bit | |
Link | sonic-pi_4.2.0_1_bullseye.armhf.deb |
Size | 88M |
MD5 | 18725a00c1bd9ff7291fec0206bac228 |
SHA256 | 37ab107fa72bf43e4f38922d6d00dcf8179fe9ce6ca5086bdaf72cd61740a033 |
Tuesday 9th September, 2014
alt-*
prefixedcmd-*
prefixedcue
/sync
messages are more clearly highlighted)30th August 2022
The release of v4 of Sonic Pi introduced the ability to change the tempo of live running code to an external beat. This is possible either by setting the tempo manually to a specific BPM (Beats Per Minute) or by using the Tap Tempo button to tap along to an external rhythm. However, even when you do this, it's quite likely that things still don't sound quite right as there's a good chance that the two rhythms are out of phase despite being at the same tempo. This release introduces a new feature - Global Time Warp which lets you shift the phase of Sonic Pi's timing back or forward up to 250 milliseconds to let you align it with an external rhythm.
Taking a quick step back, what does it mean for two rhythms to be out of phase and why is it a problem? Imagine you had two metronomes ticking away. If one has a higher tempo than the other, then one will be ticking faster than the other. This can be fixed by setting the tempos to be the same. However, unless they were both started at exactly the same time, they both wont be ticking at the same time. Instead, one will tick, then the other, then the first, then the second, etc. The second will always be a little later than the first and as they are at the same tempo, they will never catch up with each other, they will always tick at different times. This is called being out of phase. When two rhythms are out of phase it can sound very messy. Therefore, being able to get rhythms to start at exactly the same time is really important to being able to jam together and for it to sound good.
The new Global Time Warp control lets you shift the timing of all triggered synths, MIDI and OSC messages forwards or backwards by a specified time in milliseconds. You can either slide a slider or type in a specific time to adjust the phase of Sonic Pi's timing to match the phase of an external rhythm.
This means you can now easily jam to an external track - first by tapping out the tempo and then by shifting the phase using the new Global Time Warp controls until it sounds right. This is essentially what DJs do when they mix tracks together in a live set - only now you can layer coded rhythms, basslines and riffs on top of external music with code. This is not only a great way to perform live, but it's also a wonderful way to practice - by jamming along to music you love.
In addition to this, the accuracy of the Tap Tempo functionality has been improved in addition to UI tweaks to all the metronome controls.
Have fun jamming in phase to external music and take your live coding collaborations to the next level!
define :foo
rather than define :Foo
.duration:
opt for midi_clock_beat
has been fixed.scsynth_opts
and scsynth_opts_override
options in the ~/.sonic-pi/config/audio-settings.toml
config file.current_debug
now correctly returns true
if logging/debug is enabled (the default). Previously it reported the inverse.macOS 10.15 (Catalina)+ | |
Link | Sonic-Pi-for-Mac-x64-v4-1-0.dmg |
Size | 129M |
MD5 | bb20d0d723236028c4b1cee2961c812c |
SHA256 | cf3cee887ddfe9e436b48167116e17e21a1b57fbce685697fc77b0736305d67a |
Windows 10/11 x64 | |
Link | Sonic-Pi-for-Win-x64-v4-1-0.msi |
Size | 203M |
MD5 | 12d85ccf447a9f87e06cc03cde2976cc |
SHA256 | 46a3756d15884becfa6195d12ce63715117b2fc9cd7053e19358d58f422b23c0 |
Raspberry Pi OS (Bullseye) 64 bit | |
Link | sonic-pi_4.1.0_1_bullseye.arm64.deb |
Size | 92M |
MD5 | 25a4f9bcdaef3bbfc8db070802d6b881 |
SHA256 | e0683aa68cab0d15270cabe7f51b0a8d12056a093f5fd6ca2a598a288e8f8654 |
Raspberry Pi OS (Bullseye) 32 bit | |
Link | sonic-pi_4.1.0_1_bullseye.armhf.deb |
Size | 88M |
MD5 | 5a23a7dd6fa112a15b9795ef0c73f091 |
SHA256 | a5caf041b02d721c35b8ea01623881c0c3636f918f3d76457e6afa5962af16cb |
18th July 2022
This is a minor bugfix and maintenance release.
beat
have been updated to reflect the beat value can no longer be assumed to start at 0
. This changed since Ableton Link integration in v4 which now defines the initial beat value based on its internal state.midi_sysex
introduced in v4 has been resolved. midi_sysex
can now be called as expected.macOS (10.15 Catalina+) | |
Link | Sonic-Pi-for-Mac-x64-v4-0-3.dmg |
Size | 129M |
MD5 | 0670dbcbb01967dd64cd42ed8dd002ae |
SHA256 | 68c31ce8679759aac565794d962970b86cdd36dce5b59c9d92c9a8810bec2119 |
Windows 10/11 x64 | |
Link | Sonic-Pi-for-Win-x64-v4-0-3.msi |
Size | 202M |
MD5 | fc7bf535ccdca97d6e3fce4683259a85 |
SHA256 | 404113a6a72a24bbc74709b01d49f6ce998eb48bc4fce6e90e326d4e362e2b0e |
Raspberry Pi OS 64-bit | |
Link | sonic-pi_4.0.3_1_bullseye.arm64.deb |
Size | 92M |
MD5 | c6629117c149298282ded821a79bc597 |
SHA256 | 8dc6f56f9bb2d307b2176abd98c7e5fffcd75939265d7997800bad133bcf91c1 |
Raspberry Pi OS 32-bit | |
Link | sonic-pi_4.0.3_1_bullseye.armhf.deb |
Size | 88M |
MD5 | 4eb2686d224036567d95662d6fdf3233 |
SHA256 | cd38733e5ace3ffee5e67b624717cf91778367ecd1d55e7f84b28c1d41e708a2 |
15th July 2022
Hot on the heals of v4.0.1 here's another bugfix release addressing an issue with the translations.
During the last year there has been significant upheaval of the process used to build Sonic Pi. Somehow, during this upheaval, the translations never got added into the final release builds, despite being part of the dev builds. This has been true since v4.0 BETA 1 back in August 2021 - yet it somehow went unnoticed until now. Apologies! This release fixes this and re-introduces the translations which are so important for lowering the barrier to entry across the world.
As a bonus, a couple of nice improvements also managed to sneak in for good measure. Have fun!
macOS (10.15 Catalina+) | |
Link | Sonic-Pi-for-Mac-x64-v4-0-2.dmg |
Size | 129M |
MD5 | 54663be97cf61ba2aff9b31622f10c01 |
SHA256 | 2b20d5855b41a5a9e56aec1a268d6466f5f392ae5a08f6cf63c8151d9c85b7ab |
Windows 10/11 x64 | |
Link | Sonic-Pi-for-Win-x64-v4-0-2.msi |
Size | 202M |
MD5 | 3193813eb0486c775b0815a03d0b8253 |
SHA256 | b1b5e02d3de08c06cc1017231d89345a144fdb2048ee2cf38d78ca2af55d46fc |
Raspberry Pi OS 64-bit | |
Link | sonic-pi_4.0.2_1_bullseye.arm64.deb |
Size | 92M |
MD5 | 62214df0168e391a5dc464db03922c60 |
SHA256 | 37ddd51b9b066c5c531dd137b85b2902915875ac9de189459cd3aca6e52bea30 |
Raspberry Pi OS 32-bit | |
Link | sonic-pi_4.0.2_1_bullseye.armhf.deb |
Size | 88M |
MD5 | d908c99a6c921dfc49862d5d0268b7f6 |
SHA256 | 48f992aa59cc162b928ea468005a34edd04f2c8d5ced28f6a2410ca437072650 |