samaaron/sonic-pi: Version 3 - 'IO'
Authors/Creators
- Sam Aaron1
- Hanno Zulla2
- ethancrawford
- Łukasz Siwiński
- Joseph Wilk3
- Jeremy Weatherford
- kn1kn1
- Xavier Riley
- ContesseLina
- Nicolas Dermine
- Martin Keegan
- Luis Lloret
- Robin Newman
- Federico P.
- Mircea Patrascu
- Adrian Cheater
- dal Pozzo4
- Cindy Dallaire
- MauroFigueira
- verbgio
- Yann Pavlenko
- Ruben Tobalina
- Joseph Burnett5
- Emlyn Corrin6
- Wolfgang Werner
- G. Martin Butz
- Weblate push user7
- Tiago Morais Morgado
- petterreinholdtsen
- paubarrina
- 1. University of Cambridge
- 2. epublica
- 3. Poetic Computation
- 4. Centro de Creaciones Electroacústicas
- 5. Google
- 6. SwiftKey (@TouchType), @Microsoft
- 7. @WeblateOrg
Description
18th July, 2017 (view commits)
This release is our most ambitious to date. The goal is to open up the code within Sonic Pi to the outside world. We want you to be able to both manipulate the real world to change the code and change the real world with the code. Input Output. IO.
We have therefore focussed on getting events and audio in and out of Sonic Pi in new ways whilst keeping to our philosophy of simple code, live manipulation, and strict, powerful timing. This release introduces a number of brand-new components:
- Time State - a powerful new time-based deterministic shared memory system
- MIDI - support for input and output of MIDI
- OSC - support for sending and receiving OSC messages on the network.
- Live Audio - for getting multiple streams of audio into Sonic Pi
- Multi-channel audio out - for outputting multiple streams of audio.
- Audio Buffers - for internal recording of audio enabling the creation of loopers.
We're really very excited about what new kinds of instruments people will be able to create with this new technology both in the classroom and on stage at musical festivals. Sonic Pi has now become a fully programmable music studio. Have fun live coding!
Breaking Changes- Ring's
.picknow returns 1 element by default. Previously calling.pickon a ring would pick n elements randomly from the ring (including duplicate picks) where n would be the size of the ring. With this change,.pickonly returns a single element. This makes it similar to choose.
midi_*- many new MIDI-specific fns such asmidi_note_on,midi_pitch_bend,midi_cc,midi_clock_tick. See new tutorial section for more information. These fns send MIDI messages to connected MIDI devices. Incoming MIDI is received via the new event log.with_swing- add swing to successive calls to do/end block.get- get a named value from the Time State at the current time. This will return the last value entered. Previous values can be read when within atime_warp. Has full support for OSCset- set a named value in the Time State at the current time. Future values can be set when within atime_warp.use_real_time- convenience fn for setting the schedule ahead time to 0 for the current thread. Very useful for removing latency from live loops that are working with external cues (such as MIDI or OSC).use_midi_defaults- set defaults to be used for all subsequent MIDI calls. Similar touse_synth_defaults. Also available:with_midi_defaults.use_osc- set the default hostname and port number for subsequent outgoing OSC messages. See alsowith_osc.osc- send Open Sound Control messages in time with the music to default hostname and portosc_send- similar tooscbut requires you to specify the hostname and portuse_sched_ahead_time- set the schedule ahead time specifically for the current thread. Also available -with_sched_ahead_time.current_time- return the current logical time.assert_error- An assertion to ensure the specified block of code raises the specified error.
New synth
live_audio- directly stream audio from your soundcard as a synth.New FX
record- enables you to internally record any audio into named buffers. Perfect for building looper systems.New FX
:sound_out- stream out audio to a specific output on your sound card. This enables multi-channel audio out.- New FX
:sound_out_stereo- similar tosound_outbut streams out to a pair of consecutive audio card (left and right) output channels. - New FX
eq- Parametric EQ with three centre freqs - low, mid & high - all with Q values and gain (-1 -> 1). Also has low and high shelves with centre freqs and slope adjustment. - New FX
tremolo- simple tremolo effect which modulates the volume within thedo/endblock.
- New 'pro' icon set for performances.
- New GUI translations for the following languages: (BS) Bosnian, (CA) Catalan, (CS) Czech, (DA) Danish, (EL) Greek, (ET) Estonian, (HI) Hindi, (ID) Indonesian, (KO) Korean, (PT) Portuguese, (TR) Turkish, (ZH) Chinese
- Added new pane for displaying new cue events (including incoming OSC and MIDI)
- Added new IO preferences tab for configuring MIDI and network settings.
- Automatically autocomplete
sync,cueandgetorset - Increase width of autocompletion popup.
- New articles on additive and subtractive synthesis techniques.
- New example piece 'Cloud Beat' by Pit Noack
- Teach
time_warpabout input ranges. It now works similar toatin that it can now take two lists of args - times and values - which represent a list of time destinations to be visited in turn. - Ensure any unprinted messages are displayed if an exception occurs.
- Teach
rangeto work as expected with both floats and ints. - Teach rings a new chain method -
.scalewhich will return a new ring with all elements multiplied by the scale value. - The fn
controlnow returns the node you're controlling. - Add many new chords
- Fix randomisation aspects of
:slicer,:wobbleand:panslicerFX (i.e. via theprobability:opt). - Fix file path drag and drop on Windows to not accidentally prefix path with /.
- Teach
chord_invertandsampleto work with floating point args.
68fd047993778d08a3e384a4bd72d862
SHA256
824e822c797547067952a7579b2c881fc2b90b1435f9ab1c824bfc3564869310
Raspberry Pi Deb (Stretch)
Link
sonic-pi_1_3.0.0-armhf.deb
Size
58M
MD5
4141e3029570ddababb1c1aab5d443b5
SHA256
92abd4044ae13d5d19eadd4250ce6182d2ccdfc1db86fed085cbd91ee3d078cd
Files
samaaron/sonic-pi-v3.0.zip
Files
(86.7 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:33e48dd7392b85f5be54f9f3bd298736
|
86.7 MB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/samaaron/sonic-pi/tree/v3.0 (URL)