Live coding as a part of a free improv orchestra by Antonio Goulart and Miguel Antar

He is doing only code and not processing other people.

He does no breast tracking. Joe to communicate well with other improvisers. They try to be non idiomatic.

Performers should be able to play together based only on sound with no knowledge of other instruments. They try to play without memory.

Acoustic instruments are immediate, but live coding has lag, which provides opportunity to create future sounds.

He didn’t used to project code, so as to not grab to much attention. But the free imprison acoustics guys Jammed More together, so he thought screen showing would help people play more together.

This did help, and does not distract audiences, so they kept it.

It turns out that some knowledge of each others instruments is needed to play well together. Should instrumentalists learn a bit of code to play with live coders? Or is that too much to ask? Would it be too distracting when they’re trying to play?

http://soundcloud.com/orquestraerrante

There is a discussion about projection in the question section….

Extramuros: a browser coding thingee by David Ogborn et al

Uses node.is, which he says is duct tape for network music.

It supports distributed ensembles and has language neutrality. Server client model.

Browser interface, piped to language from server.

It is aesthetically austere.

There have been several performances.

It is also useful for projecting ensembles live code. And for screen sharing. And for doing workshops with low configuration. (He says no configuration)

Running this means giving access to a high priority running thread on your machine…

Future work: it allows for JavaScript and osc right now. They want to do event visualisation. There are synchronisation issues. Phasing is an issue. What about stochastic stuff? When people write unpredictable, untimed code, unpredictable, untimed things happen. Apparently this is bad.

We are being made to participate. In tidal.

Live writing: asynchronous live coding

People collaborating can be Co located out distant, synchronous or asynchronous.

Asynchronous live coding is a thing, like sending code over email. There are ways to communicate etc. Open form scores, static code, screen cast, audio recording

Music notation is meant to allow this. He says live coding is improvised or composed on real time. So how to archive performances or rehearsals.

Studio can be recorded or there are symbolic recordings, like code or notation. Code and notation are not equivalent. In traditional music, midi files are between the recording and the score. it has time stamps etc.

What is the equivalent of a midi file for live coders?

He’s showing Gibber in a web browser. It records his keystrokes with time stamps, saves it to a server, and can be played back.

Livewriting.eecs.umich.edu
http:// Livewriting.eecs.umich.edu

There are other systems like this, like threnoscope by Magnusson.

Show us your screens. Happens outside of live coding. Game streaming. Programmer streaming for not live coding.

Writing as music performance. Write a poem, sonority the typing and do stuff based on character content.

Written communication is asynchronous. Recording keystrokes can make writing into a real time experience. Or reading. Or whatever.

As there is no sense of audience, the experience is the same as non live writing. The trading experience is really different, though.

Text Alive online

YouTube, SoundCloud, etc, are for distributing product, not authoring it. This is less true for programmers.

Kinetic typography is animated text.

He had a system to music videos etc with text or maybe lyrics appearing in time.

Video is a pure function of time. Exported video projects are rendered images. But you can write a function that given a time, generates an image. This creates a real scalability.

The website text alive does this with text animation of lyrics. The system analysis the song and the lyrics and automatically m makes a video draft. The user can then edit it.

‘Everything is interactive’ via a set of sliders.

The video is generated with Java script. The faders are automatically generated.

You can modify the JavaScript. And make derivative videos.

This really shows the power of svg+JavaScript.

http://www.textalive.jp

.

Copy paste tracking. Spreadsheets

Spreadsheets are great example of live programming.

Live coding is performance. Live programming is instant interpretation. Live programming languages are needed for live coding.

Spreadsheet formulas are programming.

Copying in spreadsheets is a way to make up for the lack of abstraction.

Managing copy errors is hard. A Canadian company lost millions from an excel error.

We could ask users to define data types, but then it gets like access.

Their plugin tracks the origin of the formula. If you change one, all clones will update. They allow you to detach clones.

Q: is it fair to distinguish between live coding and live programming?  Is live programming only for business?

What about dynamic programming? Or should we focus instead on a spectrum of liveness.

A:  one is for languages and one is for what you do with it. Aliveness need not be boolean.

Q: Is the difference social?

A: these communities can learn from each other.

Is it an aspect of the language or the use of it?

Q: live feedback with the machine and artists. Artists understand giving performances and engineering. But engineers don’t understand when they’re performing.

Practice lead craft research

Practice lead research is a problem of epistemology.

Knitting is creating knowledge with our hands. Craft make knowledge physical.

How do you get knowledge put off craft based practice as research. The answer is rigour.

Rigour has an awareness of previous work, having critical questions of y that work. Hacking and to making and being reflective.

Sonic pi vs overtone with piano phase.

He’s said a lot of interesting things about development, b but the best is that when he used sonic pi, he writes down ideas for tool development. Then he looks at them later. Playing music and composing is thus separated from development.

Keynote guy again

Rubik’s cube solving as performance. Sometimes the process of problem solving is the goal.

The classical theory of problem solving. States based search based problem solving. Problems have a starting state, a set of methods and a goal state. The method operators have pre-conditions, a  transformation method, etc. There is a defined state space.

He is showing the Towers of Hanoi.

The problem state graph for the towers of Hanoi can be an interface for collaborative problem solving. The tree can be computed on the fly.

The graphs give you a shared representation.

To generate the missionaries and cannibals graph you use a two  dimensional graph. This problem is problematic.

Blocks world problem graph has potential layout collisions.

R real world problems. It could be applied to climate change.

Co-solve controls collaborative problem solving. It has a lot of latency. By ticking up the atmosphere. This is some neoliberal bullocks. But it may have performance applications.

Q: what problem are live codes trying to solve?
A: trying to get people to dance, maybe.

Q: should a live coder think of a problem in advance?

A: formulation is difficult.

Approximate programming by Chris Kiefer

Coding by weird interfaces.

Approximate coding. Take a number generator and turn it into code. Any number generator will work. Use gene expression programming. It’s fast but not precise.

What is the value of code as a medium? How precise does code need to be in a live situation? Is the keyboard the best way to write code?

Genetic programming uses a tree representation. Numbers are translated into the tree. Component functions plus arrays of numbers make new code to run.

He’s got jit nodes in SuperCollider and a multislider. Changing the faders changes the synthdef.  You can live code the Synth functions.

A controller could give you your arrays.

There are two levels of live coding. You can create your autonomic functions and the trees created by generating numbers.

You can discover relationships between sound and gesture. The code is kind of incomprehensible but can be out into trees.

Smoothing out parameter space. Small changes can cause static output changes due to non linear ness.

Future work involves smoothing landscapes. He wants some bidirectional feedback.  Could code output make new code?
Can this system do anything precise? Could you find a gradual quick sorry  algorithm?

Q: is there room for genetic processes via evolution?
A:

Q: how duo you compare two trees? How do make the minimal changes on transition?
A: this may be a good way to smooth a transition
Q: diffmatch patching.

What does live coding know by Geoff Cox

Onto-epistemology.

An apparatus is an active productive of the object itself. The programmer produces uncertainty. Subjects and objects co-create.

How is knowledge produced? Disrupt power knowledge regimes. Introducing uncertainty is increasingly important. Code is an integral part of coding practice.

Emergent knowledge

Artistic or practice based research addresses non propositional forms. How does live coding make an argument in itself.

Alternative knowledge or non knowledge. Live coding can shape how and what we know about knowledge?

This challenges goal-oriented research design. Computation contains internal paradoxes as is shown by the halting problem.

Live coding mirrors modern labour production. The speaker refers to Yuill’s article.

Live coding exposes possibilities. It shows the uncertainty of computation.

Q: is there enough reflection of the critical potential? How would Marx critique this?

A: general intellect is absorbed into capitalism.

Live coding and machine listening by Nick Collins

Human hearing can be modeled by a computer.

Live coding can control machine listening or machine listening can be the front end of the language.

This is maybe like gestural coding?

Algoravemic doors a live dynamic remix of a track. Using feature extraction and resynthesis.

Using feature extraction to code the toplapapp.

Speculatively:
Speech recognition
Live code machine listening algorithm
Algorithmic critics
Divergence from the human ear post singularity
Personalised languages of live coding

Machine listening is the future

Q: I didn’t understand the question…
A: yes