Safe Haskell  None 

Language  Haskell98 
Effects
 data HeadPanSpec :: * = HeadPanSpec {
 headPanPhase :: D
 hradPanFade :: D
 headPan :: (Sig, Sig) > Sig > Sig2
 headPan' :: HeadPanSpec > (Sig, Sig) > Sig > Sig2
 staticHeadPan :: (D, D) > Sig > Sig2
 headPan2 :: (Sig, Sig) > Sig2 > Sig2
 headPan2' :: HeadPanSpec > (Sig, Sig) > Sig2 > Sig2
 staticHeadPan2 :: (D, D) > Sig2 > Sig2
 headPanNet :: (Int, Int) > [Sig] > Sig2
 headPanNet2 :: (Int, Int) > [Sig2] > Sig2
Documentation
data HeadPanSpec :: * #
Optional arguments for opcode hrtfmove.
phase is 0 or 1
fade is 1 to 24.
See csound docs for hrtfmove for details.
HeadPanSpec  

headPan :: (Sig, Sig) > Sig > Sig2 #
Head response based spacialization. It works when you listen in headphones. It works only with sample rate of 44100, 48000 or 96000.
headPan (azimuth, elevation) asig
azimuth and elevation are measured in ratios (0, 1),
staticHeadPan :: (D, D) > Sig > Sig2 #
Static head response based spacialization. It works when you listen in headphones.
It works only with sample rate of 44100, 48000 or 96000. It's more efficient than headPan
.
staticHeadPan (azimuth, elevation) asig
azimuth and elevation are measured in ratios (0, 1),
headPan2' :: HeadPanSpec > (Sig, Sig) > Sig2 > Sig2 Source #
The same as headPan' but for stereo signals.
headPanNet :: (Int, Int) > [Sig] > Sig2 Source #
Net of sounds evenly distributed oround the head. First argument is a pair of numbers (column, rows) in the matrix. The second argument is a matrix written in a single list. The rows are for elevation and the columns are for azimuth.
A ghci session example:
let f t x = mul 0.4 $ sched (\_ > return $ fades 0.07 0.1 * tri x) $ withDur 0.2 $ metro t dac $ headPanNet (3, 2) [f 1 220, f 0.75 330, f 0.5 440, f 0.2 660, delaySnd 0.75 $ f 2 (220 * 5/4),delaySnd 0.4 $ f 1 (220 * 9/8)]