Safe Haskell | None |
---|---|
Language | Haskell2010 |
Effects
Synopsis
- 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 | |
|
Instances
Default HeadPanSpec | |
Defined in Csound.Typed.Misc def :: 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)]