csound-expression-4.9.0: library to make electronic music

Safe HaskellNone
LanguageHaskell98

Csound.Air.Pan

Description

Effects

Synopsis

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.

Constructors

HeadPanSpec 

Fields

headPanPhase :: D
 
hradPanFade :: D
 

Instances

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

headPan' :: HeadPanSpec -> (Sig, Sig) -> Sig -> Sig2

HeadPan with optional arguments.

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 :: (Sig, Sig) -> Sig2 -> Sig2 Source

The same as headPan but for stereo signals.

headPan2' :: HeadPanSpec -> (Sig, Sig) -> Sig2 -> Sig2 Source

The same as headPan' but for stereo signals.

staticHeadPan2 :: (D, D) -> Sig2 -> Sig2 Source

The same as staticHeadPan 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)]

headPanNet2 :: (Int, Int) -> [Sig2] -> Sig2 Source

The same as headPanNet but for stereo signals.