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 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
- 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 synthsreset_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 sampleswith_merged_sample_defaults
- similar to
with_merged_synth_defaults
but for samplesuse_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). - 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. sample_duration
now correctly takes account of TL defaults set by
use_sample_defaults
.- Sampler opts
pitch_stretch
,beat_stretch
andrpitch
can now be
used in TL defaults.
Releases
Mac | |
Link | Sonic-Pi-for-Mac-v2.9.0.dmg |
Size | 93M |
MD5 | c74d393043e2acf97a03430e824ecbf2
|
SHA256 | c9dcf6a9d05204b8cb51244f51f083ed5e68d36428814c768af752f4ff3686fa
|
Raspberry Pi (Jessie) | |
Link | Sonic-Pi-for-RPi-Jessie-v2.9.0.tgz |
Size | 61M |
MD5 | d14eaf49b9c38a4afe4906ebc1b413b2
|
SHA256 | 6406a92be127c50d1592ee1a3408f73fff77aa6290764f27a7a6cf273fc10e2e
|
Raspberry Pi (Wheezy) | |
Link | Sonic-Pi-for-RPi-Wheezy-v2.9.0.tgz |
Size | 61M |
MD5 | d63390b4167cee8a87632fbd7e22f04b
|
SHA256 | 5f98c803c432f684382b24e9105fc6dfdc7b46fd7b6fd74c4fc5ac5ae59c2a05
|
Windows | |
Link | Sonic-Pi-for-Win-v2.9.0.msi |
Size | 79M |
MD5 | 0311ce18b1ba35e343e1b4de533899c9
|
SHA256 | 392fe3b1d5b8b651c86af2526e8add0b44e806207ee2ca90871fa6bbb7705b9c
|