Blog entry

Timbral Control in the CNMAT Additive Synthesizer (CAST)

Posted by Adrian Freed on October 13, 2009

The CAST synthesizer was dismantled and reassembled in the form of various Max/MSP objects now available in the MMJ depot and externals downloads.
CAST implemented a precursor to OSC, inverse transform additive synthesis and the first plug-in architecture for spectra (BYO).
This page from the old CAST manual illustrates the name space for timbral control. It appears that both Matt Wright and I had a hand in this text:

CAST Transforms: Timbral Prototypes
revised 2/3/98

Blog entry

CNMAT drupal 6.0 transition planning

Posted by Adrian Freed on September 10, 2009

I just reviewed our web site problem reports in the case/tracker systems especially those associated with HART, mmj depot and research activity workflows.

Then I scanned through about 500 drupal 6 modules and confirmed that actively used modules in drupal 6 exist to address most of our problems.

Blog entry

touch keyboard

Posted by Adrian Freed on August 16, 2009

// Touch Synth
// Copyright 2009 Adrian Freed. All Rights Reserved

int speakerPin = 14;
int speakerPinbis = 15; // differential drive for extra loudness and lower power consumption

void setup()

pinMode(speakerPin, OUTPUT); // sets the speakerPin to be an output
pinMode(speakerPinbis, OUTPUT); // sets the other speakerPin to be an output


Blog entry

recipe for analog and digital pull up control on arduino

Posted by Adrian Freed on July 26, 2009

//shorthands to turn on the built-in pullup resistors for each pin

inline void digitalPullup(byte pin, boolean b) { pinMode(pin, INPUT); digitalWrite(pin, b?HIGH:LOW); }
#if defined(__AVR_ATmega1280__)
inline void analogPullup(byte pin, boolean b) { digitalPullup(pin+54,b); }
inline void analogPullup(byte pin, boolean b) { digitalPullup(pin+14,b); }