36 lines
963 B
Racket
36 lines
963 B
Racket
#lang scribble/manual
|
|
@(require (for-label racket))
|
|
|
|
@title{(decode-b2 numChannels w x y orientation)}
|
|
|
|
|
|
2D Ambisonic B-format decoder.
|
|
|
|
Decode a two dimensional ambisonic B-format signal to a set of
|
|
speakers in a regular polygon. The outputs will be in clockwise
|
|
order. The position of the first speaker is either center or left
|
|
of center.
|
|
|
|
The number of output speakers is typically 4 to 8.
|
|
|
|
The parameters w, x and y are the B-format signals.
|
|
|
|
The parameter orientation should be zero if the front is a vertex
|
|
of the polygon. The first speaker will be directly in
|
|
front. Should be 0.5 if the front bisects a side of the
|
|
polygon. Then the first speaker will be the one left of
|
|
center. Default is 0.5.
|
|
|
|
|
|
@racketblock[
|
|
(let* ((p (pink-noise ar))
|
|
(encoded (pan-b2 p (mouse-x kr -1 1 0 0.1) 0.1))
|
|
(decoded (decode-b2 4
|
|
(mce-channel encoded 0)
|
|
(mce-channel encoded 1)
|
|
(mce-channel encoded 2)
|
|
0)))
|
|
(audition (out 0 decoded)))
|
|
]
|
|
|
|
|