Rosco

rosco_logo

DOWNLOAD version 2.0

Rosco is a Mac OS X application that creates OSC messages from a set of sliders and checkboxes.  It also takes serial data from an arduino (or anything else that can implement the pseudo protocol I’ve created for this project) and translates the values into OSC data.

Features:

6 sliders and 12 checkboxes that will transmit OSC data.  The project includes Arduino code and a Quartz Composer file that you can use to rebroadcast the OSC messages out to your network. You can use the OSC messages from Rosco with PD, Processing, Max/MSP, Osculator, or anything else that can utilize OSC messages without using the arduino or quartz composer file.

controls and data representation

controls and data representation

Rosco and Osculator

Rosco and Osculator

Rosco and the included Quartz Composer file

Rosco and the included Quartz Composer file

receive_data_from_roscopd

The Pure Data patch available for use with Rosco

Rosco and Max/MSP

Rosco and Max/MSP

Rosco and Processing (via the oscP5 add-on library)

Rosco and Processing (via the oscP5 add-on library)

Instructions:

Launch Rosco. Set the horizontal sliders to somewhere in the middle so you can get a feel for what they do. Now you can adjust the vertical sliders and see what the interpolation duration does. As the vertical sliders are translating from one position to the another, the values are broadcasting through OSC to port 127.0.0.1 on port 60000.

* Arduino usage is not required. But it’s fun, so load up the .PDE that I’ve included onto your arduino.
* Launch quartz composer with the included .qtz file.  This will receive the incoming OSC messages and give you an easy way to use the values or rebroadcast them to another IP address and/or port.
* have fun? Send bug reports to steve@sc-fa.com or do me a favor and report it here.

Version History:

Version 2.0 – 2009-04-16

DOWNLOAD

* arduino digital pins 2 through 13 are now supported! Pins 0 and 1 are the TX/RX pins, which is what the arduino thinks it’s using to talk to the computer…  Oh well. I can’t see how to get around this for now.  Maybe I can re-acquire one of those pins? Not sure.
* application icon created and buncha other app dev stuff “fixed” so Rosco acts like the real app it is.
* the optional starter external quartz composer file has been updated to accept data from the 12 digital pins as boolean values.
* the arduino code has the ability to invert the analog values. Look towards the top for the “invert” “notinverted” stuff and edit as you need to, and upload to your arduino.  The feedback I got on my hardware was that the potentiometers felt backwards, so I am not inverting the values so that they “feel” right.

Version 1 – 2009-01-20 initial release

* Receiving serial data from the analog pins is working. interpolation curve duration and style selector is working.
* .pde, cocoa app, and external .qtz file all functional to send serial data from an arduino board on the 6 analog pins to the AMSerialPort library, unmunged and sent to an internal QC composition that handles smoothing and broadcasting of the values to port 127.0.0.1 on port 60000.

Other Downloads:

  • stevecooley
    Whoopsie.. sorry about the wrong version being posted here. That's fixed now.
  • Hey Steve! I'm looking for some help with Rosco!
    I am currently embarking on a music-tech adventure that involves an arduino/bluetooth power glove, and we want to use Rosco as the serial-to-osc translator....
    but I can't get osculator to receive any messages from rosco!
    I set osculator to port 60000, so it should be getting data when I move the vertical sliders, am I mistaken?
    please email me and I will tell you more about the project!
  • zachw
    panhandlers at gmail dot com
  • scottgoff
    This is a great little app! Any plans to make a version that accommodates all the analog and digital inputs/outputs on the Arduino Mega (16 analog & 54 digi i/o)? I'm panning a project that would benefit from all of the inputs on that Arduino, but I'm having trouble coming up with an app to take the serial data and spit out midi or OSC on a Mac. Also, have you tested the latency of your app? Would be interested to find out if it affects that significantly....

    Cheers!
  • stevecooley
    That's an excellent idea. I sort of had to solve for that problem with my step sequencer project here: http://beatseqr.com ... but it's not set up in a generic manner the way that Rosco is. I will definitely consider it because I agree, that would be really nice to have.
  • scottgoff
    That's great, Steve! Also, you might be interested in this:

    http://newecologyofthings.wik.is/NETLab_Toolkit

    Looks like a nice cross platform way to translate between different data types...might be useful for things like this, but I haven't opened up their app to check it out in detail yet.
blog comments powered by Disqus