Blog entry

lock free - /dev/OSC improvement

Posted by Adrian Freed on February 20, 2008

I invented /dev/OSC to see if we could avoid the OS/X operating system latencies delivering OSC packets into Core Audio signal processing. The two halves of it were implemented by Rimas (driver) and Matt (Max external).

Blog entry

Not reinventing the wheel: SGI IRIX still may have the best real-time/latency bounded OS on a UNIX foundation

Posted by Adrian Freed on February 20, 2008

I confirmed with Ted Marsh and Doug Cook (previously of SGI audio group) that their sound driver did use a lock-free ring buffer strategy I have outlined at Siggraph and in varioius recent talks. They did this before it appeared in Jack on linux. Using mmap and careful orchestration they avoid unnecessary context switches for the typical read(2) and write(2) system calls.

Blog entry

8 processor Mac Pro for Parlab and related work

Posted by Adrian Freed on February 20, 2008

Paying for the higher clock rates is a waste of money.
The only option to add from the Apple baseline is probably a different graphics card according to the
interests of our sponsor, e.g. nVideo?

Configuration.

Blog entry

Native OSC support on Arduino and Wiring

Posted by Adrian Freed on February 14, 2008

I have a solid alpha implementation for outgoing OSC packets on these platforms.
The USB implementation using the FTDI chips is very limiting so performance is not as good as one might hope.
I am working on the timestamp calculation, faster ADC acquisition and polishing.

Blog entry

Synchronizing metronomes across the internet

Posted by Adrian Freed on February 14, 2008

Now that we have Andy's new Max/MSP externals for manipulating timestamps and clocks and deadline schedules we ought to be able to implement a patch that coordinates metronomes across the internet.

Blog entry

Profiling Max/MSP programs

Posted by Adrian Freed on November 30, 2007

Here is the OS/X code for accurately measuring code execution times:
http://developer.apple.com/qa/qa2004/qa1398.html

A useful max external to use this would accept a bang on input and then measure the difference between the time this was received and
the time an outlet routine returns that forwards the bang on. The difference would then be outputted on a second outlet.

Blog entry

Computational Model of PD

Posted by Adrian Freed on November 5, 2007

The core language design and scheduling features of PD and Max/MSP are from the same author: Miller Puckette.
http://puredata.info/
They share the same core datatypes, although PD has no length limit on lists?
There are only a few externals that perform computations in separate threads, e.g. [sndfiler], threadlib.

Pages