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¶
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

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¶
Also available in:
HTML
TXT