Fast Computation

Exercising the odot language in Graphics Animation Applications

One of my jobs on the odot language development team was developing a diverse set of applications and tests to give feedback to the language design team (mainly John MacCallum) on affordances and difficulties with the language.

This example digs back into knowledge acquired in my early career before I found a way to focus on music technology. I was doing a lot of computer graphics - plotting libraries, GUIs, cad tools and so on. These were the early days when the core concepts had been worked out and companies like SGI were just starting (we had one of their first machines to play with in my university).

The idea of this patch is to use OSC packets to describe objects, mostly platonic solids, organize them into a display list and hand them off to openGL to render via their Jitter interface. You can think of these objects as signals-functions of time. Their properties are computed from an incoming "time" variable. This point of view is a rich way to handle compositional challenges and mirrors the time machines we did in OSW and CAST.

FastTouch Open Source Arduino Library for Fast, Portable, Low Fidelity Capacitive Sensing

The fast touch algorithm reimplemented in the library available here was developed for my FingerPhone Instrument. The fast touch library senses touch on any digital I/O pin on many embedded controllers with the Arduino IDE. This includes Atmega 8-bit, SAMD21, and Teensy. This includes most pins on most micro-controllers. A few micro controllers have analog input pins that can't also do digital I/O . The library relies on the ability to enable a built-in pull-up resistor on the pin being sensed. Here is the algorithm:
  • set the pin to output a LOW value for 1uS or so.
  • set the pin to output a high via a built-in pullup resistor.
  • Read the pin regularly and evenly while it reads a low value.
  • The sensed value is reported as a function of the time it takes for the pull-up to bring the pin to a high value. This depends on whether the pin is touched.

    The example code provided with the library uses the Arduino Tone library to sound pitches according to which pins are touched.

    Notice that each call to the fast touch library implements a cycle of a relaxation oscillator.

    I am indebted to Alice Giordani for exemplifying use of the library so well in this dreamcatcher:

  • A Self Organizing Classification System by BLW Chapman

    I learned about this work as a teenager and managed to trace my fuzzy recollection while researching connections between textiles and electronics. It was published in Cybernetica Volume 2.

    "I have recently completed building an electronic model of the 'growth net' principle and will now give a brief outline of its method of operation."

    "What I described earlier as a common boundary now takes of the form of a moist fibre of cotton yarn connecting each input to the control grid of a pentode"

    "The use of moist cotton fibre for storage has considerably reduced the size of the machine from the original plan which was to use condenser storage. By application of a hygroscopic agent such glycerin to the fibre the memory time of the machine can be controlled". IMAG0614.jpg

    Syndicate content