Projects

3D sound - Soundfield synthesis and binaural rendering
Phya - Physical audio synthesis for virtual reality
obow-i.jpg O-Bow - An optical bowing interface
CyberWhistle - A windcontroller instrument featuring continuous finger control and physical modelling
Perceptual resonator - Perceptual modelling of diffuse resonance
Dynamic control processing - An electronic instrument design approach
LAmb - Live Ambisonic surround sound processing, with lots of original features
W-panning - Thru-centre panning for Ambisonics
O-format - Object radiation modelling in Ambisonics
Jamtastic - A live loop recording and playback tool
Reloop - A gamebox audio formatting tool
Hex - A permanent 12 speaker array
SACD - Realtime multichannel lossless compressor
MAnMIDI - multichannel analog to midi in a single chip
key2click - Remap keys to clicks to relieve repetitive strain injury
Windjewel - Multichannel breath control of computers for paraplegics

<<


LAmb

LAmb is a program for performing live ambisonic spatialization. It won 1st Prize in the Bourges '97 International software contest, in the realtime category. It includes a number of original functions, in addition to standard ones.

  • A panner that works though the centre. More here.
  • Frequency spreading to create a spread of frequencies across a width from a mono source.
  • 3D multi-tap feedback delay with rotation, to create spatial echos and room reflection effects.
  • 3D rotation and dominance.
  • MIDI control including keyboard control of position.
  • Live recorder.

The executable for silicon graphics machines, and a tutorial can be downloaded.

lamb.tar.gz (261K)

tutorial (pdf 46K)

<<


W-panning

This is a method for panning a mono source in an Ambisonic surround system. It models the sound as if it came from a diffuse extended region, like a swarm. This allows the sound to be panned through the central listening position in a convincing way. The details are here. Similar  techniques have  reappeared in panners such as those linked at www.ambisonic.net and www.gerzonic.net

<<


O-format

O-format was developed to efficiently capture and display object radiation patterns in the context of ambisonics. It is one of an assortment of surround processes described in the thesis, but not actually used in LAmb. O-format is described along with W-panning here.

This form of O-format is a simplification of the most general treatment given later here.

<<


Dynamic control processing

Dynamic control processing describes the dynamic processing of interface control signals before they reach the audio rate synthesis stage. A very simple example of this is the volume envelope on a keyboard instrument. More interesting examples involve the processing of continuous control input, such as breath input. With dynamic processing, natural dynamic feel can be added to an instrument, and without the expense of working at audio rate.

An article describes the approach with reference to several csound examples. Code and sound examples can be downloaded. This approach offers fertile ground for future design exploration.

<<


Perceptual resonator

The Perceptual Resonator models diffuse sounding resonance efficiently. An example is wooden objects, which come up frequently in computer games. Diffuse resonance has a broad spectrum that is partially perceived as noise. Combining dynamically controlled noise bands with a few low modal resonators provides a convincing, and easily customized alternative to expensive diffuse responators. There is a paper here.

 

<<


Jamtastic

An intuitive loop based performance tool currently implemented in CsoundAV. It grew from a frustration in trying to use existing tools in a completely natural way. All the loops cycle continously whether muted or not. Each loop has several switches activated by keyboard or foot pedals.

  • Hold to record-over. Recording starts immediately into current loop position and finishes on release.
  • Hold to record-add. Same but adds to what is already there.
  • Toggle play. Mute / unmute.

The design incorporates full latency compensation to ensure recorded material reappears in sync with other material already playing.

The code is available, jamtastic.csd It is offered under the GNU license.

<<


Reloop

A directx plugin for game audio designers, which greatly reduces the time spent reformatting loops for different game boxes. Different boxes require loops to be a multiple of various block sizes. Previously designers would tweak loops by hand, a laborious and sometimes unsatisfactory process. Available commercially through www.bobandbarn.com.

<<

 


Windjewel

Enabling the severely disabled to control computers and their environment using multiple-channels of breath control. Patent protected. My role is hardware design for devices currently under development. The capture device consists of a harmonica-like layout of breath sensors, each being assigned to different control tasks. Here is one of the prototypes:

<<


Hex

York music department has a hexagonal performance room, that a group of us fitted out with permanent 12 speaker ambisonic array. I designed the decoder and the overhead fixings. The opening concert included a specially composed live piece for percussion, Sidrat, which made extensive use of live ambisonic processing. Extracts here.

<<


SACD

As an engineer at Sony Oxford Pro Audio R&D, I developed a real-time hardware lossless audio compressor for the SACD 1 bit consumer format. This revolves around a house grown fpga mother card which sits in a PC. The processing thru'put for this task was about 30 times a GHz PC.

Lossless encoding consists of two main stages. The audio is divided into blocks. Each block is approximated by a linear predictive filter. The residual error is encoded using arithmetic coding, an efficient form of binary entropy coding. The best average compression possible is about 3, enough to enable full length sound tracks to be encoded in 5.1 surround on an SACD disk.

<<