Bits and bobs
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.
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.
The design incorporates full latency compensation to ensure recorded material reappears in sync with other material already playing.
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 www.bobandbarn.com.
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.