micro-OSC
micro-OSC is a sensor/actuation interface firmware for the PIC18F USB-FS series embedded microprocessor that runs on low-cost general purpose prototype boards. micro-OSC implements the Open Sound Control protocol directly in the hardware, including support for clock synchronization, state-machine-free operation, scheduling and high-speed floating point data streams. The project is supported by CNMAT and driven by needs in research and design of new electronic musical instruments.
Objects for Max/MSP/Jitter
I have written several objects for the Max/MSP/Jitter graphical dataflow environment, they are available here:
- thread.fork / thread.join: explicit thread-level parallelism for event domain computations
- accumulate~: signal integration and leaky integration with signal control model
- firbank~: an efficient FIR filterbank implemented with FFT overlap-save
- OSC-timetag: support for high-resolution NTP timestamps
- OSC-schedule: millisecond-accuracy scheduling for timestamped OSC bundles
PyJack
Open Sound Control for PHP
A small PHP class which can format and send OSC messages. It has no parsing capability, so it can only be used for uni-directional communication.
18K 2007 OSC.php
Changelog:
Version 0.2: March 22, 2007. Fixes a bug in timetag encoding for bundles.
Version 0.1: 2004 Initial release.
Open Sound Control for MATLAB
A very fast OSC implementation for Matlab with good type support that maps naturally into the native Matlab type system. Formatting and parsing is done in C using liblo. Precompiled binaries are provided for Windows (so you don't have to suffer what I did) and Mac-Intel (YMMV). The windows binaries are known to work with Matlab 6.5 or later.
Jan 18 2006 osc-mexwin.zip
Old version for Mac-PPC (No longer supported)
115K Jan 18 2006 osc-mexmac.zip
Version 0.2: Jan 23, 2009. Fixed a bug causing crash on long string arguments.
Version 0.1: 2006 Initial release.
INSTRUCTIONS
- Download the ZIP file that is appropriate for your computer: osc-mexmaci.zip is for an Intel Mac. osc-mexwin.zip is for Windows. For other platforms you will have to download the source code in osc-mexsrc.zip and compile.
- Move the function files (i.e., from the folder in the ZIP file called mexmaci or mexwin) into your Matlab search path. For more information on how to do that, read this: Making Files and Folders Accessible to MATLAB
- Now open up the example files (from the folder called "example" in the ZIP file) to see how the OSC functions are used. You will need two separate copies of Matlab to actually run the examples, e.g., you can run two copies of Matlab, one will run "osc_pingpong_a.m" and the other will run "osc_pingpong_b.m". If you are running the examples on two different computers then you have to change the IP address in the example so that the other end can be found. If you are new to using Open Sound Control then you will probably want to look at how it is used in other applications (such as MaxMSP, Puredata, Python, etc), and there is lots of information about this online (try a Google search). Good luck!
Serverutils
A small collection of utilities for server management (typically Debian or a related distro (Ubuntu)).- web-stresstest.py: multithreaded "reload" performance benchmark for a webserver
- dump-rotate.sh: keep rotating backups on multiple schedules (for mysql dumps, svn exports, file system snapshots)
- ssh-blacklist.py: automatically monitor SSH bruteforce-attacks and temporarily block offenders
- ssh-key-propagate.sh: automate the task of propagating a public key for passwordless SSH authentication
serverutils.zip