Summer project: impromptu client for scserver. Start the server, the fire up impromptu, which is a live coding environment. Start it’s server and tell it to talk to scserver. It’s a different way of making music. To stop a function, you re-define it to make errors.
Impromptu 2.5 is being released in a few days as will Thor’s library on the ixi website.
Now for the main presentation. He has a logn standing interest in making constrained system, for example, using ixi quarks. These are very cool. He has very elaborate guis, modelling predator/prey relationships to control step sequencers. His research shows that people enjoy constraints as a way to explore content.
He’s showing a video taking the pis out of laptop performances, which is funny. How to deal with laptop music: VJing provides visuals. NIME – physical interface controllers. or Live Coding. Otherwise, it’s people sitting behind laptops.
ixi lang is an interpreted language that can rewrite it’s own code in real time that has the the power to access sc
It takes a maximum of 5 seconds of coding to make noise. Easy for non programmers t use. Understandable for the audience. The system has constraints as it has easy features.
Affordances and constraints are two sides of the same coin. “Affordance” is how something is perceived as being usable.
composing an instrument has both affordances and constrains.
ixi lang live coding window. There are 3 modes.
agent1 -> xylo[1 5 3 2]
spaces are silences, numbers are notes. instrument is xylophone
scale minor
agent1 -> xylo[1 5 3 2] + 12
in minor an octave higher.
“xylo” is a synthdef name
SynthDef(berlin{ . . . .}).add;
scale minor
agent1 -> berlin[1 5 3 2] + 12/2
Can add any pbind-ready synthdef. multiply and divide change speed
agent1 -> xylo[1 5 3 2]
agent1))
increases amplitude of agent1
percussive mode
ringo -> |t b w b |
can do crazy pattern things
letters correspond to synthdefs, there is a default library
sos -> grill[2 3 5 3 ]
Using pitch shifted samples
Concrete mode
ss -> nully{ 1 3 4 6 6 7 8 0 }
0 is silence
tying it together
rit -> | t t t ttt |
ss ->|ttt t t t |
sso -> | t t t t t t|^482846
>shift ss 1
shake ss
up ss
yoyo ss
doze ss
future 4:12 >> shake ss
group ringo -> rit ss sso
shake ringo
(um, wow. I think I will try to teach this, if I can get a handle on it fast enough.)
ss -> | o x o x|
xxox -> | osdi f si b b i|!12
xxox >> reverb
mel -> wood[1 5 2 3 ]
xo -> glass[32 5 35 46 3] +12
xo >> distort >> techno
shake mel
snapshot -> sn1
snapshop sn1
future 3:4 >> snapshot
scalepush hungarianMinor
suicide 20:5
The suicide function gives it an a percentage chance of crashing every b time
The satisfaction survey results of users is very high. Some people found it too rigid and others thought it was too difficult. Survey feedback is 1% of users.
www.ixi-audio.net
This makes live coding faster and understandable. You can put regular sc code in the ixi lang docs. good educational tool. can be used by children. successful experiment for a very high level live coding project.
You can easily add audio plugins. The lang is very extendable.