Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Open Sound Control Web Bridge
branch: master

This branch is 10 commits behind automata:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
node-osc
test-app
README.org
osc-web-server.js

README.org

Open Sound Control Web Bridge

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 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 all over the world could connect yours OSC controllers or applications without complications with port fordwarding

Some weeks ago I was asking for awesome people on AudioXG about that and we come with some options:

  1. create a Firefox extension using nsISocketTransport
  2. create a kind of HTTP proxy (thanks @corban, @F1LT3R, @humph 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.

Prerequisites

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

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. also uses LiveConnect
  • MaxJax: OSC bridge using Python Twisted (just sending OSC)

References

Something went wrong with that request. Please try again.