Cyber-physical programming in Extempore – Andrew Sorensen

Cybernetics is a cyber physical system – any closed loop control system.
Cyberphsysical programming is one of these but with a programmer stuck in the loop. The programmer is above the loop and in the loop. Coupling of human, machine and environment.
By changing the world, we understand the world better.
Real-time, real-time. Writing in real-time on a real-time system.
Giant radio telescope is in the works in Australia. they will have huge anoubts of data to deal within real-time.

Extempore

This is a high performance computing thing for real time. It tries to analyse code to figure out how long it’s going to run. Supports embedded computing.
xtlang is a subversion of this? Everything is hot swappable.
It’s a member of the lisp family. Sort of. static typing. No garbage collection. It’s fast and determinate – it will always run at the same speed every time you run it.
This a systems language that feels like a dynamic language. You think you’re doing lisp, but it’s all cyber-physical.

Questions

How old is this language? 2.5 years.
What did the code look like for the example of it’s use in the video he showed? There are online examples.
… this talk was somewhat over my head, as are many of the questions….
Is the compiler written in Extempore? Not yet. It’s in scheme right now.

Benjamin Graf – mblght

Lighting guys sit behind lighting desks and hit buttons for the duration of concerts, so lights in shows are actually usually boring, despite having valuable and variable equipment.
Wouldn’t it be great if you could do stochastic lights with envelope controls?
SuperCollider does solid timing and has support for different methods of dispersing stuff and has flexible signal routing.
He’s got an object that holds descriptions of the capabilities of any lighting fixture – moving, colour, on, off, etc.
He uses events in the pattern system as one way of changing stuff.
He’s added light support to the Server. So you can do SinOsc control of light changes, sendint to contorl busses. He’s also made light UGens.
He ended up live coding the lights for a festival.

Questions

What about machine listening? It would be easy to do in this system.
The code is on github.

David Ogborn: EspGrid

In Canada, laptop orchestras get tones of gigs.
Naive sync methods: do redundant packet transmission – so send the same value several times in a row. This actually increases the chance of collision, but probably one will get through. Or you can schedule further in advance and schedule larger chunks – so send a measure instead of just sending a beat.
download it from esp.mcmasters.ca. mac only
5 design principles

  • Immediacy – launch it and you’ve got stuff going right away
  • Decentralisation – everything is peer to peer
  • Neutrality – works with chuck, supercollider, whatever
  • Hybridity – they can even use different software on the same computer at the same time
  • Extensibility – it can schedule arbitrary stuff

The grid has public and private parts. EspGrid communicates with other apps via localhost OSC. Your copy of supercollider does not talk to the larger network. EspGrid handles all that.
The “private protocol” is not osc. It’s going to use a binary format for transmission. Interoperability is thus only based on client software, not based on the middleware.
Because the Grid thing runs OSC to clients, it can run on a neighbour’s computer and send the osc messages to linux users or other unsupported OSes.
The program is largely meant to be run in the background. You can turn a beat on or off, and this is shared across the network. You can chat. You can share clipboards. Also, Chuck will dump stuff directly.
Arbitrary osc messages will be echoed out, with a time stamp. you can schedule them for the future.
You can publish papers on this stuff or use it to test shit for papers. Like swap sync methods and test which works best.
Reference Beacon does triangulation to figure out latencies.
He wants to add WAN stuff, but not change the UI, so the users won’t notice.

Question

Have they considered client/server topology for time sync? No. A server is a point of failure.
Security implications? He has not considered the possibility of sending naughty messages or how to stop them.
Licence? Some Open Source one… maybe GPL2. It’s on google code.

Chad McKinney – Lich.js – A Networked Audio / Visual Live Coding Language

They started with SuperCollider and have gone on from there. He’s into updates in browser technologies.
He decided to write a language first as a way to start live coding.
Uses web audio and web gl
This language is GPL2 and is on github
If you’re on Chrome, go mess with http://www.chadmckinneyaudio.com/Lich.js/Lich.html

Battery dying

Alex McLean

He did command line scripts 2001-2004, then started working in perl, the Haskell.
slub – writing code to make music to drink beer to.
Feedback.pl – writing code to write code to make music to drink beer to
He read Laurie Spiegel’s paper on manipulations of musical patterns, so he got into pattern languages (ie HMSL, Common music, SuperCollider)
Tidal is embedded in Haskell for pattern manipulation for music. Complexity through combination of simplicity.
Structures could be trees of structures…
So he moved to functions of time. Time is an integer. Give a Pattern a time and it gives you an integer and the periodicity. This is limited because time is an integer.
Now, he thinks of time as cyclic, with repetition. So make time a floating point instead of an int. But this makes lookups hard.
So the thought of having patterns be a sequence with discrete stuff or a signal, which is indexed by a rational and is non-discrete. However, mixing analog and digital in one data type is a problem.
So he made separate types, but then this caused massive code inflation.
He’s gone back to one type again.
Haskell is intense…..
and REALLY concise

Questions

Does the system have state? No, which means he can’t even have random numbers.
Is time still a loop in the current version? Notionally, yes. But representationally, it’s a number, just in the functions, so its what you make it.

Live Coding as Research

This is new stuff and it combines art and science. Plus you’ve got tons of outcomes including papers, performances, languages, theories, etc.
(thinking about music as research in terms of grant application criteria saps my will to live.)
You can do stuff based on perception – the speaker has used psychology studies as a basis for his work.
Gestalt psychology ideas he uses: grouping,continuation and closure.
He is only working on pitch and time
Pseduo-jazz fusion can be expressed through surprisingly short lisp expressions.
Gaussian probabilities do stuff around proximity, some range constraints and some directions.
Ordering of lists leads to closure.
Iteration is repetition
He wants to interact more with tech communities

Questions

Scott wants all his numbers. He’s about to publish in the CMJ.
Nick wants to know why he picked Gaussian. It’s good enough and it’s succinct. He’s being inspired by processes which are learned from modelling research.

Live coding in Mexico

Centro Multimedia is a space for arts research in new technologies. The have an audio workshop with a special interest in code and FLOSS (“software libre”).
The history of live code:

  • 3 concerts in 2006 by an experimental laptop band called mU.
  • Another concert in 2009
  • A telematic concert in 2009
  • A supercollider course since 2007 in the audio workshop and also Fluxus since 2010 – this grew a code community
  • They had a collective live coding session in 2010 just after the first fluxus course

They had used MAX. Later, SuperCollider changed everything because of the philosophy of Open Source. It was free and legal to share. They felt a sense of ownership and it grew a community.
since 2011, they’ve organised 21 live coding events. They do collaborations with other institutions in Mexico City. This is a local scene.
At the National Autonomous University, they did a blank slate coding sessions where everybody had 9 minutes. This was especially beneficial for coding practice of participants.
There was a Vivo conference in 2012 which had more participation form overseas, with longer time slots and had some non-blank slate code, which also caused an explosion in the community.
Their audiences are very diverse with a lot of new people coming in. They are receptive to new ideas.
They are now doing a series of live coding concerts that also mix practices, so with dance, or with circuit bending, sound art, poetry, etc. There now a website hackpact.mx, which has a philosophy of live coding. These projects grow community. Sharing builds personal relationships and knowledge. People form many backgrounds are involved.

Questions

What else goes on at the centre? Lots and lots of new media stuff. They have artistic residence programs. Once specific to Germany. One for Latin Americans. There is a electronic and video festival this year with an open call.
The centre is free, so anyone can come and learn without paying. This increases diversity.
Does anybody in the US or Canada pay attention to what’s going on in Mexico? Artists from the Canada can come for residences, so there is some collaboration there. There are some collaborations with the US through other institutions, but not this one.
Do they do any teaching of coding or live coding in schools? There is not official school of electronic music in Mexico, so teaching mostly happens through workshops. Mexicans who want to do electronic music degrees go abroad. There is not a strong programme for children or teenagers during school time. They do some workshops in summer. They may expand this, but need to do some work on pedagogy. They have also been running some workshops with indigenous people who have no background at all with computers. Sometimes they learn faster because they don’t know it’s supposed to be difficult.
what’s the future of live coding in Mexico? More people, more groups. The future is bright across Mexico for live coding.

Live blogging Live.Code.Festival: Yiorgos Diapoulis – Live Hardware coding

He’s build some sort of binary adding machine that plays sounds based on the current number, which adds to the total every clock cycle. IT creates patterns based on the total not including overflow. The use rprovides a 3 bit word to the counter. Te counter outputs a serial transmission to a decoder. Both of these things are connected to an Ardunio, which is connected to SuperCollider. The counter outputs 3 bits to the ardunio. the decode does one bit?

Battery dying!