github sonic-pi-net/sonic-pi v2.10.0
Version 2.10.0 - 'Cowbell'

latest releases: v4.5.1, v4.5.0, v4.4.0...
6 years ago

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

  • use_sample_pack_as and with_sample_pack_as have been removed.
  • A synth opt value of nil now no longer resolves to 0.0. Instead it
    masks any defaults and ensures the downstream default (for the actual
    synthdef itself) is honoured. This allows you to override any existing
    synth defaults specified via use_synth_defaults for a given synth
    trigger.
  • Default schedule ahead time is now 0.5s on all platforms for
    consistency (except for Raspberry Pi 1 which remains at 1s).

New Fns

  • current_random_seed - Get the current seed value of the random generator.
  • set_cent_tuning! - global tuning.
  • on - similar to if but behaves the same as the on: opt for
    synths and samples.
  • halves - create a ring of successive halves.
  • doubles - create a ring of successive doubles.
  • pick - similar to shuffle but allows duplicates. You may also
    specify how many items to pick.
  • fx_names - create a ring of all available FX.

Synths & FX

  • New synth :dtri - detuned triangle waves.
  • New synth :pluck - a lovely synthesised plucked string.
  • New synth :chiplead - retro NES style lead synth.
  • New synth :chipbass - retro NES style bass synth.
  • New synth :chipnoise - retro NES style noise synth.
  • New FX :whammy - low-tech transposition effect similar to the
    Digitech Whammy guitar pedal.
  • New FX :octaver - low-tech octave effect similar to early guitar
    pedals.
  • New FX :vowel - modifies incoming signal to match human vowel
    sounds.
  • New FX :mono - mono effect for summing stereo channels.
  • :tanh FX is now more crunchy by default.
  • :compressor and :krush FX now correctly honour the mix: opt.

Samples

  • Samples in FLAC format (Free Lossless Audio Codec) are now supported!
  • The sample fn gained source and filter pre-opts. You may now specify
    a number of parameters directly before the opts which describe both
    folders containing samples and filters over those folders to allow you
    to easily and quickly work with large sample sets. See Section 3.7 of
    the tutorial for more information.
  • Samplers now have hpf: and lpf: opts. Any cutoff: opts are
    automatically switched to lpf: and any errors will be reported with
    an lpf: prefix.
  • The sampler synth gained a compressor enabled via the compress:
    opt. This means you can now compress any triggered sample directly
    without the need to reach for an FX.
  • Samplers gained the pre_amp: opt which applies the amp at the
    beginning of its internal signal chain. You can use this to overload
    the new compressor.
  • Samplers now have both high pass and low pass filter envelopes which
    behave similarly to the amplitude envelope but control internal hpf
    and lpf FX. These are available via new opts which mirror the standard
    envelope opts but with a hpf_ and lpf_ prefix (such as
    hpf_attack, lpf_decay_level and friends).
  • Passing a directory path to load_samples will now load all the
    samples within that directory.
  • Passing a directory path to free_samples will now free all the
    loaded samples within that directory.
  • Samples are now loaded asynchronously in a separate thread. This
    therefore doesn't block the current thread and cause any subsequent
    synth/sample triggers to be late.
  • Sample trigger logging now includes the directory of the contained
    sample.
  • Samples are now reloaded asynchronously after a server reboot (and
    therefore no longer block execution).
  • Add new :tabla_ sample group with a range of tabla drum sounds.
  • Add new :vinyl_ sample group with a range of vinyl scratches and
    hisses.
  • Add new samples: :drum_cowbell, :drum_roll, :misc_cros,
    :misc_cineboom, :perc_swash, :perc_till, :loop_safari,
    :loop_tabla.

GUI

  • Add new preference to enforce strict synth/FX timing. When enabled
    synths and samples no longer trigger if it is too late - instead they
    are silent and print a warning message. This behaviour ensures samples
    or synths are never triggered out of time.
  • New load button which will load the contents of a file into the
    current buffer.
  • The vertical bars which help visualise nesting now render in a
    contiguous fashion over blank lines.
  • C-k now nukes over trailing whitespace.
  • load_sample now has sample autocompletion.
  • GUI now correctly reports if the host is a Raspberry Pi 3.
  • New editor preference - Log Auto Scroll. When enabled will always
    scroll log to the bottom after printing every new message.
  • Whitespace at top and bottom of buffer is no longer trimmed.
  • Hitting RETURN now auto-indents the buffer - ensuring that the
    cursor is moved to the correct indentation on the following line.
  • Added Chinese Simplified GUI translation.
  • Log visibility now correctly matches GUI preference.

Documentation

  • New tutorial section 3.7 on Sample Pack Filters.
  • New appendix sections.
  • Examples for sample fn have been completely rewritten and extended.

Improvements

  • scale and chord can now handle being passed no tonic such as:
    (chord :minor) which will return a ring of offsets from 0.
  • chord learned new variants: add2, add4, add9, add11,
    add13, madd2, madd4, madd9, madd11, madd13
  • The ring's .take method can now take more elements than the original
    ring by wrapping around:
    (ring 1, 2, 3).take(5) #=> (ring 1, 2, 3, 1, 2)
  • Rings may now be added or subtracted from each other e.g.
    (ring 1, 2, 3) + (ring 4) #=> (ring 1, 2, 3, 4)
  • Adding or subtracting a number from a ring will create a new ring with
    the number added or subtracted from each of the original ring's
    elements: (ring 1, 2, 3) - 1 #=> (ring 0.0, 1.0, 2.0)
  • Calling (ring 1, 2, 3).take(0) will now return an empty ring.
  • density now complains if it isn't passed a do/end block.
  • Improve error messages for use/with_synth when accidentally passed opts.

Bugfixes

  • On OS X only raise an error on boot if it's clear the sound card's in
    and out rates are different.
  • Improve robustness of boot process on Windows.
  • Rest notes are no longer printed if synth logging is disabled.
  • No longer apply synth defaults to FX.
  • You may now control opts that have no associated info (previously it
    would raise a 'not modulatable' error).
  • Fix index lookup of Vectors.
  • Fix C-i doc lookup shortcut to work with :tb303 synth docs.
  • C-i now always displays docs where available (previously it was
    possible for docs not to be displayed).
  • Sliding between chords now works correctly
  • Windows version will now boot mutiple networked machines logged in
    with the same account.

Releases

Mac
Link Sonic-Pi-for-Mac-v2.10.0.dmg
Size 59M
MD5 db2888bbcc5fb5406ec9c54f74fbb049
SHA256 4539cbd70f1e0d347c27231f741a245551c0d50f10e987761b9b7567ba0d82fe
Raspberry Pi (Jessie)
Link Sonic-Pi-for-RPi-Jessie-v2.10.0.tgz
Size 48M
MD5 3eebecf9363dfa8df6599cab6d98da55
SHA256 7ac3d97a288ea670d3ad8a683b60009fa5737faa59f924cc5f8b462797982e63
Windows Portable
Link Sonic-Pi-for-Win-Portable-v2.10.0.paf.exe
Size 51M
MD5 fbf67315b0d99e9523d7b06bfca5a680
SHA256 e08f3ec43cdc879175dca1682d0e33b933daf4975b189ffe2e468785206c9d43
Windows
Link Sonic-Pi-for-Win-v2.10.0.msi
Size 73M
MD5 3368579b82c6ebfbe5995d2c9b22acfe
SHA256 b79e7c20a20cc83aa752a12c2b5b7ab497c9dc4c3db3024ddce0b5ac73328e99

Don't miss a new sonic-pi release

NewReleases is sending notifications on new releases.