Graham Wakefield's Ambisonic externals

Summary

  • Description: Ambisonic encoding, rotating and decoding up to 3rd order. For two or three dimensional speaker arrays.
  • Developer: Graham Wakefield (based on CSL Signal Processing Library)
  • Version: March 2006
  • Platform: MaxMSP
  • OS: MacOS, Windows
  • License: ?
  • Status of this entry: in progress

Parameter definition

Coordinate system convention

Parameter describing a sound source

  • Ambisonics encoding is done in ambi.encode~ (for 1 source) or in ambi.encoden~ (for multiple sources)
parameter description data format range initial state unit example misc
azimuth # azimuth for the #th source float radians (default), can be changed with initial argument or angles message azimuth 0 3.14 #-index starts with 0
elevation # sets the elevation angle for the #th source float radians (default), can be changed with initial argument or angles message elevation 0 0.1 #-index starts with 0
angles sets units for azimuth and elevation string radians, degrees radians NA
angle format string radians, degrees radians NA ambi.encode~ degree initial argument
dimension string 2D, 3D 2D NA ambi.encode~ 3D initial argument
number of sources int 1..16 NA ambi.encoden~ 16 initial argument for ambi.encoden~

Parameter describing a virtual space

  • none

Parameter describing the position of loudspeakers

  • Loudspeaker positions are set in ambi.decode~
parameter description data format range initial state unit example misc
speaker_radians # position of the #th speaker int float float equally spaced horizontal rig radian speaker_radians 0 -0.392699 0. #-index starts with 0
speaker # position of the #th int float float equally spaced horizontal rig degree speaker 0 -45 -45 #-index starts with 0
number of speakers int 1 .. 32 2 NA ambi.decode~ 6 initial argument
gain global gain float linear gain gain 1.0
dimension string 2D, 3D 2D NA ambi.decode~ 3D initial argument

Ambisonics specific parameter

parameter description data format range initial state unit example misc
encoding order string 1st, 2nd, 3rd 1st NA ambi.encode~ 1st 2D degree
decoding order string 1st 2nd, 3rd 1st NA ambi.decode~ 3rd 2D
weights decoder weights list of max. 4 floats 0...1.0 linear weights 0.7 1. 0.6 0.53
decoder weights presets string, or list of max 4 floats none, default, in-phase, max-re default NA ambi.decode~ 2D 3rd in-phase 8 can be also initial argument
width mono/spatial balance float ? 0.5 ? width 0.5 to be applied in ambi.decode~
tilt or pitch transform around x-axis float 0...360 / 0 .. 2π can be set as initial argument degree or radians (default) tilt 90. to be applied in ambi.rotate~
rotate or yaw transform around z-axis float 0...360 / 0 .. 2π can be set as initial argument degree or radians (default) rotate 45. to be applied in ambi.rotate~
tumble or roll transform around y-axis float 0...360 / 0 .. 2π can be set as initial argument degree or radians (default) roll 3.14 to be applied in ambi.rotate~

Projects, sound, and music

  • a large portion of the source code of these externals was used for the cosm project by Wesley Smith and Graham Wakefield

Media

References

  • Wakefield, G. (2006). Third-Order Ambisonic Extension for Max/MSP with Musical Applications. In Proceedings of the 2006 International Computer Music Conference, pages 123 – 126, New Orleans, US.
  • Pope, S.T. and Ramakrishna, C. (2003) The CREATE Signal Library ("Sizzle"): Design, Issues and Applications. In Proceedings of the 2003 International Computer Music Conference, Singapore.

External Links