There is a beautiful graphic and another beatiful graphic. All presentations should be made up of cartoons like this.
Cloud computing keeps you from having to drag your entire wolfram cluster to a gig. However, the cloud does not have a speaker at your venue. Unless you use internet audio streaming.
The graphic is slightly less beautiful
anyway, there is latency issues, compatibility issues, packet size issues… You can get fragmentation. and TCP is acked and all that.
OMG, the speed of light is TOO SLOW
Things can get jittered
Big buffers are lovely, but are more jittery. HTML5 has big buffers.
Window size in compression has delay as well. He says to send raw, uncompressed audio.
Use HTML 5 to play audio in the browser and then you get portability.
He suggests sending 256 or 357 bytes per packet
70 ms delay in sending http request sounds 160ms to alberta. Eduoroam is like 300 ms.
Granular synth is a csound synth running on 14 virtual computers. (oh my god)
Oh my god
star networks are fast, but don’t scale. Tree networks scale, but have latency per hub.
the demo is, wow, less than compelling
Tag: live blog
Ping Pong: Musically Discovering Locations
this is a video of a talk of a guy stuck in visa-hell. alas, I’ve been there.
this is for mobile phone ensembles. devices do not know each other’s physical position. so performers need not stand in a pre-arranged formation.
They play sounds at each other to measure location. This is a piece in and of itself.
They make pairwise distances and then compute three dimension position from the distances. 1 sample error is 1.5cm error. also, clock issues.
One device hears a message, the other plays sound back. They have an agreed upon delay, so as to duck the clock issue. They have an onsent detector that does fast and slow envelopes, like yesterday’s presentations. The measurements were repeatable and accurate.
They do vector matrixes to guess positions.
The ping pong notes are going along a midi score. There are some ways to recover failure.
There is geometric ambiguity. Background noise creates a problem. As do reflections. They are wondering how to solve this without restorting to harsh noise, but I say embrace it. Why not hardcore mobile phone ensembles?
Questions
Will the system work with sounds outside of the human range of hearing?
Probably not with iPhones or iPods, but it could work.
Why use the audio clock instead of the CPU clock?
the audio clock is much more reliable because its runs in real time. The CPU clock has a lot of jitter.
Architecture for Server-based Indoor Audio Walks
Use case: Lautlots
People walked around wearing headphones with a mobile phone stuck on top like extra silly cybermen.
they had six rooms, including two with position tracking. They used camera tracking in one room, and bluetooth plus a step counter in the other room.. They had LEDs on the headset for the camera tracking
He is showing a video of the walk.
they used a server/client architecture, so the server knows where everyone is. This is to prevent the guided walk from directing people to sit on each other.
Client asks for messages they want to receive.
He is showing his PD code, which makes me happy I never have to code in PD
this is also at github
Questions
What did users think of this?
Users were very happy and came out smiling.
Communication Control and Stage Sharing in Netowrked Live Coding
Collaborative live coding is more than one performer live coding at the same time, networked or not, he says.
Network music can by synchronus or asynchornos, collocated or remote.
There are many networked live coding environments.
You can add instrumental performers to live code stuff, for example by live-generating notation. Or by having somebody play an electronic instrument that is being modifies on the fly in software.
How can a live coding environment facillitate mixed collaboration? How and what sould people share? Code text? State? Clock.? variables? How to communicate? How do you share control? SO MANY QUESTIONS!!
They have a client/server model where only one machine makes sound. No synchronisation is required. There is only one master state. However, there are risks of collision and conflict and version control.
the editor runs in a web browser because every fucking thing is in a browser now.
Shows variables in a window and a chat window and a big section of the text. shows the live value of all variables in the program state. Can also show the network/live value.
Now showing collusion risk in this. if two coders use the same variable name, this creates a conflict. Alice is corrupting Bob’s code, but maybe Bob is actually corrupting her code. Anyway, every coder has their own name space and can’t access each other’s variables, which seems reductive. Maybe Bob such just be less of a twat. The live variable view shows both Alice’s and Bob’s variables under separate tabs.
His demo says at the top (‘skip this demo is late’
How do people collaborate if they want to mess around with each other’s variables? They can put some variables ina shared name space. click your variables and hit the shared button and woo shared.
How do you share control?
Chat messages show in the mobile instrument screen for the ipad performer. The programmer can submit a function to the performer in such a way so that the performer has agency in deciding when to run the function.
the tool for all of the this is called UrMus
Questions
Would live coders actually be monitoring each other’s variables in a performance?
Of course, this used in general coding, and hand waving
NEXUS UI: simplified expresive mobile development
This is a distributed performance system for the web. started being focussed on the server, but changed toelp with user interface development tools. Anything that uses a browser can use it, but they’re into mobile devices.
They started with things like knobs, sliders and now offer widgets of various sorces. This is slightly gimmicky, but ok.
NexusUI.js allows you to access the interface. The example is very short and has some toys on it.
They’re being very handy-wavy about how and where audio happens. (they say this runs on a refrigerator (with a browser), but the tilt might not be supported in that case)
Audio! You can use Web Audio if you love javascript. Can use AJAX to send it to servers or Node.js rails, whatever. Can also send to libPD on iOS. nx.sendTo(‘node’) for node.js
They are showing a slide of how to get OSC data from the UI object.
This is a great competitor to touchOSC, as far as I can tell form this paper.
However, Nexus is a platform. There is a template for building new interfaces. It’s got nifty core features.
They are showing a demo of a video game for iphone that uses libPD
Now they are testifying as to ease of use. They have made a bunch of Max tutorials for each nexus object. Tutorials on how to set up on a local server. They have a nexusDrop ui interface builder makes it very competitive with touchOSC, but more generally useful. Comes with an included server or something.
NexusUP is a max thingee that will automagically build a nexusUI based on your pre-existing max patch. (whoah)
Free and open source software
Building a bunch of tools for their mobile phone orchestra.
Tactile overlays
laser cut a thingee in the shape of your ui. put it on your ipad and you get a tactile sense of the interface.
Questions
Can they show this on the friday hackathon?
Yes
Making the most of Wifi
‘Wires are not that bad (compared to wireless)’ – Perry R. Cook 2001
Wireless performance is risky, lower, etc than wired, but dancers don’t want to be cabled.
People use bluetooth, ZigBee and wifi. Everything is in the 2.4 gHz ISM band. All of these technologies use the same bands. Bluetooth has 79 narrowband channels. It will always collide, but always find a gap, leading a large variance in latency.
Zigbee has 16 channels, doesn’t hop.
Wifi has 11 channels in the UK. Many of them overlap, but 1, 6, and 11 don’t. It has broad bandwidth. It will swamp out zigbee and bluetooth.
the have seveloped XOSC, which sends OSC over wifi. It hosts ad-hoc networks. The presenter is rubbing a device and a fader is going up and down on a screen. The device is configured via a web browser.
You can further optimise on top of wifi. By using a high gain directional antenna. And by optimising router settings to minimise latency.
Normally, access points are omni directional, which will get signals from audiences, like mobile phone wifi or bluetooth. People’s phones will try to connect with the network. A directional antenna does not include as much of the audience. They tested the antenna patterns of routers. Their custom antenna has three antennas in it, in a line. It is ugly, but solves many problems. the tested results show it’s got very low gain at the rear, partly because it is mounted on a grounded copper plate.
Even commercial routers can have their settings optimised. This is detailed in their paper.
Packet size in routers is optimised for web browsing and is biased towards large packets, which has high latency. Tiny packets have huge throughput in musical applications.
Under ideal conditions, they can get 5ms of latency.
They found that channel 6 does overlap a bit with 1 and 11, so if you have two different devices, but them on the far outside channels.
Questions
UDP vs TCP – have you studied this wrt latency?
No, they only use UDP
How many drop packets do they get when there is interference?
that’s what the graph showed.
To gesture or not? An analysis of technology in nime proceedings 2001-2013
How many papers use the word ‘gesture’?
Gesture can mean many different things. (my battery is dying.)
Gesture is defined as movement of the body in dictionaries. (59 slides, 4 minutes of battery)
Research deifnitions of gesture: communication, control, metaphor (movement of sound or notation).
Who knows what gesture even means??
He downloaded nime papers and ran searches in them. 62% of all nime papers have mentioned gesture. (Only 90% of 2009 papers use the word ‘music’)
Only 32% of SMC papers mention gesture. 17% of ICMC
He checked what words ‘gesture’ came next to – collocation analysis.
NIME papers are good meta-research material
He suggests people define the term when they use it.
Data is available/
Questions
I can’t tell if this question is a joke or not….. oh, no, we’re on semiotics…. Maybe the pairong of the word ‘gesture’ with ‘recognition’ says something fundamental about why we care about gesture.
The word ‘gesture’ goes in and out of fashion.
Maybe ‘movement’ is a more meaningful word sometimes.
how often is gesture defined?
He should have checked that, he says.
Harmonic Motion: a tool kit for processing gestural data for interactive sound
they want to turn movement data into music.
This has come out of a collaboration with a dancer, using kinect. It was an exploration. He added visualisation to his interface. And eventually 240 parameters. The interface ended up taking over compared to the sound design.
They did a user survey to find out what other people were doing. So they wanted to write something that people could use for prototyping, that’s easy, extensible, and re-usable.
They wanted something stable, fast, free and complementary, so you could use your prototype in production. Not GPL, so you can sell stuff.
A patch-based system, because MAX is awesome all of the time.
This system is easily modifiable. He’s making it sound extremely powerful. Paramters are easy to tweak and saved with the patch, because parameters are important.
Has a simple SDK. Save it as a library, so you can run it in your project without the gui. this really does sound very cool.
Still in alpha.http://harmonicmotion.timmb.com
Questions
CNMAT is doing something he should look at, says a CNMAT guy.
Creating music with leap motion and big bang rubette
Leap Motion is cool, he says.
rubato composer is software that allows people to do stuff with music and maths structures and transforms. It’s MAXish, but with maths.
The maths are forms and denotators, which is based on category theory and something about vector spaces. You can define vectors and do map stuff with them. He’s giving some examples, which I’m sure are meaningful to a lot of people in this room. Alas, both the music AND the math terms are outside of my experience. …. Oh no wait, you just define things and make associations between them. …. Or maybe not…..
It sounds complicated, but you can learning while doing it. They want to make it intuitive to enter matrixes via a visual interface, by drawing stuff.
This is built on ontological levels of embodiment. Facts, processes, gestures (and perhaps jargon). Fortunately, he has provided a helpful diagram of triangular planed in different colours, with little hand icons and wavy lines in a different set of colours, all floating in front of a star field.
Now we are looking at graphs that have many colours, which we could interact with.
Leap Motion
A cheap, small device that track hands above the device. More embodied than mouse or multitouch, as it’s in 3d and you cna use all your fingers.
Rubato
Is built in java, as all excellent music software is. You can grab many possible spaces. Here is a straightfoward one in a five dimensional space, which we can draw with a mouse, but sadly, not in five dimensions. Intuitively, his gui plays audio from right to left. The undo interface is actually kind of interesting. This also sends midi….
The demo seems fun.
Now he’s showing a demo of waving his hands over a MIDI piano.
Questions
Is the software available?
Yes, on sourceforge, but that’s crashy. And there will be an andriod version.
Are there strategies to use it without looking at the screen?
That’s what was in the video, apparently.
Can you use all 3 dimensions?
Yes
Triggering Dounds From Discrete Gestures
Studying air drumming
Air instruments, like the theremin need no physical contact. The kinect has expanded this.
Continuous air gestures are like the theremin.
Discrete movements are meant to be triggers.
Air instruments have no tactile feedback, which is hard. They work ok for continuous air gestures, though. Discrete ones work less well.
He asked users to air drum along to a recorded rhythm.
Sensorimotor Synchronization research found that people who tap along to metronomes are ahead of the beat by 100ms.
Recorded motion with sensors on people.
All participants had musical experience, were right handed.
They need to analyze the audio to find drum sounds.
anaylsis looks for ‘sudden change of direction’ in user hand motion.
The have envelope following that is slow and fast and then compare those results. Hit occurs at velocity minimum. (usually)
Acceleration peaks take place before audio events, but very close to it.
Fast notes and slow notes have different means for velocity, but acceleration is unaffected.
Questions
Can this system be used to predict notes to fight latency in the kinect system?
Hopefully
Will result be different if users have drum sticks?
Maybe?