Home       Research      Publications      Teaching
rdmg1 at



Spatial audio synthesis.

The aim is to control the spatial perceptual attributes of sound presented over loudspeakers or headphones, by developing psycho-physical acoustic theory and practice.

: Spatial audio

Physical audio synthesis for virtual worlds.

Physical interaction between objects
leads to a rich vocabulary of sounds. Various kinds of interaction are modelled here in a real-time software framework that can be used to build virtual worlds with compelling audio behaviours.



Electronic musical instrument controllers and synthesis.

These instruments build on the familiarity and nuance of traditional instruments, and extend this to electronic sound worlds.




Other projects

Multitrack spatial production:
Ambisonic / Multichannel / Binaural

A Reaper template for integrated spatial production for speakers and headphones.  There are three tiers of buses each feeding forward to the others: ambisonic, speaker array, and binaural. This allows coherent versions of different  kinds of mix to be readily produced. All filtering including HRIR, BRIR is implemented natively within Reaper, giving more routing flexibility.

Binaural example from student Christopher Oliver. Use good headphones, and a good amplifier!: battle.wav (20Mb)

Examples with video here

For more information contact : rdmg1 [@]


MESS - Modular Electronic Sound System

Low cost modular synthesiser originally designed for teaching analog synthesis and electronics principles. Shown here in a pizza box.


Analog to digital conversion simulator for Max/MSP

For demonstrating and experimenting with the principles of sampling, quantization, aliasing, Nyquist, pre and post anti-aliasing filters, dither (triangular/rectangular, pre/post). Different waveforms and sources can be selected, sample rates, quantization depths, filters and dither levels can be adjusted, and the signals at different points auditioned and viewed on oscilloscopes.



Composition / production / performance

More here

Bits and bobs

Dynamic control processing - An approach to electronic musical synthesis
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

Dynamic control processing


Dynamic control processing describes the dynamic processing of interface control signals before they reach the audio rate synthesis stage. A  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.

Menzies, D. 'Composing Instrument Control Dynamics', Organized Sound, Vol 7/3, April 2003.

Code and examples can be downloaded here


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


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


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:


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.


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.