Experimental Package of convenient methods and classes for Pharo designed for live coding performances using Kyma or other musica languages by sending OSC messages in an economic, iconic and transparent way. It has been originally designed to work with SymbolicSound Kyma but can be used with any OSC compatible application.
Create a performance\
p := Performance uniqueInstance.
assign a Performer to the Performance (PerformerLocal or PerformerKyma or PerformerMIDI or PerformerSuperDirt)
p performer: aPerformerSubClass new
add sequencers to the performance
16 rumba to: #snare
or
16 semiquavers to: #hats; midich: 7
play the performance
p play
if you want to stop your performance\
p terminate
The default OSC send port is 57120, the same of SuperCollider audio server.
Integers and arrays implements the messages\
9 toKyma: 'anOSCaddressWithoutTheFirstSlash'
and\
8 toLocal: 'anOSCaddressWithoutTheFirstSlash'
when arrays are sent, each index of the array will be sent to the corresponding OSCAddress suffixed with the array index.
OSC package versions stable 1.0 must be available in your Pharo image. You can get it with this Metacello script (just copy and paste it into your Playground)
Metacello new
baseline: 'OSC';
repository: 'github://Ducasse/OSC/src';
load.
The Pharo LiveCoding Package can be used to play external MIDI hardware. (https://github.com/pharo-contributions/pharo-sound)
The Pharo LiveCoding Package can be used to play the SuperDirt audio engine for SuperCollider. ((https://github.com/supercollider/supercollider) (https://github.com/musikinformatik/SuperDirt)