OSC on Web
Introduction
OSC (Open Sound Control) is a protocol on top of UDP commonly used by audio applications. It could be seem as a MIDI evolution.
The objective of osc-web is to make possible to send and receive OSC messages on the Web browser. With this browser capability we could do interesting things like:
- Connect OSC supported controllers (devices) to the Web browser
- Use the Web browser as a controller to OSC supported applications (like Puredata, SuperCollider, Max/MSP, …)
- Create a Web OSC proxy where people around the world could connect yours OSC controllers or applications together
Some weeks ago I was asking the awesome people on AudioXG about that and they came with some interesting suggestions:
- create a Firefox extension using nsISocketTransport
- create a kind of HTTP proxy (thanks @corban, @F1LT3R, @humphd and yury!)
The first one works but seems to be a security hole (as yuri saids, no one wants UDP connections on its browsers). Now I'm trying the second alternative, using node.js and socket.io to create a bridge between OSC controllers/applications and the browser.
Installation
$ git clone git://github.com/automata/osc-web.git
Using
Run the osc-web server on your localhost:
$ cd osc-web $ node osc-web-server.js
Now open the client:
$ firefox test-app/test-app.html
Plug some OSC device and start sending OSC messages to port 4343 (localhost) and receiving on the specific port your OSC device or application commonly uses.
Related Solutions
- npTuioClient: a NPAPI plugin implementing a TUIOClient clone
- PookyTouch: similar to npTuioClient using Java-JS LiveConnect bridge
- lily's approach: some good notes, uses LiveConnect
- MaxJax: OSC bridge using Python Twisted (just sending OSC)