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)]