Sound Media 2 – Week 08
This was around the time that the performance project began to become intensely reliant on technology. Of course, this was always going to be a process of seeing where I could take the instruments I was already familiar with, but these computer-based elements were supposed to be secondary to the performance. After this week, I realised that involving so many interlocking technologies made this work like a house of cards.
Whilst I was interested in the output of the Wii remote and nunchuk for my Multimedia subject, I was also focused on how to restrict input to certain parts of the sound timeline in Ableton Live. I had already begun playing with the idea of toggling parameters on and off in OSCulator (thanks to the excellent suggestion from OSCulator developer, Camille Troillard). This would mean that data would only be sent when I wanted it to have an effect. For instance, if one of the performers raises their arm at the beginning of the piece it may trigger a sound, but anytime after that I don’t want an arm raise to repeat that same sound.
The way I achieved this was to use the IAC Driver which is built into OS X to route MIDI messages back from Ableton Live to OSCulator, creating a communication loop.
As the image above shows, Ableton Live cannot deliver messages back to OSCulator isn’t communicating directly with OSCulator in my setup [Edit: OSCulator can receive messages directly from Live – see comments]. Instead, I had to route outgoing messages through the IAC bus, back to OSCulator. When I wanted to receive messages from the Wii remote in Ableton Live, I would send a MIDI message from Ableton Live, through the IAC bus to OSCulator, switching on the parameter of my choosing. Once this on/off state was triggered, OSCulator could then control parameters via MIDI in Ableton Live.
It sounds complicated, but it’s surprisingly simple: once the IAC bus is switched on, you don’t need to think about it – the internal workings of the operating system will take care of it for you. This setup also proved to be very stable – I didn’t have any dropouts at all. I did however, have an issue with Ableton Live triggering messages. Instead of a MIDI value of 127 or 0 being on or off (MIDI uses values across a range of 128), I needed to set values at either 127 or 1. It seemed that zero was seen as no message at all – not ‘off’.
In addition to mapping Wii remote values, we also worked through some more ideas for movement with the sound. I’m posting this one just to show the process…
3 thoughts on “Sound Media 2 – Week 08”
It’s interesting to read how you built this all.
Just one question: are you really sure you need the IAC driver? I think it is useful only for legacy applications that don’t support the virtual MIDI ports.
Actually Live can indeed send message right back to OSCulator, but for that you need to setup Live’s preferences so the “OSCulator In” virtual port is activated.
You’re absolutely right: Live can send messages to OSCulator.
I actually can’t remember now why I chose to add the IAC bus to this chain – which is the downside of playing catchup with these process posts. From memory, it was likely an effort to solve the problems I was having when a MIDI value of zero wasn’t firing off a message in Live. By the time I realised that it was in fact being solved by using the value of 1, the thought of remapping many, many messages from IAC to OSCulator didn’t even cross my mind!
I’ll be posting about the rest of my process in the next few days also. Hopefully I’ll revisit the project soon and be able to iron out some of the bugs, or unnecessary parts – like the IAC bus!