Bitcrush
Version 2.3 - 'Bitcrush'
Wednesday 28th January, 2015
Breaking Changes
- Playing chords with the fn
chord
now divides the amplitiude of each
resulting synth by the number of notes in the chord. This ensures the
resulting amplitude isn't excessive and is normalised. - Chords now evaluate their args once and those args are used for all
synth triggers. This means random values are only generated once and
are similar across all notes in the chord. Previous behaviour can be
obtained by calling play multiple times with no interleaved sleeps. - Ensure each new thread's random number generator is unique yet seeded
in a deterministic manner. This stops random vals acrossat
from
being identical. range
is now exclusive:(range 1, 5) #=> (ring 1, 2, 3, 4)
New
- New fn
density
for compressing and repeating time Dr Who style. For
example, wrapping some code with a call to density of 2 will double
the bpm for that block as well as repeating it twice. This ensures the
block takes the same amount of time to execute while doing double the
work. - New fns
with_bpm_mul
anduse_bpm_mul
which will multiply the
current bpm by a specified amount. Useful for slowing down and
speeding up the execution of a specific thread or live_loop. - New fn
rdist
- generate a random number with a centred distribution - New examples:
square skit
,shufflit
andtilburg
Improvements
- Teach control to ignore nil nodes i.e.
control nil, amp: 3
will do
nothing. - Teach Float#times to yield a float to the block. For example,
3.4.times {|v| puts v}
will yield0.0
,1.0
and2.0
. - Synth, Sample and FX args now handle bools and nil correctly.
true
resolves to1.0
andfalse
,nil
resolve to0.0
. This allows you
to write code such as:play :e3, invert_wave: true
- Teach
at
to handle varying block arities differently. See docs for
more detail. Original behaviour is preserved and only extended. - App now checks for updates (at most once every 2 weeks). This may be
disabled in the prefs. - Teach
:reverb
FX to extend its kill delay time with larger room
sizes to reduce the chance of clipping.
Synths & FX
- New FX
bitcrusher
- for crunching and destroying those hi-fi sounds. - New FX
flanger
- a classic swhooshing effect typically used with
vocals and guitars. - New FX
ring
- ring modulation for that friendly Dalek sound - New FX
bpf
- a band pass filter - New FX
rbpf
- a resonant band pass filter - New FX
nbpf
- a normalised band pass filter - New FX
nrbpf
- a normalised resonant band pass filter
New Samples
perc_snap
- a finger snapperc_snap2
- another finger snapbd_ada
- a bass drumguit_em9
- a lovely guitar arpegio over Em9
Bug Fixes
- Namespace
live_loop
fn and thread names to stop them clashing with
standard user defined threads and fns. - GUI no longer crashes when you start a line with a symbol.
with_fx
now returns the result of the block- Kill zombie scsynth servers on startup for better crash recovery.
- Handle paths with UTF8 characters gracefully
- Force sample rate for output and input to 44k on OS X. This stops
scsynth from crashing when output and input sample rates are
different.
Releases
Mac | |
Link | Sonic-Pi-for-Mac-v2.3.0.dmg |
Size | 56M |
MD5 | 06981df501907faf2b5285d0772a05fb |
SHA256 | 1408aa3c34627ba8436676fcf9f889fd0f51ab0bfd43131f476dd87f94714993 |
Raspberry Pi (Wheezy) | |
Link | Sonic-Pi-for-RPi-Wheezy-v2.3.0.tgz |
Size | 35M |
MD5 | 51a9357a56d208905668358efe8bf457 |
SHA256 | 20a49e26f4279d90bbc35cc0f26b9c19d8578332d1df733a1924dfa0631b0ba2 |
Windows | |
Link | Sonic-Pi-for-Win-v2.3.0.msi |
Size | 69M |
MD5 | d781404353faa673161f4383a4f4c05c |
SHA256 | 3f95e899eca5e727b5e8fae07889beeee1c6dfef32160ed9e3b493e084bf5f40 |