U.York : MTG: Ambisonics in CSound
Music Technology Group
CSound Implementation of Ambisonics
Thanks to the efforts of Tony Myatt, who did the original work on this, (published in
Computer Music Journal) Winter issue, 1995) and an ex-student from the Music Technology MA/MSc course,
Richard Furse (Richard@muse.demon.co.uk), we succeeded in using
CSound for Ambisonic sound generation, manipulation and even decoding, using standard score and orchestras. Check out Richard's latest work on his home page at
Now, however, CSound (version 4.14 onwards) has an Ambisonic unit generator in it. This was written by Istvan Varga. It takes commands in this form;
aW, aX, aY, aZ spat3di ain, iX, iY, iZ, idist, ift, imode[, istor]
aW, aX, aY, aZ spat3d ain, kX, kY, kZ, idist, ift, imode, imdel, iovr[, istor]
spat3dt ioutft, iX, iY, iZ, idist, ift, imode, irlen[, iftnocl]
These opcodes position the input sound in a 3D space, with optional simulation of room acoustics, in various output formats.
All you need to run any of these CSound methods is a
computer system which supports four or more audio output channels and a copy of CSound which runs on that platform.
Suitable computer systems;
- Silicon Graphics
- O2, Indy or Indigo 2
- Fast machine with at least four channels of audio, using something like the DigiDesign cards.
- if it is fitted with a true multi-channel soundcard - multiple stereo soundcards are unlikely to stay in sync to sample accuracy, check out Richard Dobson's multi-channel soundcard attrition page at
Ambisonics home page
Music Technology Group Welcome page
Last updated; 15th 2001 by Dave Malham. If you have any suggestions, comments or requests you can reach me at