Sonic Pi v2.9.0 Release Notes
Release Date: 2018-02-21 // about 6 years ago-
Thursday 31st December, 2015
๐ 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 withv2.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) andv2.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
- Rename fn
invert_chord
tochord_invert
- Sampler no longer mixes
rate:
andpitch_stretch:
opts. It's now
possible to set therate:
independent of thepitch:
modification
caused bypitch_stretch
.
๐ New Fns
block_duration
- returns the duration of the given block in seconds (not scaled with the BPM).- ๐
block_slept?
- returns true if the contents of the block slept or synced. synth_names
- returns a list of all the available synths- 0๏ธโฃ
reset_mixer!
- resets the main mixer back to its default values. - ๐
sample_free
- unload a sample from memory to free up memory usage. - ๐
sample_free_all
- unload all samples from memory. use_octave
- similar touse_transpose
but for whole octaves.with_octave
- similar towith_transpose
but for whole octaves.- ๐
use_merged_sample_defaults
- similar touse_merged_synth_defaults
but for samples - ๐
with_merged_sample_defaults
- similar to
๐with_merged_synth_defaults
but for samples use_cent_tuning
- uniformly tune all subsequent notes in centswith_cent_tuning
- uniformly tune all notes in cents within the block
Synths & FX
- ๐ New FX
tanh
- for more distortion goodness. - ๐ New FX
gverb
- a different reverb FX to play with.
GUI
- Synths and samples now also log defaults set by
use_synth_defaults
and friends. - Opts are logged in the order they were defined with local opts first
followed by inherited opts. - ๐ฒ BPM scaling is now accounted for in logging vals.
- ๐ Log metadata such as run number and time is now printed in a more
code-like way: as a hash of key value pairs. C-k
will now kill multiple lines if lines end with,
.- When saving a buffer a
.txt
extension is automatically added to the
file name if none specified. - โ Add Hungarian and Norwegian translations of GUI.
- โ Add Spanish translation of tutorial.
- โ Add title to main window - enables Sonic Pi to be selected in
screensharing app lists such as Google Hangouts and OBS. - โ Add autocompletion for tuning systems.
๐ Documentation
- โ Add 8 complete MagPi magazine articles to the tutorial in appendix A.
- โ Add new example 'ambient experiment' by Darin Wilson.
- โ Add new example 'chord inversions' by Adrian Cheater.
- ๐ Change tutorial license to CC-BY-SA 4.0.
- โ Add instructions for compiling and building on Windows.
- Many, many minor tweaks and improvements.
๐ Improvements
- Add
sync:
opt tolive_loop
andin_thread
. This now syncs the
live loop once on creation. Similar to thedelay:
opt. If both
๐sync:
anddelay:
are specified then the delay happens before the
๐ sync. - The
synth
fn can now play chords with thenotes:
opt such as:
synth :dsaw, notes: (chord :e3, :minor)
. This will return a single
controllable synth node representing all the notes similar to
play_chord
. - BPM scaling and other normalisation is now honoured when controlling nodes
- The
on:
opt is now honoured when playing chords. - ๐ฆ Samplers sound signal now bypasses filter envelope when not used.
- It is now possible to use externally defined FX synths by passing a
string as the FX name:with_fx "my_shiny_effect"
. This needs to be
loaded manually viaload_synthdefs
. - ๐ OS X now supports rates other than 44.1k provided they are similar for
both audio in and out. - โ Run code in
~/.sonic-pi/init.rb
on launch if it exists. - If environment variable
SONIC_PI_HOME
is set it will be used over
~
as the root of the user's.sonic-pi
directory (used to auto-save
๐ files and store logs). - 0๏ธโฃ Default sound card selection is now honoured on Raspberry Pi - so you
may now use your IQaudIO hat (or similar) out of the box.
๐ Bugfixes
- ๐ Fix number of synth validation errors.
- ๐ Fix sporadically failing boot issues on Windows
- โ Add auto-reboot functionality for audio server. This now detects
errors in the server (such as a killed or zombied process) and
automatically reboots it to enable Sonic Pi to continue without a full
restart. Reboots automatically reload all loaded samples and
synthdefs. - 0๏ธโฃ
sample_duration
now correctly takes account of TL defaults set by
use_sample_defaults
. - Sampler opts
pitch_stretch
,beat_stretch
andrpitch
can now be
0๏ธโฃ used in TL defaults.
๐ Releases
Mac ๐ Link Size 93M MD5 c74d393043e2acf97a03430e824ecbf2
SHA256 c9dcf6a9d05204b8cb51244f51f083ed5e68d36428814c768af752f4ff3686fa
Raspberry Pi (Jessie) ๐ Link Size 61M MD5 d14eaf49b9c38a4afe4906ebc1b413b2
SHA256 6406a92be127c50d1592ee1a3408f73fff77aa6290764f27a7a6cf273fc10e2e
Raspberry Pi (Wheezy) ๐ Link Size 61M MD5 d63390b4167cee8a87632fbd7e22f04b
SHA256 5f98c803c432f684382b24e9105fc6dfdc7b46fd7b6fd74c4fc5ac5ae59c2a05
๐ Windows ๐ Link Size 79M MD5 0311ce18b1ba35e343e1b4de533899c9
SHA256 392fe3b1d5b8b651c86af2526e8add0b44e806207ee2ca90871fa6bbb7705b9c
- Rename fn