Sonic Pi v2.8.0 Release Notes

Release Date: 2018-02-21 // about 6 years ago
  • ๐Ÿš€ 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

    • Shortcuts for switching buffers have changed. They are now M-{ and
      M-} for switching left and right respectively.
    • ๐Ÿ”€ sync no longer inherits BPM by default. Set the bpm_sync: opt to
      true to enable BPM inheritance.
    • ๐Ÿ‘€ Random seed generation for new threads is now reset on calls to
      use_random_seed.

    ๐Ÿ†• New Fns

    • octs - returns a ring of successive octaves.
    • ๐Ÿ‘ป assert - for raising an exception if the argument is not true.
    • ๐Ÿ‘ป assert_equal - for raising an exception if the two arguments are not
      equal.
    • bt - converts the specified time w.r.t. the current BPM.
    • ๐Ÿ–จ inspect - similar to print but prints the inspected version of the argument.

    GUI

    • ๐Ÿ†• New translations for Polish, Japanese and French.
    • ๐Ÿ‘Œ Improve efficiency of logging panel.
    • M-RET is now a duplicate shortcut for running the code.
    • ๐ŸŒฒ Log title bar is now hidden in full-screen mode.
    • ๐ŸŒฒ Log - don't display โ”” or โ”œ if the line is blank, instead display โ”‚
    • โž• Add sample name autocompletion to more fns such as sample_duration.

    ๐Ÿ“š Documentation

    • ๐Ÿ†• New tutorial section on ring chains (chainable functions for modifying rings)
    • Tilburg 2 example slightly tweaked for Raspberry Pi 1 compatibility.
    • Many minor tweaks and improvements in all areas.

    Synths & FX

    • ๐Ÿ†• New FX - Band EQ for attenuating or boosting a specific frequency band.
    • ๐Ÿ†• New synth - DPulse - a detuned pulse wave.
    • Sampler now has a cutoff envelope which can be accessed via new opts
      which mirror the standard envelope opts but with a cutoff_ prefix
      (such as cutoff_attack, cutoff_decay_level and friends).
    • Sampler now correctly handles samples with different sample rates.
    • Bitcrusher FX now has an internal low pass filter modifiable via a new cutoff opt.
    • Panslicer now correctly honours min and max pan values.
    • ๐Ÿ†• New default opt on: for both sample and synth. This acts like
      if but ensures all the opt vals are evaluated (useful if wanting to
      keep the consumption of random streams or ticks consistent even when
      not triggering a synth.
    • MIDI opts such as cutoff: can now accept note names such as :c4.
    • FX learned the global slide: opt to match synths.

    ๐Ÿ‘Œ Improvements

    • ๐ŸŽ Massive performance improvements.
    • Teach play_pattern_timed to handle rings.
    • current_transpose now returns 0 if there is no current
      transposition.
    • BPM scaling is now honoured when controlling synths and FX
    • All with_fx* fns now return the result of their block.
    • spark now handles rings correctly.
    • spark now treats booleans as 1s and 0s so you can now spark rings of bools.
    • ๐Ÿ–จ puts, print and mc_message now handle multiple message arguments

    ๐Ÿ› Bug Fixes

    • Ensure with_fx doesn't swallow TL modifications such as
      transposition, current synth etc.
    • ๐Ÿ‘€ Ensure with_fx doesn't affect random seed.
    • ๐Ÿ‘Œ Improve reliability of boot process on Mac and Windows.
    • The FX pre_amp: opt is no longer scaled w.r.t. the current BPM.
    • ๐Ÿ›  Fixed GUI side of update checking system.

    ๐Ÿš€ Releases

    Mac
    ๐Ÿš€ Link
    Size 61M
    MD5 2e6d91fd777900782492ca3b38245723
    SHA256 2e6cceb30d2c464e38810d2e8baadde315fc196aff75f0bb4d445c46a02a9a74
    Raspberry Pi (Jessie)
    ๐Ÿš€ Link
    Size 66M
    MD5 b47111d04dceb2997540f9e7764b9faa
    SHA256 58aa121a24c9d06b958199bdf62aab990c6f424c1e1651de453981788b18ec87
    Raspberry Pi (Wheezy)
    ๐Ÿš€ Link
    Size 66M
    MD5 e2f8de24afb93618ffb0f4ca787cfcc1
    SHA256 3f252a7714a5a71d8a03d3d115340c616fa6116acf29f1ae7000d27995333e0d
    ๐Ÿ Windows
    ๐Ÿš€ Link
    Size 75M
    MD5 26dda533ab64bffa67049f4a50616027
    SHA256 6c427110af73ca396a274f5f5dbcab682634694daef9d7a99fca2fa22ab8c226