-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | The Haskore Computer Music System
--
-- Compose music using programming features. Output in MIDI, CSound,
-- SuperCollider or as an audio signal.
@package haskore
@version 0.2
module Haskore.Interface.CSound.OrchestraFunction
elemSorted :: Ord a => a -> [a] -> Bool
allowedArgs :: [(String, [Int])] -> String -> Int -> Bool
argCountTable :: [(String, [Int])]
module Haskore.Interface.CSound
newtype Instrument
Instrument :: Int -> Instrument
instrument :: Int -> Instrument
instruments :: [Instrument]
instrumentToNumber :: Instrument -> Int
showInstrumentNumber :: Instrument -> String
type Name = String
type Velocity = Float
type PField = Float
type Time = Float
instance Show Instrument
instance Eq Instrument
module Haskore.Interface.CSound.InstrumentMap
type SoundTable instr = [(instr, Instrument)]
tableFromInstruments :: [instr] -> SoundTable instr
addToTable :: Eq instr => instr -> Instrument -> SoundTable instr -> SoundTable instr
type ToSound instr = instr -> ([PField], Instrument)
lookup :: Eq instr => SoundTable instr -> ToSound instr
module Medium.Controlled
class C medium
control :: C medium => control -> medium control a -> medium control a
switchBinary :: C medium => (a -> b) -> (medium control a -> medium control a -> b) -> (medium control a -> medium control a -> b) -> (control -> medium control a -> b) -> (b -> medium control a -> b)
switchList :: C medium => (a -> b) -> ([medium control a] -> b) -> ([medium control a] -> b) -> (control -> medium control a -> b) -> medium control a -> b
foldList :: C medium => (a -> b) -> ([b] -> b) -> ([b] -> b) -> (c -> b -> b) -> medium c a -> b
foldBin :: C medium => (a -> b) -> (b -> b -> b) -> (b -> b -> b) -> (c -> b -> b) -> b -> medium c a -> b
module Haskore.Basic.Pitch
type T = (Octave, Class)
data Class
Cf :: Class
C :: Class
Cs :: Class
Df :: Class
D :: Class
Ds :: Class
Ef :: Class
E :: Class
Es :: Class
Ff :: Class
F :: Class
Fs :: Class
Gf :: Class
G :: Class
Gs :: Class
Af :: Class
A :: Class
As :: Class
Bf :: Class
B :: Class
Bs :: Class
type Octave = Int
type Absolute = Int
type Relative = Int
toInt :: T -> Absolute
fromInt :: Absolute -> T
classToInt :: Class -> Relative
classParse :: ReadS Class
classFormat :: Class -> ShowS
intToFreq :: Floating a => Absolute -> a
transpose :: Relative -> T -> T
instance Eq Class
instance Ord Class
instance Ix Class
instance Enum Class
instance Show Class
instance Read Class
module Haskore.Basic.Scale
type T = [Absolute]
ionian :: Class -> T
dorian :: Class -> T
phrygian :: Class -> T
lydian :: Class -> T
mixolydian :: Class -> T
aeolian :: Class -> T
lokrian :: Class -> T
altered :: Class -> T
htwt :: Class -> T
wtht :: Class -> T
ionianRel :: Intervals
dorianRel :: Intervals
phrygianRel :: Intervals
lydianRel :: Intervals
mixolydianRel :: Intervals
aeolianRel :: Intervals
lokrianRel :: Intervals
alteredRel :: Intervals
htwtRel :: Intervals
wthtRel :: Intervals
fromOffsets :: [Absolute] -> Class -> T
fromIntervals :: Intervals -> Class -> T
continue :: T -> T
module Haskore.Interface.AutoTrack.ScaleChart
newtype T
Cons :: T -> T
module Haskore.Interface.AutoTrack.Transposeable
class C a
transpose :: C a => Int -> a -> a
instance C Class
module Haskore.Interface.AutoTrack.Instrument
data T
bass :: T
bottomRange :: T -> Class -> T
topRange :: T -> Class -> T
module Haskore.Basic.Interval
minorSecond :: Integral a => a
majorSecond :: Integral a => a
minorThird :: Integral a => a
majorThird :: Integral a => a
fourth :: Integral a => a
fifth :: Integral a => a
minorSixth :: Integral a => a
majorSixth :: Integral a => a
minorSeventh :: Integral a => a
majorSeventh :: Integral a => a
octave :: Integral a => a
octaveMinorSecond :: Integral a => a
octaveMajorSecond :: Integral a => a
octaveMinorThird :: Integral a => a
octaveMajorThird :: Integral a => a
octaveFourth :: Integral a => a
octaveFifth :: Integral a => a
octaveMinorSixth :: Integral a => a
octaveMajorSixth :: Integral a => a
octaveMinorSeventh :: Integral a => a
octaveMajorSeventh :: Integral a => a
unison :: Integral a => a
module Haskore.Basic.Dynamics
type Velocity = Rational
type T = Rational
mp :: Velocity
p :: Velocity
pp :: Velocity
ppp :: Velocity
mf :: Velocity
f :: Velocity
ff :: Velocity
fff :: Velocity
mezzoPiano :: Velocity
piano :: Velocity
pianissimo :: Velocity
pianoPianissimo :: Velocity
mezzoForte :: Velocity
forte :: Velocity
fortissimo :: Velocity
forteFortissimo :: Velocity
normal :: Velocity
module Haskore.Interface.CSound.Generator
data T
Routine :: Number -> [Parameter] -> T
SoundFile :: SFName -> SkipTime -> ChanNum -> T
type SFName = String
type SkipTime = Time
type ChanNum = Float
type Number = Int
type Parameter = Float
soundFile :: SFName -> SkipTime -> ChanNum -> T
tableValues :: [Parameter] -> T
polynomial :: Interval -> Coefficients -> T
type Interval = (Float, Float)
type Coefficients = [Float]
exponential1 :: StartPt -> [(SegLength, EndPt)] -> T
type StartPt = Float
type SegLength = Float
type EndPt = Float
exponential2 :: [Point] -> T
type Point = (Float, Float)
cubic :: StartPt -> [(SegLength, EndPt)] -> T
lineSeg1 :: StartPt -> [(SegLength, EndPt)] -> T
lineSeg2 :: [Point] -> T
cubicSpline :: StartPt -> [(SegLength, EndPt)] -> T
compSine1 :: [PStrength] -> T
type PStrength = Float
compSine2 :: [(PNum, PStrength, PhaseOffset)] -> T
type PNum = Float
type PhaseOffset = Float
compSine3 :: [(PNum, PStrength, PhaseOffset, DCOffset)] -> T
type DCOffset = Float
cosineHarms :: NHarms -> LowestHarm -> Mult -> T
type NHarms = Int
type LowestHarm = Int
type Mult = Float
randomTable :: RandDist -> T
data RandDist
Uniform :: RandDist
Linear :: RandDist
Triangular :: RandDist
Expon :: RandDist
BiExpon :: RandDist
Gaussian :: RandDist
Cauchy :: RandDist
PosCauchy :: RandDist
toStatementWords :: T -> [String]
instance Eq RandDist
instance Ord RandDist
instance Enum RandDist
instance Show RandDist
instance Show T
module Haskore.Interface.CSound.Orchestra
data Output out => T out
Cons :: Header -> [InstrBlock out] -> T out
data InstrBlock a
InstrBlock :: Instrument -> Reverb -> a -> [(GlobalSig, SigExp)] -> InstrBlock a
instrBlockInstr :: InstrBlock a -> Instrument
instrBlockReverb :: InstrBlock a -> Reverb
instrBlockOutput :: InstrBlock a -> a
instrBlockGlobals :: InstrBlock a -> [(GlobalSig, SigExp)]
type Header = (AudRate, CtrlRate)
type AudRate = Int
type CtrlRate = Int
type SigExp = T SigTerm
type DelayLine = DelayLineTerm SigExp
type Boolean = BooleanTerm SigExp
data GlobalSig
Global :: EvalRate -> (SigExp -> SigExp -> SigExp) -> Int -> GlobalSig
class (Show c, Eq c) => Output c
getChannels :: Output c => c -> [SigExp]
getName :: Output c => c -> String
getChannelCount :: Output c => c -> Int
data Mono
Mono :: SigExp -> Mono
data Stereo
Stereo :: SigExp -> SigExp -> Stereo
data Quad
Quad :: SigExp -> SigExp -> SigExp -> SigExp -> Quad
data EvalRate
NR :: EvalRate
CR :: EvalRate
AR :: EvalRate
data Instrument
type Name = String
sigGen :: Function -> EvalRate -> OutCount -> [SigExp] -> SigExp
tableNumber :: Table -> SigExp
readGlobal :: GlobalSig -> SigExp
rec :: (SigExp -> SigExp) -> SigExp
toString :: Output a => T a -> String
saveIA :: Output a => T a -> IO ()
save :: Output a => FilePath -> T a -> IO ()
channelCount :: Output a => T a -> Int
getMultipleOutputs :: SigExp -> [SigExp]
noteDur :: SigExp
notePit :: SigExp
noteVel :: SigExp
p1 :: SigExp
p2 :: SigExp
p3 :: SigExp
p4 :: SigExp
p5 :: SigExp
p6 :: SigExp
p7 :: SigExp
p8 :: SigExp
p9 :: SigExp
pField :: Int -> SigExp
(<*) :: TreeTerm term => T term -> T term -> BooleanTerm (T term)
(<=*) :: TreeTerm term => T term -> T term -> BooleanTerm (T term)
(>*) :: TreeTerm term => T term -> T term -> BooleanTerm (T term)
(>=*) :: TreeTerm term => T term -> T term -> BooleanTerm (T term)
(==*) :: TreeTerm term => T term -> T term -> BooleanTerm (T term)
(/=*) :: TreeTerm term => T term -> T term -> BooleanTerm (T term)
(&&*) :: Boolean -> Boolean -> Boolean
(||*) :: Boolean -> Boolean -> Boolean
ifthen :: TreeTerm term => BooleanTerm (T term) -> T term -> T term -> T term
constInt :: Int -> SigExp
constFloat :: Float -> SigExp
constEnum :: Enum a => a -> SigExp
pchToHz :: SigExp -> SigExp
dbToAmp :: SigExp -> SigExp
line :: EvalRate -> SigExp -> SigExp -> SigExp -> SigExp
expon :: EvalRate -> SigExp -> SigExp -> SigExp -> SigExp
lineSeg :: EvalRate -> SigExp -> SigExp -> SigExp -> [(SigExp, SigExp)] -> SigExp
exponSeg :: EvalRate -> SigExp -> SigExp -> SigExp -> [(SigExp, SigExp)] -> SigExp
env :: EvalRate -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp
phasor :: EvalRate -> SigExp -> SigExp -> SigExp
data IndexMode
RawIndex :: IndexMode
NormalIndex :: IndexMode
tblLookup :: EvalRate -> IndexMode -> SigExp -> SigExp -> SigExp
tblLookupI :: EvalRate -> IndexMode -> SigExp -> SigExp -> SigExp
osc :: EvalRate -> SigExp -> SigExp -> SigExp -> SigExp
oscI :: EvalRate -> SigExp -> SigExp -> SigExp -> SigExp
fmOsc :: SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp
fmOscI :: SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp
sampOsc :: SigExp -> SigExp -> SigExp -> SigExp
random :: EvalRate -> SigExp -> SigExp
randomH :: EvalRate -> SigExp -> SigExp -> SigExp
randomI :: EvalRate -> SigExp -> SigExp -> SigExp
genBuzz :: SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp
buzz :: SigExp -> SigExp -> SigExp -> SigExp -> SigExp
pluck :: SigExp -> SigExp -> PluckDecayMethod -> SigExp -> SigExp -> SigExp
data PluckDecayMethod
PluckSimpleSmooth :: PluckDecayMethod
PluckStretchSmooth :: SigExp -> PluckDecayMethod
PluckSimpleDrum :: SigExp -> PluckDecayMethod
PluckStretchDrum :: SigExp -> SigExp -> PluckDecayMethod
PluckWeightedSmooth :: SigExp -> SigExp -> PluckDecayMethod
PluckFilterSmooth :: PluckDecayMethod
delay :: SigExp -> SigExp -> SigExp
vdelay :: SigExp -> SigExp -> SigExp -> SigExp
comb :: SigExp -> SigExp -> SigExp -> SigExp
alpass :: SigExp -> SigExp -> SigExp -> SigExp
reverb :: SigExp -> SigExp -> SigExp
delTap :: DelayLine -> SigExp -> SigExp
delTapI :: DelayLine -> SigExp -> SigExp
type Orc a b = State (OrcState a) b
mkSignal :: Output a => EvalRate -> (SigExp -> SigExp -> SigExp) -> Orc a GlobalSig
addInstr :: Output a => InstrBlock a -> Orc a ()
mkOrc :: Output a => Header -> Orc a () -> T a
orc1 :: T Stereo
test :: IO ()
test1 :: StatementDefs
instance Show a => Show (OrcState a)
instance Eq a => Eq (OrcState a)
instance Show StatementDef
instance Eq StatementDef
instance Show Quad
instance Eq Quad
instance Show Stereo
instance Eq Stereo
instance Show Mono
instance Eq Mono
instance Show IndexMode
instance Eq IndexMode
instance Enum IndexMode
instance Show EvalRate
instance Eq EvalRate
instance Ord EvalRate
instance Show tree => Show (SigTerm tree)
instance Eq tree => Eq (SigTerm tree)
instance Show tree => Show (DelayLineTerm tree)
instance Eq tree => Eq (DelayLineTerm tree)
instance Show tree => Show (BooleanTerm tree)
instance Eq tree => Eq (BooleanTerm tree)
instance Show a => Show (InstrBlock a)
instance Eq a => Eq (InstrBlock a)
instance Output out => Show (T out)
instance Output out => Eq (T out)
instance Output Quad
instance Output Stereo
instance Output Mono
instance Traversable SigTerm
instance Foldable SigTerm
instance Traversable DelayLineTerm
instance Foldable DelayLineTerm
instance Traversable BooleanTerm
instance Foldable BooleanTerm
instance (CollShow term, CollEq term, Functor term, TreeTerm term) => Floating (T term)
instance (CollShow term, CollEq term, Functor term, TreeTerm term) => Fractional (T term)
instance (CollShow term, CollEq term, Functor term, TreeTerm term) => Num (T term)
instance TreeTerm SigTerm
instance CollEq SigTerm
instance CollShow SigTerm
instance Functor SigTerm
instance Functor DelayLineTerm
instance Functor BooleanTerm
instance Eq GlobalSig
instance Show GlobalSig
module Haskore.Interface.CSound.SoundMap
type SoundId = Instrument
type InstrumentId = SoundId
type DrumId = SoundId
type Attribute = PField
type AttributeList = [Attribute]
type ToSound instr = instr -> (AttributeList, SoundId)
attributeControl :: Int -> SigExp
type InstrumentTable out instr = [(instr, InstrumentSigExp out)]
type InstrumentTableWithAttributes out instr = [InstrumentAssociation out instr]
type InstrumentSigExp out = SigExp -> SigExp -> SigExp -> out
data InstrumentAssociation out instr
InstrumentAssociation :: InstrumentId -> (instr -> Maybe AttributeList) -> out -> InstrumentAssociation out instr
lookupInstrument :: InstrumentTableWithAttributes out instr -> ToSound instr
instrumentTableToInstrBlocks :: InstrumentTableWithAttributes out instr -> [InstrBlock out]
addInstrumentControls :: InstrumentSigExp out -> out
instrumentAssociation :: (parameterTuple -> AttributeList) -> (graph -> InstrumentSigExp out) -> InstrumentId -> (instr -> Maybe parameterTuple) -> graph -> InstrumentAssociation out instr
instrument :: InstrumentId -> (instr -> Maybe ()) -> (InstrumentSigExp out) -> InstrumentAssociation out instr
instrumentEq :: Eq instrument => InstrumentId -> instrument -> (InstrumentSigExp out) -> InstrumentAssociation out instrument
instrument1 :: InstrumentId -> (instr -> Maybe Attribute) -> (SigExp -> InstrumentSigExp out) -> InstrumentAssociation out instr
instrument2 :: InstrumentId -> (instr -> Maybe (Attribute, Attribute)) -> (SigExp -> SigExp -> InstrumentSigExp out) -> InstrumentAssociation out instr
instrument3 :: InstrumentId -> (instr -> Maybe (Attribute, Attribute, Attribute)) -> (SigExp -> SigExp -> SigExp -> InstrumentSigExp out) -> InstrumentAssociation out instr
instrument4 :: InstrumentId -> (instr -> Maybe (Attribute, Attribute, Attribute, Attribute)) -> (SigExp -> SigExp -> SigExp -> SigExp -> InstrumentSigExp out) -> InstrumentAssociation out instr
type DrumTable out drum = [(drum, DrumSigExp out)]
type DrumTableWithAttributes out drum = [DrumAssociation out drum]
type DrumSigExp out = SigExp -> SigExp -> out
data DrumAssociation out drum
DrumAssociation :: DrumId -> (drum -> Maybe AttributeList) -> out -> DrumAssociation out drum
lookupDrum :: DrumTableWithAttributes out drum -> ToSound drum
drumTableToInstrBlocks :: DrumTableWithAttributes out instr -> [InstrBlock out]
addDrumControls :: DrumSigExp out -> out
drumAssociation :: (parameterTuple -> AttributeList) -> (graph -> DrumSigExp out) -> DrumId -> (drum -> Maybe parameterTuple) -> graph -> DrumAssociation out drum
drum :: DrumId -> (drum -> Maybe ()) -> (DrumSigExp out) -> DrumAssociation out drum
drumEq :: Eq drum => DrumId -> drum -> (DrumSigExp out) -> DrumAssociation out drum
drum1 :: DrumId -> (drum -> Maybe Attribute) -> (SigExp -> DrumSigExp out) -> DrumAssociation out drum
drum2 :: DrumId -> (drum -> Maybe (Attribute, Attribute)) -> (SigExp -> SigExp -> DrumSigExp out) -> DrumAssociation out drum
drum3 :: DrumId -> (drum -> Maybe (Attribute, Attribute, Attribute)) -> (SigExp -> SigExp -> SigExp -> DrumSigExp out) -> DrumAssociation out drum
drum4 :: DrumId -> (drum -> Maybe (Attribute, Attribute, Attribute, Attribute)) -> (SigExp -> SigExp -> SigExp -> SigExp -> DrumSigExp out) -> DrumAssociation out drum
module Medium.Temporal
type Dur = Rational
class C a
dur :: C a => a -> Dur
none :: C a => Dur -> a
class Control control
controlDur :: Control control => control -> Dur -> Dur
anticontrolDur :: Control control => control -> Dur -> Dur
module Medium
class Construct medium
prim :: Construct medium => a -> medium a
(+:+) :: Construct medium => medium a -> medium a -> medium a
(=:=) :: Construct medium => medium a -> medium a -> medium a
serial :: (Construct medium, C a) => [medium a] -> medium a
parallel :: (Construct medium, C a) => [medium a] -> medium a
serial1 :: Construct medium => [medium a] -> medium a
parallel1 :: Construct medium => [medium a] -> medium a
class Construct medium => C medium
switchBinary :: C medium => (a -> b) -> (medium a -> medium a -> b) -> (medium a -> medium a -> b) -> (b -> medium a -> b)
switchList :: C medium => (a -> b) -> ([medium a] -> b) -> ([medium a] -> b) -> medium a -> b
mapList :: (C b, C medium) => (a -> b) -> ([medium b] -> [medium b]) -> ([medium b] -> [medium b]) -> medium a -> medium b
mapListFlat :: (C b, C medium) => (a -> b) -> ([medium a] -> [medium b]) -> ([medium a] -> [medium b]) -> medium a -> medium b
foldList :: C medium => (a -> b) -> ([b] -> b) -> ([b] -> b) -> medium a -> b
foldBin :: C medium => (a -> b) -> (b -> b -> b) -> (b -> b -> b) -> b -> medium a -> b
listMediumFromAny :: (Construct dst, C src, C a) => src a -> dst a
binaryMediumFromAny :: (Construct dst, C src) => dst a -> src a -> dst a
module Medium.Plain.Binary
data T a
Primitive :: a -> T a
(:+:) :: T a -> T a -> T a
(:=:) :: T a -> T a -> T a
errorNone :: a
parallelS :: T a -> [T a] -> [T a]
serialS :: T a -> [T a] -> [T a]
instance Show a => Show (T a)
instance Eq a => Eq (T a)
instance Ord a => Ord (T a)
instance C a => C (T a)
instance Traversable T
instance Foldable T
instance Functor T
instance C T
instance Construct T
module Medium.Plain.List
data T a
Primitive :: a -> T a
Serial :: [T a] -> T a
Parallel :: [T a] -> T a
parallelToList :: T a -> [T a]
serialToList :: T a -> [T a]
instance Show a => Show (T a)
instance Eq a => Eq (T a)
instance Ord a => Ord (T a)
instance C a => C (T a)
instance Traversable T
instance Foldable T
instance Functor T
instance C T
instance Construct T
module Medium.Controlled.List
-- | Medium type with a controller constructor.
data T control content
-- | primitive content
Primitive :: content -> T control content
-- | sequential composition
Serial :: [T control content] -> T control content
-- | parallel composition
Parallel :: [T control content] -> T control content
-- | controller
Control :: control -> (T control content) -> T control content
parallelToList :: T control a -> [T control a]
serialToList :: T control a -> [T control a]
prim :: a -> T control a
parallel :: [T control a] -> T control a
serial :: [T control a] -> T control a
fromMedium :: C src => src a -> T control a
toMediumList :: T control a -> T a
mapList :: (a -> b) -> ([T control b] -> [T control b]) -> ([T control b] -> [T control b]) -> (control -> T control b -> T control b) -> T control a -> T control b
mapListFlat :: (a -> b) -> ([T control a] -> [T control b]) -> ([T control a] -> [T control b]) -> (control -> T control a -> T control b) -> T control a -> T control b
mapControl :: (c0 -> c1) -> T c0 a -> T c1 a
instance (Show control, Show content) => Show (T control content)
instance (Eq control, Eq content) => Eq (T control content)
instance (Ord control, Ord content) => Ord (T control content)
instance (C a, Control control) => C (T control a)
instance Traversable (T control)
instance Foldable (T control)
instance Functor (T control)
instance C T
instance Construct (T control)
module Medium.Plain.ContextFreeGrammar
data Tag key prim
Prim :: prim -> Tag key prim
Call :: key -> Tag key prim
CallMulti :: Int -> key -> Tag key prim
type TagMedium key prim = T (Tag key prim)
type T key prim = [(key, TagMedium key prim)]
fromMedium :: (Ord key, Ord prim) => [key] -> Int -> T prim -> T key prim
toMedium :: (Show key, Ord key, Ord prim) => T key prim -> T prim
expand :: (Show key, Ord key, Ord prim) => T key prim -> [(key, T prim)]
whileM :: Monad m => (a -> Bool) -> [StateT s m a] -> StateT s m [a]
condense :: (Ord key, Ord prim) => key -> T key prim -> (Int, T key prim)
joinTag :: Construct medium => Tag key (medium (Tag key prim)) -> medium (Tag key prim)
replaceInfix :: (Eq a, Eq b) => a -> [b] -> [b] -> [Tag a b]
isCyclic :: Eq a => [a] -> Bool
smallestCycle :: Eq a => [a] -> [a]
maximumCommonInfix :: (Ord a, Ord b) => ([a] -> b) -> [a] -> [a]
maximumCommonInfixMulti :: (Ord a, Ord b) => ([a] -> b) -> [[a]] -> [a]
commonPrefix :: Eq a => [a] -> [a] -> [a]
commonPrefixRec :: Eq a => [a] -> [a] -> [a]
instance (Eq key, Eq prim) => Eq (Tag key prim)
instance (Ord key, Ord prim) => Ord (Tag key prim)
instance (Show key, Show prim) => Show (Tag key prim)
module Medium.Controlled.ContextFreeGrammar
type T key control prim = [(key, TagMedium key control prim)]
data Tag key prim
Prim :: prim -> Tag key prim
Call :: key -> Tag key prim
CallMulti :: Int -> key -> Tag key prim
type TagMedium key control prim = T control (Tag key prim)
fromMedium :: (Ord key, Ord control, Ord prim) => [key] -> Int -> T control prim -> T key control prim
toMedium :: (Show key, Ord key, Ord prim) => T key control prim -> T control prim
module Medium.LabeledControlled.List
-- | Medium type with a label (e.g. the duration of the represented music),
-- a controller constructor and direct support for rests.
data T label control content
Cons :: label -> Structure label control content -> T label control content
label :: T label control content -> label
structure :: T label control content -> Structure label control content
data Structure label control content
-- | primitive content
Primitive :: content -> Structure label control content
-- | sequential composition
Serial :: [T label control content] -> Structure label control content
-- | parallel composition
Parallel :: [T label control content] -> Structure label control content
-- | controller
Control :: control -> (T label control content) -> Structure label control content
class Label label
emptyLabel :: Label label => label
foldLabelSerial :: Label label => [label] -> label
foldLabelParallel :: Label label => [label] -> label
parallelLabel :: Label label => [T label control content] -> T label control content
serialLabel :: Label label => [T label control content] -> T label control content
switchList :: (label -> b -> c) -> (a -> b) -> ([T label control a] -> b) -> ([T label control a] -> b) -> (control -> T label control a -> b) -> (T label control a -> c)
foldList :: (label -> b -> c) -> (a -> b) -> ([c] -> b) -> ([c] -> b) -> (control -> c -> b) -> (T label control a -> c)
fromControlledMediumList :: Label label => (a -> (label, b)) -> (control -> T label control b -> label) -> T control a -> T label control b
mapLabel :: (i -> j) -> (T i control a -> T j control a)
parallelToList :: T label control a -> [T label control a]
serialToList :: T label control a -> [T label control a]
instance (Show label, Show control, Show content) => Show (Structure label control content)
instance (Eq label, Eq control, Eq content) => Eq (Structure label control content)
instance (Ord label, Ord control, Ord content) => Ord (Structure label control content)
instance (Show label, Show control, Show content) => Show (T label control content)
instance (Eq label, Eq control, Eq content) => Eq (T label control content)
instance (Ord label, Ord control, Ord content) => Ord (T label control content)
instance Traversable (T i control)
instance Foldable (T i control)
instance Functor (T i control)
instance Label label => Construct (T label control)
module Haskore.Basic.Duration
type T = Dur
type Ratio = T
type Offset = Rational
(%+) :: Integer -> Integer -> T
fromRatio :: Rational -> T
toRatio :: T -> Rational
toNumber :: Fractional a => T -> a
scale :: Ratio -> T -> T
add :: Offset -> T -> T
divide :: T -> T -> Integer
divisible :: T -> T -> Bool
gcd :: T -> T -> T
doubleDotted :: T -> T
dotted :: T -> T
wn :: T
hn :: T
qn :: T
en :: T
sn :: T
tn :: T
sfn :: T
bn :: T
dhn :: T
dqn :: T
den :: T
dsn :: T
dtn :: T
dwn :: T
ddqn :: T
dden :: T
ddhn :: T
nameDictionary :: Map T String
-- | Converts 1%4 to "qn" and so on.
toString :: T -> String
propToString :: Bool
module Haskore.Music
type Dur = T
type Atom note = Maybe note
data Primitive note
Atom :: Dur -> (Atom note) -> Primitive note
data Control
Tempo :: DurRatio -> Control
Transpose :: Relative -> Control
Player :: PlayerName -> Control
Phrase :: PhraseAttribute -> Control
type DurRatio = Dur
type PlayerName = String
atom :: Dur -> Atom note -> T note
control :: Control -> T note -> T note
mkControl :: (a -> Control) -> (a -> T note -> T note)
changeTempo :: DurRatio -> T note -> T note
transpose :: Relative -> T note -> T note
setPlayer :: PlayerName -> T note -> T note
phrase :: PhraseAttribute -> T note -> T note
type T note = T Control (Primitive note)
(=:=) :: T note -> T note -> T note
(+:+) :: T note -> T note -> T note
rest :: Dur -> T note
wnr :: T note
hnr :: T note
qnr :: T note
enr :: T note
snr :: T note
tnr :: T note
sfnr :: T note
bnr :: T note
dhnr :: T note
dqnr :: T note
denr :: T note
dsnr :: T note
dtnr :: T note
dwnr :: T note
ddqnr :: T note
ddenr :: T note
ddhnr :: T note
chord :: [T note] -> T note
line :: [T note] -> T note
delay :: Dur -> T note -> T note
repeat :: T note -> T note
replicate :: Int -> T note -> T note
dur :: T note -> Dur
reverse :: T note -> T note
take :: Dur -> T note -> T note
takeLine :: Dur -> [T note] -> [T note]
take' :: Dur -> T note -> (Dur, T note)
takeLine' :: Dur -> [T note] -> (Dur, [T note])
(/=:) :: T note -> T note -> T note
drop :: Dur -> T note -> T note
dropLine :: Dur -> [T note] -> [T note]
drop' :: Dur -> T note -> (Dur, T note)
dropLine' :: Dur -> [T note] -> (Dur, [T note])
filter :: (note -> Bool) -> T note -> T note
partition :: (note -> Bool) -> T note -> (T note, T note)
partitionMaybe :: (noteA -> Maybe noteB) -> T noteA -> (T noteB, T noteA)
applyPrimitive :: (Dur -> Atom note -> b) -> Primitive note -> b
switchBinary :: (Dur -> Atom note -> b) -> (Control -> T note -> b) -> (T note -> T note -> b) -> (T note -> T note -> b) -> b -> T note -> b
switchList :: (Dur -> Atom note -> b) -> (Control -> T note -> b) -> ([T note] -> b) -> ([T note] -> b) -> T note -> b
foldBin :: (Dur -> Atom note -> b) -> (Control -> b -> b) -> (b -> b -> b) -> (b -> b -> b) -> b -> T note -> b
foldList :: (Dur -> Atom note -> b) -> (Control -> b -> b) -> ([b] -> b) -> ([b] -> b) -> T note -> b
mapListFlat :: (Dur -> Atom noteA -> (Dur, Atom noteB)) -> (Control -> T noteA -> T noteB) -> ([T noteA] -> [T noteB]) -> ([T noteA] -> [T noteB]) -> T noteA -> T noteB
mapList :: (Dur -> Atom noteA -> (Dur, Atom noteB)) -> (Control -> T noteB -> T noteB) -> ([T noteB] -> [T noteB]) -> ([T noteB] -> [T noteB]) -> T noteA -> T noteB
mapNote :: (noteA -> noteB) -> T noteA -> T noteB
mapDurNote :: (Dur -> noteA -> noteB) -> T noteA -> T noteB
data PhraseAttribute
Dyn :: Dynamic -> PhraseAttribute
Tmp :: Tempo -> PhraseAttribute
Art :: Articulation -> PhraseAttribute
Orn :: Ornament -> PhraseAttribute
data Dynamic
Loudness :: Rational -> Dynamic
Accent :: Rational -> Dynamic
Crescendo :: Rational -> Dynamic
Diminuendo :: Rational -> Dynamic
data Tempo
Ritardando :: Rational -> Tempo
Accelerando :: Rational -> Tempo
data Articulation
Staccato :: Dur -> Articulation
Legato :: Dur -> Articulation
Slurred :: Dur -> Articulation
Tenuto :: Articulation
Marcato :: Articulation
Pedal :: Articulation
Fermata :: Articulation
FermataDown :: Articulation
Breath :: Articulation
DownBow :: Articulation
UpBow :: Articulation
Harmonic :: Articulation
Pizzicato :: Articulation
LeftPizz :: Articulation
BartokPizz :: Articulation
Swell :: Articulation
Wedge :: Articulation
Thumb :: Articulation
Stopped :: Articulation
data Ornament
Trill :: Ornament
Mordent :: Ornament
InvMordent :: Ornament
DoubleMordent :: Ornament
Turn :: Ornament
TrilledTurn :: Ornament
ShortTrill :: Ornament
Arpeggio :: Ornament
ArpeggioUp :: Ornament
ArpeggioDown :: Ornament
Instruction :: String -> Ornament
Head :: NoteHead -> Ornament
data NoteHead
DiamondHead :: NoteHead
SquareHead :: NoteHead
XHead :: NoteHead
TriangleHead :: NoteHead
TremoloHead :: NoteHead
SlashHead :: NoteHead
ArtHarmonic :: NoteHead
NoHead :: NoteHead
dynamic :: Dynamic -> T note -> T note
tempo :: Tempo -> T note -> T note
articulation :: Articulation -> T note -> T note
ornament :: Ornament -> T note -> T note
crescendo :: Rational -> T note -> T note
diminuendo :: Rational -> T note -> T note
loudness1 :: Rational -> T note -> T note
ritardando :: Rational -> T note -> T note
accelerando :: Rational -> T note -> T note
accent :: Rational -> T note -> T note
legato :: Dur -> T note -> T note
staccato :: Dur -> T note -> T note
defltStaccato :: T note -> T note
defltAccent :: T note -> T note
bigAccent :: T note -> T note
defltLegato :: T note -> T note
instance Eq NoteHead
instance Ord NoteHead
instance Show NoteHead
instance Eq Ornament
instance Ord Ornament
instance Show Ornament
instance Eq Articulation
instance Ord Articulation
instance Show Articulation
instance Eq Tempo
instance Ord Tempo
instance Show Tempo
instance Eq Dynamic
instance Ord Dynamic
instance Show Dynamic
instance Eq PhraseAttribute
instance Ord PhraseAttribute
instance Show PhraseAttribute
instance Show Control
instance Eq Control
instance Ord Control
instance Show note => Show (Primitive note)
instance Eq note => Eq (Primitive note)
instance Ord note => Ord (Primitive note)
instance Control Control
instance C (Primitive note)
module Haskore.Composition.Trill
trill :: Int -> Dur -> T note -> T note
trill' :: Int -> Dur -> T note -> T note
trillN :: Int -> Integer -> T note -> T note
trillN' :: Int -> Integer -> T note -> T note
roll :: Dur -> T note -> T note
rollN :: Integer -> T note -> T note
module Haskore.Process.Optimization
rest :: T note -> T note
composition :: T note -> T note
duration :: T note -> T note
tempo :: T note -> T note
transpose :: T note -> T note
volume :: T note -> T note
all :: T note -> T note
isZeroRest :: T note -> Bool
mergeControl' :: (Control -> Maybe a) -> (a -> T note -> T note) -> (a -> a -> a) -> T note -> T note
mergeControlCompact :: (Control -> Maybe a) -> (a -> T note -> T note) -> (a -> a -> a) -> T note -> T note
mergeControl :: (Control -> Maybe a) -> (a -> T note -> T note) -> (a -> a -> a) -> T note -> T note
cumulateControllers :: T control a -> T [control] a
flattenControllers :: T [control] a -> T control a
removeNeutral :: (Control -> Bool) -> T note -> T note
singletonMedium :: T control a -> T control a
singleton :: T note -> T note
module Haskore.Melody
data Note attr
Note :: attr -> T -> Note attr
noteAttrs_ :: Note attr -> attr
notePitch_ :: Note attr -> T
type T attr = T (Note attr)
noteAttrs :: T (Note attr) attr
notePitch :: T (Note attr) T
toMelodyNullAttr :: T attr -> T ()
note :: T -> T -> attr -> T attr
note' :: Class -> Octave -> T -> attr -> T attr
c :: Octave -> T -> attr -> T attr
cs :: Octave -> T -> attr -> T attr
df :: Octave -> T -> attr -> T attr
d :: Octave -> T -> attr -> T attr
ds :: Octave -> T -> attr -> T attr
ef :: Octave -> T -> attr -> T attr
e :: Octave -> T -> attr -> T attr
es :: Octave -> T -> attr -> T attr
ff :: Octave -> T -> attr -> T attr
f :: Octave -> T -> attr -> T attr
fs :: Octave -> T -> attr -> T attr
gf :: Octave -> T -> attr -> T attr
g :: Octave -> T -> attr -> T attr
gs :: Octave -> T -> attr -> T attr
af :: Octave -> T -> attr -> T attr
a :: Octave -> T -> attr -> T attr
as :: Octave -> T -> attr -> T attr
bf :: Octave -> T -> attr -> T attr
b :: Octave -> T -> attr -> T attr
bs :: Octave -> T -> attr -> T attr
cf :: Octave -> T -> attr -> T attr
cMaj :: [T ()]
cMajChd :: T ()
cMajArp :: T ()
noteToPitch :: T attr -> T
invertNote :: T -> Note attr -> Note attr
invert :: [(d, Atom (Note attr))] -> [(d, Atom (Note attr))]
retroInvert :: [(d, Atom (Note attr))] -> [(d, Atom (Note attr))]
invertRetro :: [(d, Atom (Note attr))] -> [(d, Atom (Note attr))]
retro :: [(d, Atom (Note attr))] -> [(d, Atom (Note attr))]
instance Show attr => Show (Note attr)
instance Eq attr => Eq (Note attr)
instance Ord attr => Ord (Note attr)
module Haskore.Basic.Tempo
metro :: Fractional a => a -> Dur -> a
larghettoRange :: Fractional a => (a, a)
adagioRange :: Fractional a => (a, a)
andanteRange :: Fractional a => (a, a)
moderatoRange :: Fractional a => (a, a)
allegroRange :: Fractional a => (a, a)
prestoRange :: Fractional a => (a, a)
prestissimoRange :: Fractional a => (a, a)
largoRange :: Fractional a => (a, a)
larghetto :: Fractional a => a
adagio :: Fractional a => a
andante :: Fractional a => a
moderato :: Fractional a => a
allegro :: Fractional a => a
presto :: Fractional a => a
prestissimo :: Fractional a => a
largo :: Fractional a => a
average :: Fractional a => a -> a -> a
pr2 :: T -> T ()
pr1 :: T -> T ()
mkLn :: Int -> T -> Dur -> T ()
pr12 :: T ()
(=/=) :: Dur -> Dur -> T note -> T note
module Haskore.Composition.Chord
type T = [Relative]
pitchToInterval :: T -> T
intervalToPitch :: T -> T
intervalInvert :: T -> T
pitchInvert :: T -> T
sameInterval :: T -> T -> Bool
samePitch :: T -> T -> Bool
minorInt :: [Relative]
majorSeventhInt :: [Relative]
minorSeventhInt :: [Relative]
dominantSeventhInt :: [Relative]
minorMajorSeventhInt :: [Relative]
sustainedFourthInt :: [Relative]
majorInt :: [Relative]
type Inversion = Int
fromIntervals :: [Relative] -> Inversion -> T note -> [T note]
minor :: Inversion -> T note -> [T note]
majorSeventh :: Inversion -> T note -> [T note]
minorSeventh :: Inversion -> T note -> [T note]
dominantSeventh :: Inversion -> T note -> [T note]
minorMajorSeventh :: Inversion -> T note -> [T note]
sustainedFourth :: Inversion -> T note -> [T note]
major :: Inversion -> T note -> [T note]
data Generic attr
Generic :: Class -> T -> Dur -> attr -> Generic attr
genericPitchClass :: Generic attr -> Class
genericIntervals :: Generic attr -> T
genericDur :: Generic attr -> Dur
genericAttr :: Generic attr -> attr
type Boundary = (T, T)
generic :: Class -> T -> Dur -> attr -> Generic attr
leastVaryingInversions :: Boundary -> [Generic attr] -> [[T attr]]
inversionIncrement :: T -> Double
matchingInversion :: Generic attr -> Double -> Double
mean :: [Relative] -> Double
chordCenter :: Generic attr -> Double
boundaryCenter :: (Octave, Inversion) -> Generic attr -> Double
invert :: Inversion -> T -> T
genericToNotes :: Inversion -> Generic attr -> [T attr]
shortestWays :: (Num b, Ord b) => (a -> a -> b) -> [[a]] -> [(b, [a])]
processZone :: (Num b, Ord b) => (a -> a -> b) -> [a] -> [(b, [a])] -> [(b, [a])]
propShortestWays :: Int -> Int -> Bool
leastVaryingInversionsSW :: Boundary -> [Generic attr] -> [[T attr]]
inversionCenters :: Boundary -> [Generic attr] -> [[(Inversion, Double)]]
harmonicGen :: attr -> Dur -> [Dur -> attr -> T attr] -> T attr
melodicGen :: attr -> Dur -> [Dur -> attr -> T attr] -> T attr
module Haskore.Composition.ChordType
data T
toChord :: T -> T
parse :: ReadP T
fromString :: String -> T
toString :: T -> String
instance Show Fifth
instance Eq Fifth
instance Ord Fifth
instance Ix Fifth
instance Show Fourth
instance Eq Fourth
instance Ord Fourth
instance Ix Fourth
instance Show Third
instance Eq Third
instance Ord Third
instance Ix Third
instance Show T
instance Eq T
module Haskore.Interface.AutoTrack.ChordSymbol
data T
Cons :: Class -> Class -> T -> T
toChord :: T -> [T]
toString :: T -> String
parse :: ReadP T
instance Eq T
instance C T
instance Read T
instance Show T
module Haskore.Melody.Standard
type Note = Note NoteAttributes
type T = T NoteAttributes
data NoteAttributes
fromMelodyNullAttr :: T () -> T
na :: NoteAttributes
velocity1 :: T NoteAttributes Rational
vibrato :: T NoteAttributes (Rational, Rational)
tremolo :: T NoteAttributes (Rational, Rational)
cf :: Octave -> T -> attr -> T attr
c :: Octave -> T -> attr -> T attr
cs :: Octave -> T -> attr -> T attr
df :: Octave -> T -> attr -> T attr
d :: Octave -> T -> attr -> T attr
ds :: Octave -> T -> attr -> T attr
ef :: Octave -> T -> attr -> T attr
e :: Octave -> T -> attr -> T attr
es :: Octave -> T -> attr -> T attr
ff :: Octave -> T -> attr -> T attr
f :: Octave -> T -> attr -> T attr
fs :: Octave -> T -> attr -> T attr
gf :: Octave -> T -> attr -> T attr
g :: Octave -> T -> attr -> T attr
gs :: Octave -> T -> attr -> T attr
af :: Octave -> T -> attr -> T attr
a :: Octave -> T -> attr -> T attr
as :: Octave -> T -> attr -> T attr
bf :: Octave -> T -> attr -> T attr
b :: Octave -> T -> attr -> T attr
bs :: Octave -> T -> attr -> T attr
instance Eq NoteAttributes
instance Ord NoteAttributes
instance Show NoteAttributes
module Haskore.Music.Rhythmic
type T drum instr = T (Note drum instr)
data Note drum instr
Note :: Rational -> NoteBody drum instr -> Note drum instr
velocity :: Note drum instr -> Rational
body :: Note drum instr -> NoteBody drum instr
data NoteBody drum instr
Tone :: instr -> T -> NoteBody drum instr
instrument :: NoteBody drum instr -> instr
pitch :: NoteBody drum instr -> T
Drum :: drum -> NoteBody drum instr
drum :: NoteBody drum instr -> drum
maybeInstrument :: NoteBody drum instr -> Maybe instr
noteFromAttrs :: NoteAttributes -> NoteBody drum instr -> Note drum instr
noteFromStdMelodyNote :: instr -> Note -> Note drum instr
noteFromMelodyNote :: (attr -> (Rational, instr)) -> Note attr -> Note drum instr
fromStdMelody :: instr -> T -> T drum instr
-- | ignores the note attributes
fromMelodyNullAttr :: instr -> T () -> T drum instr
fromMelody :: (attr -> (Rational, instr)) -> T attr -> T drum instr
bn :: T
wn :: T
hn :: T
qn :: T
en :: T
sn :: T
tn :: T
sfn :: T
dwn :: T
dhn :: T
dqn :: T
den :: T
dsn :: T
dtn :: T
ddhn :: T
ddqn :: T
dden :: T
bnr :: T note
wnr :: T note
hnr :: T note
qnr :: T note
enr :: T note
snr :: T note
tnr :: T note
sfnr :: T note
dwnr :: T note
dhnr :: T note
dqnr :: T note
denr :: T note
dsnr :: T note
dtnr :: T note
ddhnr :: T note
ddqnr :: T note
ddenr :: T note
line :: [T note] -> T note
chord :: [T note] -> T note
changeTempo :: DurRatio -> T note -> T note
transpose :: Relative -> T note -> T note
phrase :: PhraseAttribute -> T note -> T note
(+:+) :: T note -> T note -> T note
(=:=) :: T note -> T note -> T note
type Dur = T
data PhraseAttribute
Dyn :: Dynamic -> PhraseAttribute
Tmp :: Tempo -> PhraseAttribute
Art :: Articulation -> PhraseAttribute
Orn :: Ornament -> PhraseAttribute
data Dynamic
Loudness :: Rational -> Dynamic
Accent :: Rational -> Dynamic
Crescendo :: Rational -> Dynamic
Diminuendo :: Rational -> Dynamic
data Tempo
Ritardando :: Rational -> Tempo
Accelerando :: Rational -> Tempo
data Articulation
Staccato :: Dur -> Articulation
Legato :: Dur -> Articulation
Slurred :: Dur -> Articulation
Tenuto :: Articulation
Marcato :: Articulation
Pedal :: Articulation
Fermata :: Articulation
FermataDown :: Articulation
Breath :: Articulation
DownBow :: Articulation
UpBow :: Articulation
Harmonic :: Articulation
Pizzicato :: Articulation
LeftPizz :: Articulation
BartokPizz :: Articulation
Swell :: Articulation
Wedge :: Articulation
Thumb :: Articulation
Stopped :: Articulation
data Ornament
Trill :: Ornament
Mordent :: Ornament
InvMordent :: Ornament
DoubleMordent :: Ornament
Turn :: Ornament
TrilledTurn :: Ornament
ShortTrill :: Ornament
Arpeggio :: Ornament
ArpeggioUp :: Ornament
ArpeggioDown :: Ornament
Instruction :: String -> Ornament
Head :: NoteHead -> Ornament
data NoteHead
DiamondHead :: NoteHead
SquareHead :: NoteHead
XHead :: NoteHead
TriangleHead :: NoteHead
TremoloHead :: NoteHead
SlashHead :: NoteHead
ArtHarmonic :: NoteHead
NoHead :: NoteHead
accent :: Rational -> T note -> T note
crescendo :: Rational -> T note -> T note
diminuendo :: Rational -> T note -> T note
loudness1 :: Rational -> T note -> T note
ritardando :: Rational -> T note -> T note
accelerando :: Rational -> T note -> T note
staccato :: Dur -> T note -> T note
legato :: Dur -> T note -> T note
defltLegato :: T note -> T note
defltStaccato :: T note -> T note
defltAccent :: T note -> T note
bigAccent :: T note -> T note
instance (Show drum, Show instr) => Show (NoteBody drum instr)
instance (Eq drum, Eq instr) => Eq (NoteBody drum instr)
instance (Ord drum, Ord instr) => Ord (NoteBody drum instr)
instance (Show drum, Show instr) => Show (Note drum instr)
instance (Eq drum, Eq instr) => Eq (Note drum instr)
instance (Ord instr, Ord drum) => Ord (Note drum instr)
module Haskore.Music.GeneralMIDI
type T = T Drum Instr
type Note = Note Drum Instr
type NoteBody = NoteBody Drum Instr
type Instr = Instrument
velocity :: Note drum instr -> Rational
body :: Note drum instr -> NoteBody drum instr
instrument :: NoteBody drum instr -> instr
pitch :: NoteBody drum instr -> T
drum :: NoteBody drum instr -> drum
noteFromStdMelodyNote :: instr -> Note -> Note drum instr
-- | in contrast to RhyMusic.fromStdMelody it has fixed instrument type
fromStdMelody :: Instr -> T -> T
fromMelodyNullAttr :: Instr -> T () -> T
data Instrument :: *
AcousticGrandPiano :: Instrument
BrightAcousticPiano :: Instrument
ElectricGrandPiano :: Instrument
HonkyTonk :: Instrument
ElectricPiano1 :: Instrument
ElectricPiano2 :: Instrument
Harpsichord :: Instrument
Clavinet :: Instrument
Celesta :: Instrument
Glockenspiel :: Instrument
MusicBox :: Instrument
Vibraphone :: Instrument
Marimba :: Instrument
Xylophone :: Instrument
TubularBells :: Instrument
Dulcimer :: Instrument
DrawbarOrgan :: Instrument
PercussiveOrgan :: Instrument
RockOrgan :: Instrument
ChurchOrgan :: Instrument
ReedOrgan :: Instrument
Accordion :: Instrument
Harmonica :: Instrument
TangoAccordian :: Instrument
AcousticGuitarNylon :: Instrument
AcousticGuitarSteel :: Instrument
ElectricGuitarJazz :: Instrument
ElectricGuitarClean :: Instrument
ElectricGuitarMuted :: Instrument
OverdrivenGuitar :: Instrument
DistortionGuitar :: Instrument
GuitarHarmonics :: Instrument
AcousticBass :: Instrument
ElectricBassFinger :: Instrument
ElectricBassPick :: Instrument
FretlessBass :: Instrument
SlapBass1 :: Instrument
SlapBass2 :: Instrument
SynthBass1 :: Instrument
SynthBass2 :: Instrument
Violin :: Instrument
Viola :: Instrument
Cello :: Instrument
Contrabass :: Instrument
TremoloStrings :: Instrument
PizzicatoStrings :: Instrument
OrchestralHarp :: Instrument
Timpani :: Instrument
StringEnsemble1 :: Instrument
StringEnsemble2 :: Instrument
SynthStrings1 :: Instrument
SynthStrings2 :: Instrument
ChoirAahs :: Instrument
VoiceOohs :: Instrument
SynthVoice :: Instrument
OrchestraHit :: Instrument
Trumpet :: Instrument
Trombone :: Instrument
Tuba :: Instrument
MutedTrumpet :: Instrument
FrenchHorn :: Instrument
BrassSection :: Instrument
SynthBrass1 :: Instrument
SynthBrass2 :: Instrument
SopranoSax :: Instrument
AltoSax :: Instrument
TenorSax :: Instrument
BaritoneSax :: Instrument
Oboe :: Instrument
EnglishHorn :: Instrument
Bassoon :: Instrument
Clarinet :: Instrument
Piccolo :: Instrument
Flute :: Instrument
Recorder :: Instrument
PanFlute :: Instrument
BlownBottle :: Instrument
Skakuhachi :: Instrument
Whistle :: Instrument
Ocarina :: Instrument
Lead1Square :: Instrument
Lead2Sawtooth :: Instrument
Lead3Calliope :: Instrument
Lead4Chiff :: Instrument
Lead5Charang :: Instrument
Lead6Voice :: Instrument
Lead7Fifths :: Instrument
Lead8BassLead :: Instrument
Pad1NewAge :: Instrument
Pad2Warm :: Instrument
Pad3Polysynth :: Instrument
Pad4Choir :: Instrument
Pad5Bowed :: Instrument
Pad6Metallic :: Instrument
Pad7Halo :: Instrument
Pad8Sweep :: Instrument
FX1Rain :: Instrument
FX2Soundtrack :: Instrument
FX3Crystal :: Instrument
FX4Atmosphere :: Instrument
FX5Brightness :: Instrument
FX6Goblins :: Instrument
FX7Echoes :: Instrument
FX8SciFi :: Instrument
Sitar :: Instrument
Banjo :: Instrument
Shamisen :: Instrument
Koto :: Instrument
Kalimba :: Instrument
Bagpipe :: Instrument
Fiddle :: Instrument
Shanai :: Instrument
TinkleBell :: Instrument
Agogo :: Instrument
SteelDrums :: Instrument
Woodblock :: Instrument
TaikoDrum :: Instrument
MelodicTom :: Instrument
SynthDrum :: Instrument
ReverseCymbal :: Instrument
GuitarFretNoise :: Instrument
BreathNoise :: Instrument
Seashore :: Instrument
BirdTweet :: Instrument
TelephoneRing :: Instrument
Helicopter :: Instrument
Applause :: Instrument
Gunshot :: Instrument
data Drum :: *
AcousticBassDrum :: Drum
BassDrum1 :: Drum
SideStick :: Drum
AcousticSnare :: Drum
HandClap :: Drum
ElectricSnare :: Drum
LowFloorTom :: Drum
ClosedHiHat :: Drum
HighFloorTom :: Drum
PedalHiHat :: Drum
LowTom :: Drum
OpenHiHat :: Drum
LowMidTom :: Drum
HiMidTom :: Drum
CrashCymbal1 :: Drum
HighTom :: Drum
RideCymbal1 :: Drum
ChineseCymbal :: Drum
RideBell :: Drum
Tambourine :: Drum
SplashCymbal :: Drum
Cowbell :: Drum
CrashCymbal2 :: Drum
Vibraslap :: Drum
RideCymbal2 :: Drum
HiBongo :: Drum
LowBongo :: Drum
MuteHiConga :: Drum
OpenHiConga :: Drum
LowConga :: Drum
HighTimbale :: Drum
LowTimbale :: Drum
HighAgogo :: Drum
LowAgogo :: Drum
Cabasa :: Drum
Maracas :: Drum
ShortWhistle :: Drum
LongWhistle :: Drum
ShortGuiro :: Drum
LongGuiro :: Drum
Claves :: Drum
HiWoodBlock :: Drum
LowWoodBlock :: Drum
MuteCuica :: Drum
OpenCuica :: Drum
MuteTriangle :: Drum
OpenTriangle :: Drum
toProgram :: Int -> Program
toChannel :: Int -> Channel
bn :: T
wn :: T
hn :: T
qn :: T
en :: T
sn :: T
tn :: T
sfn :: T
dwn :: T
dhn :: T
dqn :: T
den :: T
dsn :: T
dtn :: T
ddhn :: T
ddqn :: T
dden :: T
bnr :: T note
wnr :: T note
hnr :: T note
qnr :: T note
enr :: T note
snr :: T note
tnr :: T note
sfnr :: T note
dwnr :: T note
dhnr :: T note
dqnr :: T note
denr :: T note
dsnr :: T note
dtnr :: T note
ddhnr :: T note
ddqnr :: T note
ddenr :: T note
line :: [T note] -> T note
chord :: [T note] -> T note
changeTempo :: DurRatio -> T note -> T note
transpose :: Relative -> T note -> T note
phrase :: PhraseAttribute -> T note -> T note
(+:+) :: T note -> T note -> T note
(=:=) :: T note -> T note -> T note
type Dur = T
data PhraseAttribute
Dyn :: Dynamic -> PhraseAttribute
Tmp :: Tempo -> PhraseAttribute
Art :: Articulation -> PhraseAttribute
Orn :: Ornament -> PhraseAttribute
data Dynamic
Loudness :: Rational -> Dynamic
Accent :: Rational -> Dynamic
Crescendo :: Rational -> Dynamic
Diminuendo :: Rational -> Dynamic
data Tempo
Ritardando :: Rational -> Tempo
Accelerando :: Rational -> Tempo
data Articulation
Staccato :: Dur -> Articulation
Legato :: Dur -> Articulation
Slurred :: Dur -> Articulation
Tenuto :: Articulation
Marcato :: Articulation
Pedal :: Articulation
Fermata :: Articulation
FermataDown :: Articulation
Breath :: Articulation
DownBow :: Articulation
UpBow :: Articulation
Harmonic :: Articulation
Pizzicato :: Articulation
LeftPizz :: Articulation
BartokPizz :: Articulation
Swell :: Articulation
Wedge :: Articulation
Thumb :: Articulation
Stopped :: Articulation
data Ornament
Trill :: Ornament
Mordent :: Ornament
InvMordent :: Ornament
DoubleMordent :: Ornament
Turn :: Ornament
TrilledTurn :: Ornament
ShortTrill :: Ornament
Arpeggio :: Ornament
ArpeggioUp :: Ornament
ArpeggioDown :: Ornament
Instruction :: String -> Ornament
Head :: NoteHead -> Ornament
data NoteHead
DiamondHead :: NoteHead
SquareHead :: NoteHead
XHead :: NoteHead
TriangleHead :: NoteHead
TremoloHead :: NoteHead
SlashHead :: NoteHead
ArtHarmonic :: NoteHead
NoHead :: NoteHead
accent :: Rational -> T note -> T note
crescendo :: Rational -> T note -> T note
diminuendo :: Rational -> T note -> T note
loudness1 :: Rational -> T note -> T note
ritardando :: Rational -> T note -> T note
accelerando :: Rational -> T note -> T note
staccato :: Dur -> T note -> T note
legato :: Dur -> T note -> T note
defltLegato :: T note -> T note
defltStaccato :: T note -> T note
defltAccent :: T note -> T note
bigAccent :: T note -> T note
module Haskore.Composition.Drum
type T = Drum
data Drum :: *
AcousticBassDrum :: Drum
BassDrum1 :: Drum
SideStick :: Drum
AcousticSnare :: Drum
HandClap :: Drum
ElectricSnare :: Drum
LowFloorTom :: Drum
ClosedHiHat :: Drum
HighFloorTom :: Drum
PedalHiHat :: Drum
LowTom :: Drum
OpenHiHat :: Drum
LowMidTom :: Drum
HiMidTom :: Drum
CrashCymbal1 :: Drum
HighTom :: Drum
RideCymbal1 :: Drum
ChineseCymbal :: Drum
RideBell :: Drum
Tambourine :: Drum
SplashCymbal :: Drum
Cowbell :: Drum
CrashCymbal2 :: Drum
Vibraslap :: Drum
RideCymbal2 :: Drum
HiBongo :: Drum
LowBongo :: Drum
MuteHiConga :: Drum
OpenHiConga :: Drum
LowConga :: Drum
HighTimbale :: Drum
LowTimbale :: Drum
HighAgogo :: Drum
LowAgogo :: Drum
Cabasa :: Drum
Maracas :: Drum
ShortWhistle :: Drum
LongWhistle :: Drum
ShortGuiro :: Drum
LongGuiro :: Drum
Claves :: Drum
HiWoodBlock :: Drum
LowWoodBlock :: Drum
MuteCuica :: Drum
OpenCuica :: Drum
MuteTriangle :: Drum
OpenTriangle :: Drum
data Element
R :: T -> Element
N :: T -> NoteAttributes -> Element
Roll :: T -> T -> NoteAttributes -> Element
Rolln :: Integer -> T -> NoteAttributes -> Element
na :: NoteAttributes
toMusic :: drum -> T -> NoteAttributes -> T drum instr
toMusicDefaultAttr :: drum -> T -> T drum instr
lineToMusic :: T -> [Element] -> T
elementToMusic :: T -> Element -> T
funkGroove :: T
module Haskore.Example.BesondrerTag
noAttr :: [NoteAttributes -> T] -> T
bar1 :: T
bass0 :: T
bass1 :: T
bar0 :: T
melody :: T
bass :: T
song :: T
module Haskore.Example.ChildSong6
fd :: t -> (t -> NoteAttributes -> m) -> m
vel :: (NoteAttributes -> m) -> m
v :: NoteAttributes
lmap :: (a -> T) -> [a] -> T
mainVoice :: T
bassLine :: T
song :: T
b2 :: T
b3 :: T
b1 :: T
v1a :: T
v1b :: T
v1 :: T
v2a :: T
v2b :: T
v2c :: T
v2d :: T
v2e :: T
v2f :: T
v2 :: T
-- | Create chord patterns with controlable level of details.
module Haskore.Example.Detail
levels :: [[T]]
randomItem :: RandomGen g => [a] -> State g a
-- | randomR wrapped in a State monad.
randomRState :: RandomGen g => (Int, Int) -> State g Int
merge :: [a] -> [a] -> [a]
dyadicPattern :: [T]
simpleSong :: T
dyadicLevelPattern :: [(Int, T)]
song :: T
module Haskore.Example.Flip
flipSeq :: Int -> [Int]
flipSeq2 :: [Int]
noteArray :: [() -> T ()] -> Array Int (T ())
makeSong :: [() -> T ()] -> T ()
song1 :: T ()
core :: T ()
core1 :: T ()
song :: T ()
core2 :: T
song2 :: T
-- | Christman song O Heiland, rei die Himmel auf from Du
-- wurdest meine Sonne - Heft I: Advents- und Weihnachtslieder in
-- einfachen Stzen Evangelische Verlagsanstalt Berlin
--
-- fileFromGeneralMIDIMusic heiland.mid song
module Haskore.Example.HeilandHimmel
noAttr :: [NoteAttributes -> T] -> T
melody1 :: T
melody2 :: T
melody3 :: T
bass0 :: T
bass1 :: T
bass2 :: T
bass3 :: T
melody0 :: T
melody :: T
bass :: T
song :: T
module Haskore.Example.Ssf
shortLegato :: T () -> T ()
m2 :: [T ()]
m3 :: [T ()]
m4 :: [T ()]
m1 :: [T ()]
melody :: T ()
song :: T
module Haskore.Example.Raenzlein
vline :: [NoteAttributes -> T] -> T
mel0 :: T
refrain :: T
strings :: T
verse :: T
melody :: T
v :: NoteAttributes
s2 :: [Generic NoteAttributes]
s1 :: [Generic NoteAttributes]
song :: T
module Haskore.Example.WhiteChristmas
vline :: [NoteAttributes -> T] -> T
strings :: T
melody :: T
m2 :: T
m3a :: T
m4a :: T
m3b :: T
m4b :: T
m1 :: T
v :: NoteAttributes
vel :: Velocity -> NoteAttributes
s2 :: [Generic NoteAttributes]
s3 :: [Generic NoteAttributes]
s4a :: [Generic NoteAttributes]
s4b :: [Generic NoteAttributes]
s1 :: [Generic NoteAttributes]
snare :: Dur -> T
hihat :: Dur -> T
bassdrum :: Dur -> T
rhythm :: T
song :: T
module Haskore.Interface.CSound.Note
data T
Cons :: [PField] -> Velocity -> Instrument -> Maybe Absolute -> T
parameters :: T -> [PField]
velocity :: T -> Velocity
instrument :: T -> Instrument
pitch :: T -> Maybe Absolute
fromRhyNote :: RealFrac dyn => ToSound drum -> ToSound instr -> dyn -> Relative -> Note drum instr -> T
velocityFromStd :: RealFrac dyn => dyn -> Rational -> Velocity
pitchFromStd :: Relative -> T -> Absolute
velocityToDb :: Float -> Float
amplitudeToDb :: Float -> Float
zeroKey :: Int
module Haskore.Composition.Rhythm
type T = [Bool]
unit :: Dur
fromString :: String -> T
fromPositions :: [Int] -> T
type ToMusicWithMusic drum instr = T drum instr -> T -> T drum instr
type ToMusicWithDrum drum instr = drum -> T -> T drum instr
toMusicWithMusic :: ToMusicWithMusic drum instr
toMusicWithDrum :: ToMusicWithDrum drum instr
toMusicWithDrumUnit :: Dur -> ToMusicWithDrum drum instr
toShuffledMusicWithDrum :: ToMusicWithDrum drum instr
toShuffledMusicWithDrumUnit :: Dur -> ToMusicWithDrum drum instr
downBeatR :: T
backBeatR :: T
claveR :: T
claveRumbaR :: T
claveBossaR :: T
clave5 :: T
clave7 :: T
jazzRideR :: T
jazzWaltzRideR :: T
jazzWaltzHiHatR :: T
tickR :: T
countInR :: Dur -> T
claveP :: drum -> T drum instr
claveRumbaP :: drum -> T drum instr
claveBossaP :: drum -> T drum instr
jazzRideP :: drum -> T drum instr
jazzWaltzRideP :: drum -> T drum instr
jazzWaltzHiHatP :: drum -> T drum instr
downBeatP :: drum -> T drum instr
backBeatP :: drum -> T drum instr
tickP :: drum -> T drum instr
clave :: T
claveRumba :: T
claveBossa :: T
metro5 :: T
metro7 :: T
basicBassDrum :: T
basicSnare :: T
basicHiHat :: T
ride :: T
click :: T
countIn :: Dur -> T
module Haskore.Example.Fractal
type Vector a = [a]
type Matrix a = [Vector a]
type AT a = Vector a -> Vector a
type IFS a = Array Int (AT a)
vadd :: Num a => Vector a -> Vector a -> Vector a
vvmult :: Num a => Vector a -> Vector a -> a
mvmult :: Num a => Matrix a -> Vector a -> Vector a
cvmult :: Num a => a -> Vector a -> Vector a
w1 :: Fractional a => AT a
w2 :: Fractional a => AT a
w0 :: Fractional a => AT a
init0 :: Num a => Vector a
ws :: Fractional a => IFS a
result :: [Vector Rational]
mkNote :: [Rational] -> T ()
sourceToMusic :: [[Rational]] -> T ()
song :: T ()
module Haskore.Example.Guitar
mapChordToString :: [T] -> [Class] -> [T]
choosePitchForString :: [Class] -> T -> T
stringPitches :: [T]
data Direction
Up :: Direction
Down :: Direction
delayTime :: Dur
dirDelays :: Direction -> [Offset]
type UpDownPattern = [(Dur, Direction)]
udpInter :: UpDownPattern
udpLast :: UpDownPattern
udp :: UpDownPattern
chords :: [([Class], UpDownPattern)]
type DelayedNote = (Offset, (Dur, Maybe T))
chordToPattern :: [Class] -> UpDownPattern -> [[DelayedNote]]
guitarEvents :: [[DelayedNote]]
delayNotes :: [DelayedNote] -> [T ()]
stringMelodies :: [T ()]
parallelSong :: [instr] -> T drum instr
parallelSongMIDI :: T
chordWithLegatoPattern :: [T drum instr] -> UpDownPattern -> T drum instr
legatoSong :: [instr] -> T drum instr
legatoSongMIDI :: T
module Haskore.Performance
type T time dyn note = T time (Event time dyn note)
type Padded time dyn note = T time (Event time dyn note)
data Event time dyn note
Event :: time -> dyn -> Relative -> note -> Event time dyn note
eventDur :: Event time dyn note -> time
eventDynamics :: Event time dyn note -> dyn
eventTranspose :: Event time dyn note -> Relative
eventNote :: Event time dyn note -> note
fromMusic :: (C time, RealFrac time, Ord dyn, Fractional dyn, Ord note) => PlayerMap time dyn note -> Context time dyn note -> T note -> T time dyn note
type PlayerMap time dyn note = PlayerName -> Player time dyn note
data Context time dyn note
Context :: time -> Player time dyn note -> Relative -> dyn -> Context time dyn note
contextDur :: Context time dyn note -> time
contextPlayer :: Context time dyn note -> Player time dyn note
contextTranspose :: Context time dyn note -> Relative
contextDynamics :: Context time dyn note -> dyn
type UpdateContext time dyn note a = (a -> a) -> Context time dyn note -> Context time dyn note
updatePlayer :: UpdateContext time dyn note (Player time dyn note)
updateDur :: UpdateContext time dyn note time
updateTranspose :: UpdateContext time dyn note Relative
updateDynamics :: UpdateContext time dyn note dyn
paddedFromMusic :: (C time, RealFrac time, Ord dyn, Fractional dyn, Ord note) => PlayerMap time dyn note -> Context time dyn note -> T note -> Padded time dyn note
type PaddedWithRests time dyn note = T time (Maybe (Event time dyn note))
type Monad time dyn note = Reader (Context time dyn note) (PaddedWithRests time dyn note, time)
sequenceReader :: [Reader r a] -> Reader r [a]
combine :: ([performance] -> performance, [time] -> time) -> [Reader r (performance, time)] -> Reader r (performance, time)
monadFromMusic :: (C time, RealFrac time, Ord dyn, Fractional dyn, Ord note) => PlayerMap time dyn note -> T note -> Monad time dyn note
data Player time dyn note
PlayerCons :: PlayerName -> NoteFun time dyn note -> PhraseFun time dyn note -> NotateFun -> Player time dyn note
name :: Player time dyn note -> PlayerName
playNote :: Player time dyn note -> NoteFun time dyn note
interpretPhrase :: Player time dyn note -> PhraseFun time dyn note
notatePlayer :: Player time dyn note -> NotateFun
type NoteFun time dyn note = Context time dyn note -> Dur -> note -> T time dyn note
type PhraseFun time dyn note = PhraseAttribute -> Monad time dyn note -> Monad time dyn note
type NotateFun = ()
instance (Show time, Show dyn) => Show (Context time dyn note)
instance (Eq time, Eq dyn, Eq note) => Eq (Event time dyn note)
instance (Show time, Show dyn, Show note) => Show (Event time dyn note)
instance (Show time, Show dyn) => Show (Player time dyn note)
instance (Ord time, Ord dyn, Ord note) => Ord (Event time dyn note)
module Haskore.Performance.BackEnd
type T time note = T time (Event time note)
type Padded time note = T time (Event time note)
data Event time note
Event :: time -> note -> Event time note
eventDur :: Event time note -> time
eventNote :: Event time note -> note
mapTime :: (time0 -> time1) -> T time0 note -> T time1 note
mapTimePadded :: (time0 -> time1) -> Padded time0 note -> Padded time1 note
eventFromPerformanceEvent :: (dyn -> Relative -> note -> backEndNote) -> Event time dyn note -> Event time backEndNote
fromPerformance :: (dyn -> Relative -> note -> backEndNote) -> T time dyn note -> T time backEndNote
fromPaddedPerformance :: (dyn -> Relative -> note -> backEndNote) -> Padded time dyn note -> Padded time backEndNote
toMusic :: T Dur note -> T note
instance (Eq time, Eq note) => Eq (Event time note)
instance (Ord time, Ord note) => Ord (Event time note)
instance (Show time, Show note) => Show (Event time note)
instance Functor (Event time)
module Haskore.Interface.MML
type Accum = (Dur, Octave)
barToMusic :: String -> Accum -> ([T ()], Accum)
toMusicState :: String -> State Accum [T ()]
toMusic :: Octave -> String -> T ()
module Haskore.Interface.AutoTrack.ChartBar
data T
Cons :: Dur -> [Maybe T] -> T
dur :: T -> Dur
chords :: T -> [Maybe T]
readChordSymbol :: Dur -> Maybe T -> ReadS T
length :: Integral a => T -> a
instance Show T
instance C T
instance Read T
module Haskore.Interface.AutoTrack.ChordChart
data T
Cons :: [T] -> T
bars :: T -> [T]
hasChord :: T -> (Dur, [Bool])
length :: Integral a => T -> a
concat :: T -> T -> T
instance Show T
instance C T
instance Read T
module Haskore.Interface.AutoTrack.EventChart
data T e
Cons :: [(Dur, e)] -> T e
events :: T e -> [(Dur, e)]
fromChordChart :: T -> T T
fromChartBar :: T -> T T
instance Show e => Show (T e)
instance Functor T
instance C a => C (T a)
module Haskore.Process.Format
prettyGrammarMedium :: (Show prim, Show control) => T String control prim -> String
prettyGrammarMelody :: T String Control (Primitive Note) -> String
prettyGrammar :: (Int -> control -> (Int -> ShowS) -> ShowS) -> (Int -> prim -> ShowS) -> T String control prim -> String
bind :: (Int -> control -> (Int -> ShowS) -> ShowS) -> (Int -> prim -> ShowS) -> (String, TagMedium String control prim) -> ShowS
tagMedium :: Int -> (Int -> control -> (Int -> ShowS) -> ShowS) -> (Int -> prim -> ShowS) -> TagMedium String control prim -> ShowS
list :: [Int -> ShowS] -> ShowS
listFunc :: String -> [Int -> ShowS] -> Int -> ShowS
prim :: Show p => Int -> p -> ShowS
dummySrcLoc :: SrcLoc
prettyMelody :: T -> String
prettyExp :: String -> String
melody :: Int -> T -> ShowS
primMelody :: Int -> Primitive Note -> ShowS
atom :: Show attr => Int -> T -> Atom (Note attr) -> ShowS
note :: Show attr => Int -> T -> Note attr -> ShowS
rest :: Int -> T -> ShowS
controlGen :: Show control => Int -> control -> (Int -> ShowS) -> ShowS
control :: Int -> Control -> (Int -> ShowS) -> ShowS
durSyntax :: (ShowS -> ShowS) -> String -> T -> ShowS
showDur :: Int -> T -> ShowS
enclose :: Int -> Int -> ShowS -> ShowS
-- | Import Music from text printed by OctaMED. It will be certainly easy
-- to adapt that for other trackers like SoundTracker, NoiseTracker,
-- DigiBooster, FastTracker.
--
-- Take care that you use B not H note name.
module Haskore.Interface.MED.Text
-- | should be moved to Utility
sieve :: Int -> [a] -> [a]
-- | should be moved to Utility
sliceHoriz :: Int -> [a] -> [[a]]
-- | should be moved to Utility
sliceVert :: Int -> [a] -> [[a]]
type Instrument = Int
splitBlocks :: [String] -> [[String]]
cellToNote :: String -> (Maybe (T, Instrument), String)
parseDigit :: CharParser () Int
parseNote :: CharParser () (Maybe (T, Instrument))
parseCell :: CharParser () (Maybe (T, Instrument), String)
columnToNotes :: [String] -> ([String], [(T, Instrument, [String])])
-- | Convert a block of a song to a list of notes.
linesToNotes :: [String] -> [([String], [(T, Instrument, [String])])]
columnToSimpleSerial :: Integer -> ([String], [(T, Instrument, [String])]) -> ShowS
module Haskore.Music.Standard
type T = T Drum Instr
type Note = Note Drum Instr
type NoteBody = NoteBody Drum Instr
type Instr = String
type Drum = String
velocity :: Note drum instr -> Rational
body :: Note drum instr -> NoteBody drum instr
instrument :: NoteBody drum instr -> instr
pitch :: NoteBody drum instr -> T
drum :: NoteBody drum instr -> drum
noteFromStdMelodyNote :: instr -> Note -> Note drum instr
-- | in contrast to RhyMusic.fromStdMelody it has fixed instrument type
fromStdMelody :: Instr -> T -> T
fromMelodyNullAttr :: Instr -> T () -> T
bn :: T
wn :: T
hn :: T
qn :: T
en :: T
sn :: T
tn :: T
sfn :: T
dwn :: T
dhn :: T
dqn :: T
den :: T
dsn :: T
dtn :: T
ddhn :: T
ddqn :: T
dden :: T
bnr :: T note
wnr :: T note
hnr :: T note
qnr :: T note
enr :: T note
snr :: T note
tnr :: T note
sfnr :: T note
dwnr :: T note
dhnr :: T note
dqnr :: T note
denr :: T note
dsnr :: T note
dtnr :: T note
ddhnr :: T note
ddqnr :: T note
ddenr :: T note
line :: [T note] -> T note
chord :: [T note] -> T note
changeTempo :: DurRatio -> T note -> T note
transpose :: Relative -> T note -> T note
phrase :: PhraseAttribute -> T note -> T note
(+:+) :: T note -> T note -> T note
(=:=) :: T note -> T note -> T note
type Dur = T
data PhraseAttribute
Dyn :: Dynamic -> PhraseAttribute
Tmp :: Tempo -> PhraseAttribute
Art :: Articulation -> PhraseAttribute
Orn :: Ornament -> PhraseAttribute
data Dynamic
Loudness :: Rational -> Dynamic
Accent :: Rational -> Dynamic
Crescendo :: Rational -> Dynamic
Diminuendo :: Rational -> Dynamic
data Tempo
Ritardando :: Rational -> Tempo
Accelerando :: Rational -> Tempo
data Articulation
Staccato :: Dur -> Articulation
Legato :: Dur -> Articulation
Slurred :: Dur -> Articulation
Tenuto :: Articulation
Marcato :: Articulation
Pedal :: Articulation
Fermata :: Articulation
FermataDown :: Articulation
Breath :: Articulation
DownBow :: Articulation
UpBow :: Articulation
Harmonic :: Articulation
Pizzicato :: Articulation
LeftPizz :: Articulation
BartokPizz :: Articulation
Swell :: Articulation
Wedge :: Articulation
Thumb :: Articulation
Stopped :: Articulation
data Ornament
Trill :: Ornament
Mordent :: Ornament
InvMordent :: Ornament
DoubleMordent :: Ornament
Turn :: Ornament
TrilledTurn :: Ornament
ShortTrill :: Ornament
Arpeggio :: Ornament
ArpeggioUp :: Ornament
ArpeggioDown :: Ornament
Instruction :: String -> Ornament
Head :: NoteHead -> Ornament
data NoteHead
DiamondHead :: NoteHead
SquareHead :: NoteHead
XHead :: NoteHead
TriangleHead :: NoteHead
TremoloHead :: NoteHead
SlashHead :: NoteHead
ArtHarmonic :: NoteHead
NoHead :: NoteHead
accent :: Rational -> T note -> T note
crescendo :: Rational -> T note -> T note
diminuendo :: Rational -> T note -> T note
loudness1 :: Rational -> T note -> T note
ritardando :: Rational -> T note -> T note
accelerando :: Rational -> T note -> T note
staccato :: Dur -> T note -> T note
legato :: Dur -> T note -> T note
defltLegato :: T note -> T note
defltStaccato :: T note -> T note
defltAccent :: T note -> T note
bigAccent :: T note -> T note
module Haskore.Interface.MIDI.InstrumentMap
type ChannelTable instr = [(instr, Channel)]
type ChannelProgramTable instr = [(instr, (Channel, Program))]
type ChannelProgramPitchTable instr = [(instr, (Channel, Program, Pitch))]
type ToChannel instr = instr -> Channel
type ToChannelProgram instr = instr -> (Channel, Program)
type ToChannelProgramPitch instr = instr -> (Channel, Program, Pitch)
type FromChannel instr = Channel -> Maybe instr
type FromChannelProgram instr = (Channel, Program) -> Maybe instr
type FromChannelProgramPitch instr = (Channel, Program, Pitch) -> Maybe instr
repair :: [Instr] -> ChannelProgramTable Instr -> ChannelProgramTable Instr
allValid :: ChannelProgramTable Instr -> [Instr] -> Bool
tableFromInstruments :: [Instr] -> ChannelProgramTable Instr
assignChannels :: [Channel] -> [Instr] -> [(Channel, Program)]
fromInstruments :: Ord instr => [instr] -> ToChannel instr
partialMatch :: Instr -> Instr -> Bool
lookupIName :: [(Instr, a)] -> Instr -> a
lookup :: Eq instr => [(instr, a)] -> instr -> a
reverseLookupMaybe :: Eq a => [(instr, a)] -> a -> Maybe instr
reverseLookup :: Eq a => [(instr, a)] -> a -> instr
defltTable :: [(Instr, Channel, Instrument)]
deflt :: ChannelProgramTable Instr
defltGM :: ChannelProgramTable Instrument
defltCMap :: [(Instrument, Channel)]
module Haskore.Interface.MIDI.Note
data T
Cons :: Velocity -> Velocity -> Channel -> Program -> Pitch -> T
velocityOn :: T -> Velocity
velocityOff :: T -> Velocity
channel :: T -> Channel
program :: T -> Program
pitch :: T -> Pitch
fromMIDIEvents :: (T, T) -> Maybe T
toMIDIEvents :: T -> (T, T)
fromRhyNote :: RealFrac dyn => ToChannelProgramPitch drum -> ToChannelProgram instr -> dyn -> Relative -> Note drum instr -> T
fromGMNote :: RealFrac dyn => ToChannel Instr -> dyn -> Relative -> Note -> T
velocityFromStd :: RealFrac dyn => dyn -> Rational -> Velocity
pitchFromStd :: Relative -> T -> Pitch
toRhyNote :: FromChannelProgramPitch drum -> FromChannelProgram instr -> T -> Note drum instr
toGMNote :: T -> Note
velocityToStd :: Fractional a => Velocity -> a
pitchToStd :: Pitch -> T
module Haskore.Performance.Player
type T time dyn note = Player time dyn note
type Name = PlayerName
type Map time dyn note = PlayerMap time dyn note
type PhraseInterpreter time dyn note = PhraseAttribute -> (T time dyn note, time) -> (T time dyn note, time)
type EventModifier time dyn note = Event time dyn note -> Event time dyn note
changeVelocity :: Num dyn => (dyn -> dyn) -> EventModifier time dyn note
changeDur :: Num time => (time -> time) -> EventModifier time dyn note
legatoRel :: (C time, Fractional time) => T -> Monad time dyn note -> Monad time dyn note
slurredRel :: (C time, Fractional time) => T -> Monad time dyn note -> Monad time dyn note
staccatoRel :: (C time, Fractional time) => T -> Monad time dyn note -> Monad time dyn note
mapInitEvents :: (C time, Num time) => EventModifier time dyn note -> Monad time dyn note -> Monad time dyn note
mapEvents :: EventModifier time dyn note -> Monad time dyn note -> Monad time dyn note
legatoAbs :: (C time, Fractional time) => T -> Monad time dyn note -> Monad time dyn note
slurredAbs :: (C time, Fractional time) => T -> Monad time dyn note -> Monad time dyn note
staccatoAbs :: (C time, Fractional time) => T -> Monad time dyn note -> Monad time dyn note
getDurModifier :: Fractional time => (time -> time -> time) -> T -> Reader (Context time dyn note) (EventModifier time dyn note)
accent :: Fractional dyn => Rational -> Monad time dyn note -> Monad time dyn note
module Haskore.Performance.Context
type T time dyn note = Context time dyn note
setPlayer :: SetContext time dyn note (T time dyn note)
setDur :: SetContext time dyn note time
setTranspose :: SetContext time dyn note Relative
setDynamics :: SetContext time dyn note dyn
getPlayer :: GetContext time dyn note (T time dyn note)
getDur :: GetContext time dyn note time
getTranspose :: GetContext time dyn note Relative
getDynamics :: GetContext time dyn note dyn
updatePlayer :: UpdateContext time dyn note (Player time dyn note)
updateDur :: UpdateContext time dyn note time
updateTranspose :: UpdateContext time dyn note Relative
updateDynamics :: UpdateContext time dyn note dyn
contextPlayer :: Context time dyn note -> Player time dyn note
contextDur :: Context time dyn note -> time
contextTranspose :: Context time dyn note -> Relative
contextDynamics :: Context time dyn note -> dyn
module Haskore.Performance.Default
player :: (C time, Fractional time, Real time, Fractional dyn) => T time dyn note
map :: (C time, Fractional time, Real time, Fractional dyn) => Name -> T time dyn note
playNote :: (Fractional time, Real time) => NoteFun time dyn note
interpretPhrase :: (C time, Fractional time, Fractional dyn) => PhraseFun time dyn note
notatePlayer :: () -> NotateFun
context :: (C time, Fractional time, Real time, Fractional dyn) => T time dyn note
fromMusic :: (Ord note, C time, RealFrac time, Fractional dyn, Ord dyn) => T note -> T time dyn note
fromMusicModifyContext :: (Ord note, C time, RealFrac time, Fractional dyn, Ord dyn) => (T time dyn note -> T time dyn note) -> T note -> T time dyn note
floatFromMusic :: Ord note => T note -> T Float Float note
paddedFromMusic :: (Ord note, C time, RealFrac time, Fractional dyn, Ord dyn) => T note -> Padded time dyn note
paddedFromMusicModifyContext :: (Ord note, C time, RealFrac time, Fractional dyn, Ord dyn) => (T time dyn note -> T time dyn note) -> T note -> T time dyn note
module Haskore.Interface.MIDI.Read
toRhyMusic :: (C time, Fractional time, Real time, Fractional dyn) => ChannelProgramPitchTable drum -> ChannelProgramTable instr -> T -> (T time dyn (Note drum instr), T drum instr)
toGMMusic :: (C time, Fractional time, Real time, Fractional dyn) => T -> (ChannelTable Instr, T time dyn Note, T)
retrieveTracks :: T -> [[T]]
module Haskore.Performance.Fancy
player :: (C time, Fractional time, Real time, Fractional dyn) => T time dyn note
map :: (C time, Fractional time, Real time, Fractional dyn) => String -> T time dyn note
processPerformance :: Num time => (time -> (time -> time -> time, time -> Event time dyn note -> Event time dyn note, time)) -> (PaddedWithRests time dyn note, time) -> (PaddedWithRests time dyn note, time)
fancyInterpretDynamic :: (Fractional time, Real time, Fractional dyn) => Dynamic -> Monad time dyn note -> Monad time dyn note
fancyInterpretTempo :: (Fractional time, Real time) => Tempo -> Monad time dyn note -> Monad time dyn note
fancyInterpretArticulation :: (C time, Fractional time) => Articulation -> Monad time dyn note -> Monad time dyn note
fancyInterpretOrnament :: (Fractional time, Real time) => Ornament -> Monad time dyn note -> Monad time dyn note
fancyInterpretPhrase :: (C time, Fractional time, Real time, Fractional dyn) => PhraseFun time dyn note
context :: (C time, Fractional time, Real time, Fractional dyn) => T time dyn note
fromMusic :: (Ord note, C time, RealFrac time, Fractional dyn, Ord dyn) => T note -> T time dyn note
fromMusicModifyContext :: (Ord note, C time, RealFrac time, Fractional dyn, Ord dyn) => (T time dyn note -> T time dyn note) -> T note -> T time dyn note
floatFromMusic :: Ord note => T note -> T Float Float note
paddedFromMusic :: (Ord note, C time, RealFrac time, Fractional dyn, Ord dyn) => T note -> Padded time dyn note
doublePaddedFromMusic :: Ord note => T note -> Padded Double Double note
paddedFromMusicModifyContext :: (Ord note, C time, RealFrac time, Fractional dyn, Ord dyn) => (T time dyn note -> T time dyn note) -> T note -> T time dyn note
module Haskore.Interface.MIDI.Write
fromRhythmicPerformance :: (C time, RealFrac time, RealFrac dyn, Eq drum, Eq instr) => ChannelProgramPitchTable drum -> ChannelProgramTable instr -> Perf time dyn drum instr -> T
fromRhythmicPerformanceMixed :: (C time, RealFrac time, RealFrac dyn, Eq drum, Eq instr) => ChannelProgramPitchTable drum -> ChannelProgramTable instr -> Perf time dyn drum instr -> T
fromGMPerformance :: (C time, RealFrac time, RealFrac dyn) => (Instrument -> Channel) -> T time dyn Note -> T
fromGMPerformanceMixed :: (C time, RealFrac time, RealFrac dyn) => (Instrument -> Channel) -> T time dyn Note -> T
fromGMPerformanceAuto :: (C time, RealFrac time, RealFrac dyn) => T time dyn Note -> T
fromGMPerformanceMixedAuto :: (C time, RealFrac time, RealFrac dyn) => T time dyn Note -> T
fromRhythmicMusic :: (C time, RealFrac time, RealFrac dyn, Ord drum, Ord instr) => (ChannelProgramPitchTable drum, ChannelProgramTable instr, T time dyn (Note drum instr), T drum instr) -> T
fromRhythmicMusicMixed :: (C time, RealFrac time, RealFrac dyn, Ord drum, Ord instr) => (ChannelProgramPitchTable drum, ChannelProgramTable instr, T time dyn (Note drum instr), T drum instr) -> T
fromGMMusic :: (C time, RealFrac time, RealFrac dyn) => (ChannelTable Instr, T time dyn Note, T) -> T
fromGMMusicAuto :: (C time, RealFrac time, RealFrac dyn) => (T time dyn Note, T) -> T
fromGMMusicMixed :: (C time, RealFrac time, RealFrac dyn) => (ChannelTable Instr, T time dyn Note, T) -> T
fromGMMusicMixedAuto :: (C time, RealFrac time, RealFrac dyn) => (T time dyn Note, T) -> T
volumeHaskoreToMIDI :: (RealFrac a, Floating a) => a -> Int
volumeMIDIToHaskore :: Floating a => Int -> a
module Haskore.Example.Kantate147
initOctaves :: [Octave]
songMML :: [(String, String, String, String)]
musicTracks :: [[[T ()]]]
song :: T ()
grammar :: T String Control (Primitive (Note ()))
markovChain :: T ()
markovChainMidi :: T
cm :: ChannelTable Instrument
context :: T Float Float Note
toMidi :: T () -> T
midi :: T
main :: IO ()
module Haskore.Interface.MIDI
module Haskore.Interface.MIDI.Render
fileFromRhythmicMusic :: (Ord instr, Ord drum, C time, RealFrac time, RealFrac dyn) => FilePath -> (ChannelProgramPitchTable drum, ChannelProgramTable instr, T time dyn (Note drum instr), T drum instr) -> IO ()
midi :: T -> T
generalMidi :: T -> T
generalMidiDeflt :: T -> T
mixedMidi :: T -> T
mixedGeneralMidi :: T -> T
fileFromGeneralMIDIMusic :: FilePath -> T -> IO ()
fileName :: FilePath
play :: String -> [String] -> T -> IO ExitCode
playWinNT :: T -> IO ExitCode
playLinux :: T -> IO ExitCode
playAlsa :: T -> IO ExitCode
playTimidity :: T -> IO ExitCode
playTimidityJack :: T -> IO ExitCode
playWin95 :: T -> IO ExitCode
playTest :: IO ExitCode
gmUpm :: ChannelProgramTable Instr
gmTest :: Int -> IO ()
module Haskore.Example.SelfSim
data Cluster
Cl :: SNote -> [Cluster] -> Cluster
type Pat = [SNote]
type SNote = [(Absolute, Dur)]
sim :: Pat -> [Cluster]
addmult :: (Num a, Num b) => [(a, b)] -> [(a, b)] -> [(a, b)]
simFringe :: Num a => a -> Pat -> [SNote]
fringe :: Num a => a -> Cluster -> [SNote]
simToHask :: [[(Absolute, Dur)]] -> T ()
sim4 :: Int -> T ()
sim2 :: Int -> T
sim12 :: Int -> T
sim3 :: Int -> T
sim4s :: Int -> T
sim1 :: Int -> T
t7 :: T
t8 :: T
t9 :: T
t10 :: T
t6 :: T
ss :: T
durss :: Dur
pat2 :: [SNote]
pat3 :: [SNote]
pat4 :: [SNote]
pat4' :: [SNote]
pat1 :: [SNote]
module Haskore.Example.Miscellaneous
t1 :: T
t2 :: T
t3 :: T
t4 :: T
t5 :: T
t10s :: T
t12 :: T
t12a :: T
t13 :: T
t13a :: T
t13b :: T
t13c :: T
t13d :: T
t13e :: T
t14 :: T
t14b :: T
t14c :: T
t14d :: T
cs6 :: T
ssf0 :: T
t0 :: T
vibes :: Instrument
flute :: Instrument
piano :: Instrument
cms :: T ()
cms' :: T ()
drumScale :: T
mu2 :: T
temp :: T
rep :: (T note -> T note) -> (T note -> T note) -> Int -> T note -> T note
cascade :: T ()
cascades :: T ()
run :: T ()
t4' :: T () -> T
cascade' :: T ()
cascades' :: T ()
run' :: T ()
drums :: Drum -> Drum -> T
t11 :: Drum -> Drum -> T
t13note :: T
tab :: T -> IO ()
type StdContext = T Float Float (Note Drum Instr)
type MidiArrange = (ChannelTable Instr, StdContext, T)
tad :: T -> MidiArrange
tc :: FilePath -> IO ()
tcd :: FilePath -> IO ()
tcdab :: FilePath -> IO ()
tcb :: FilePath -> IO ()
module Haskore.Interface.AutoTrack.Style
type T = T -> T
playToStream :: Int -> T -> Integer -> Int -> T -> ByteString
jazz :: T
bossa :: T
takeFive :: T
rock :: T
thomasCarib :: T
harmonic :: T
module Haskore.Example.NewResolutions
marimba :: Instr
xylo :: Instr
vib :: Instr
glock :: Instr
piano :: Instr
melPattern :: T
melody1 :: T
bellPart :: T
vibesLine :: T
vibesPart :: T
melody2 :: T
vibeLine3 :: T
vibePart3 :: T
melody3 :: T
endRun :: T
pattern :: T
part2 :: T
part3 :: T
bridge :: T
ending :: T
harmony3 :: T
part1 :: T
comp2 :: (c -> d) -> (a -> b -> c) -> (a -> b -> d)
arpeggio :: [Int] -> T -> Dur -> T
minArpegDown :: T -> Dur -> T
majArpegDown :: T -> Dur -> T
six3ArpegDown :: T -> Dur -> T
minArpegUp :: T -> Dur -> T
gMajorScale :: [T]
dPentMinScale :: [T]
cMajorScale :: [T]
nextNote :: [T] -> T -> T
prevNote :: [T] -> T -> T
nextNote' :: T -> [T] -> T -> T
back2Note :: [T] -> T -> T
prevNR :: T -> T
back2NR :: T -> T
nextNR :: T -> T
diddle :: T -> T
makeSN :: T -> T
run2 :: T -> Dur -> T
run3 :: T -> Dur -> T
run1 :: T -> Dur -> T
part3Pattern :: Num t => ((t, Class) -> Dur -> T) -> T
all3Insts :: T -> T
endEl :: T -> T
song :: T
context :: T Float Float (Note Drum Instr)
midi :: T
main :: IO ()
module Haskore.Interface.CSound.Score
type T = [Statement]
data Statement
Tempo :: Bpm -> Statement
Note :: Instrument -> StartTime -> Duration -> Pch -> Volume -> [PField] -> Statement
Table :: Table -> CreatTime -> TableSize -> Normalize -> T -> Statement
type Bpm = Int
type StartTime = Time
type Duration = Time
data Pch
AbsPch :: Absolute -> Pch
Cps :: Float -> Pch
type Volume = Float
type Table = Int
type CreatTime = Time
type TableSize = Int
type Normalize = Bool
square :: Table -> Statement
sawtooth :: Table -> Statement
triangle :: Table -> Statement
whiteNoise :: Table -> Statement
simpleSine :: Table -> Statement
compSine :: Table -> [PStrength] -> Statement
fromPerformanceBE :: (C time, Num time) => (time -> Time) -> T time T -> T
saveIA :: T -> IO ()
fromRhythmicMusic :: (RealFrac time, C time, RealFrac dyn, Ord drum, Ord instr) => Tables -> (SoundTable drum, SoundTable instr, T time dyn (Note drum instr), T drum instr) -> T
type Tables = T
fromRhythmicPerformance :: (RealFrac time, C time, RealFrac dyn, Ord drum, Ord instr) => SoundTable drum -> SoundTable instr -> T time dyn (Note drum instr) -> T
fromRhythmicPerformanceMap :: (RealFrac time, C time, RealFrac dyn) => ToSound drum -> ToSound instr -> T time dyn (Note drum instr) -> T
fromRhythmicPerformanceWithAttributes :: (RealFrac time, C time, RealFrac dyn) => DrumTableWithAttributes out drum -> InstrumentTableWithAttributes out instr -> T time dyn (Note drum instr) -> T
noteToStatement :: (time -> Time) -> time -> time -> T -> Statement
save :: FilePath -> T -> IO ()
toString :: T -> String
statementToString :: Statement -> String
statementToWords :: Statement -> [String]
pchToString :: Pch -> String
instance Show Pch
instance Show Statement
module Haskore.Interface.CSound.Tutorial
pureToneTN :: Table
pureToneTable :: SigExp
pureTone :: Statement
oscPure :: SigExp -> SigExp -> SigExp
type TutMelody params = T (TutAttr params)
data TutAttr params
TutAttr :: Rational -> params -> TutAttr params
attrVelocity :: TutAttr params -> Rational
attrParameters :: TutAttr params -> params
tune1 :: TutMelody ()
data Instrument
Instr1p0 :: Instrument
Instr2p0 :: Instrument
Instr1p2 :: Float -> Float -> Instrument
Instr1p4 :: Float -> Float -> Float -> Float -> Instrument
musicFromMelody :: (params -> Instrument) -> TutMelody params -> T () Instrument
type Pair = (Float, Float)
type Quadruple = (Float, Float, Float, Float)
attrToInstr1p0 :: () -> Instrument
attrToInstr2p0 :: () -> Instrument
attrToInstr1p2 :: Pair -> Instrument
attrToInstr1p4 :: Quadruple -> Instrument
performanceFromMusic :: T () Instrument -> T Float Float (Note () Instrument)
type TutOrchestra out = (Header, InstrumentTableWithAttributes out Instrument)
instrNum2 :: Instrument
instrNum1 :: Instrument
instrAssoc1p0 :: InstrumentSigExp out -> InstrumentAssociation out Instrument
instrAssoc2p0 :: InstrumentSigExp out -> InstrumentAssociation out Instrument
instrAssoc1p2 :: (SigExp -> SigExp -> InstrumentSigExp out) -> InstrumentAssociation out Instrument
instrAssoc1p4 :: (SigExp -> SigExp -> SigExp -> SigExp -> InstrumentSigExp out) -> InstrumentAssociation out Instrument
scored :: TutOrchestra out -> (params -> Instrument) -> TutMelody params -> T
example :: Name -> (TutOrchestra out -> T) -> TutOrchestra out -> (Name, T, TutOrchestra out)
oe1 :: InstrumentSigExp Mono
hdr :: Header
o2 :: TutOrchestra Mono
o3 :: TutOrchestra Mono
o4 :: TutOrchestra Mono
o7 :: TutOrchestra Mono
o8 :: TutOrchestra Mono
o9 :: TutOrchestra Mono
o13 :: TutOrchestra Mono
o14 :: TutOrchestra Mono
o15 :: TutOrchestra Mono
o19 :: TutOrchestra Mono
o22 :: TutOrchestra Mono
o1 :: TutOrchestra Mono
o6 :: TutOrchestra Stereo
o10 :: TutOrchestra Stereo
o11 :: TutOrchestra Stereo
o12 :: TutOrchestra Stereo
o16 :: TutOrchestra Stereo
o17 :: TutOrchestra Stereo
o18 :: TutOrchestra Stereo
o20 :: TutOrchestra Stereo
o21 :: TutOrchestra Stereo
o5 :: TutOrchestra Stereo
tut2 :: (Name, T, TutOrchestra Mono)
tut3 :: (Name, T, TutOrchestra Mono)
tut4 :: (Name, T, TutOrchestra Mono)
tut7 :: (Name, T, TutOrchestra Mono)
tut8 :: (Name, T, TutOrchestra Mono)
tut9 :: (Name, T, TutOrchestra Mono)
tut13 :: (Name, T, TutOrchestra Mono)
tut14 :: (Name, T, TutOrchestra Mono)
tut15 :: (Name, T, TutOrchestra Mono)
tut19 :: (Name, T, TutOrchestra Mono)
tut22 :: (Name, T, TutOrchestra Mono)
tut1 :: (Name, T, TutOrchestra Mono)
tut6 :: (Name, T, TutOrchestra Stereo)
tut10 :: (Name, T, TutOrchestra Stereo)
tut11 :: (Name, T, TutOrchestra Stereo)
tut12 :: (Name, T, TutOrchestra Stereo)
tut16 :: (Name, T, TutOrchestra Stereo)
tut17 :: (Name, T, TutOrchestra Stereo)
tut18 :: (Name, T, TutOrchestra Stereo)
tut20 :: (Name, T, TutOrchestra Stereo)
tut21 :: (Name, T, TutOrchestra Stereo)
tut5 :: (Name, T, TutOrchestra Stereo)
score2 :: TutOrchestra out -> [Statement]
score3 :: TutOrchestra out -> [Statement]
score4 :: TutOrchestra out -> [Statement]
score5 :: TutOrchestra out -> [Statement]
score6 :: TutOrchestra out -> [Statement]
score7 :: TutOrchestra out -> [Statement]
score8 :: TutOrchestra out -> [Statement]
score9 :: TutOrchestra out -> [Statement]
score1 :: TutOrchestra out -> [Statement]
csoundDir :: Name
twoHarmsTN :: Table
twoHarms :: Statement
oe2 :: InstrumentSigExp Mono
manySinesTN :: Table
manySinesTable :: SigExp
manySines :: Statement
lineCS :: EvalRate -> SigExp -> SigExp -> SigExp -> SigExp
oe3 :: InstrumentSigExp Mono
oe4 :: InstrumentSigExp Mono
coolEnvTN :: Table
coolEnvTable :: SigExp
coolEnv :: Statement
oscCoolEnv :: SigExp -> SigExp -> SigExp
tune2 :: TutMelody Pair
squareTN :: Table
sawtoothTN :: Table
triangleTN :: Table
squareT :: Statement
sawtoothT :: Statement
triangleT :: Statement
oe5 :: SigExp -> SigExp -> InstrumentSigExp Stereo
oe6 :: InstrumentSigExp Stereo
oe7 :: InstrumentSigExp Stereo
oe8 :: InstrumentSigExp Mono
oe9 :: InstrumentSigExp Mono
oe10 :: InstrumentSigExp Mono
oe11 :: SigExp -> SigExp -> SigExp -> SigExp -> InstrumentSigExp Stereo
cChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
gChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
dChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
emChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
quickChord :: [Dur -> TutAttr Quadruple -> TutMelody Quadruple] -> Float -> Float -> Float -> Float -> TutMelody Quadruple
tune3 :: TutMelody Quadruple
oe12 :: SigExp -> SigExp -> SigExp -> SigExp -> InstrumentSigExp Stereo
oe13 :: SigExp -> SigExp -> SigExp -> SigExp -> InstrumentSigExp Stereo
oe14 :: InstrumentSigExp Mono
oe15 :: InstrumentSigExp Mono
oe16 :: InstrumentSigExp Mono
midHumpTN :: Table
midHump :: Statement
oe17 :: InstrumentSigExp Stereo
ping :: SigExp -> SigExp -> SigExp
oe18 :: InstrumentSigExp Stereo
oe19 :: InstrumentSigExp Stereo
oe20 :: InstrumentSigExp Mono
oe21 :: SigExp -> SigExp -> SigExp -> SigExp -> InstrumentSigExp Stereo
highPass :: EvalRate -> SigExp -> SigExp -> SigExp
lowPass :: EvalRate -> SigExp -> SigExp -> SigExp
oe22 :: InstrumentSigExp Stereo
oe23 :: InstrumentSigExp Mono
test :: Output out => (Name, T, TutOrchestra out) -> IO ExitCode
toOrchestra :: Output out => TutOrchestra out -> T out
play :: Output out => FilePath -> (Name, T, TutOrchestra out) -> IO ExitCode
reedy :: (Name, T, TutOrchestra Mono)
flute :: (Name, T, TutOrchestra Mono)
piano :: (Name, T, TutOrchestra Mono)
reedyOrc :: TutOrchestra Mono
fluteOrc :: TutOrchestra Mono
pianoOrc :: TutOrchestra Mono
reedyScore :: TutOrchestra out -> T
fluteScore :: TutOrchestra out -> T
pianoScore :: TutOrchestra out -> T
reedyEnv :: Statement
fluteEnv :: Statement
pianoWave :: Statement
reedyWave :: Statement
fluteWave :: Statement
pianoEnv :: Statement
reedyEnvTN :: Table
fluteEnvTN :: Table
pianoWaveTN :: Table
reedyWaveTN :: Table
fluteWaveTN :: Table
pianoEnvTN :: Table
reedyEnvTable :: SigExp
fluteEnvTable :: SigExp
pianoWaveTable :: SigExp
reedyWaveTable :: SigExp
fluteWaveTable :: SigExp
pianoEnvTable :: SigExp
pianoOE :: InstrumentSigExp Mono
reedyOE :: InstrumentSigExp Mono
reedy2OE :: InstrumentSigExp Stereo
reedy2Orc :: TutOrchestra Stereo
reedy2 :: (Name, T, TutOrchestra Stereo)
fluteTune :: TutMelody Pair
fluteOE :: SigExp -> SigExp -> InstrumentSigExp Mono
voice' :: SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp
data Phoneme
Eee :: Phoneme
Ihh :: Phoneme
Ehh :: Phoneme
Aaa :: Phoneme
Ahh :: Phoneme
Aww :: Phoneme
Ohh :: Phoneme
Uhh :: Phoneme
Uuu :: Phoneme
Ooo :: Phoneme
Rrr :: Phoneme
Lll :: Phoneme
Mmm :: Phoneme
Nnn :: Phoneme
Nng :: Phoneme
Ngg :: Phoneme
Fff :: Phoneme
Sss :: Phoneme
Thh :: Phoneme
Shh :: Phoneme
Xxx :: Phoneme
Hee :: Phoneme
Hoo :: Phoneme
Hah :: Phoneme
Bbb :: Phoneme
Ddd :: Phoneme
Jjj :: Phoneme
Ggg :: Phoneme
Vvv :: Phoneme
Zzz :: Phoneme
Thz :: Phoneme
Zhh :: Phoneme
voiceTune :: TutMelody Pair
voiceWaveTN :: Table
voiceVibWaveTN :: Table
voiceWaveTable :: SigExp
voiceVibWaveTable :: SigExp
voiceVibWave :: Statement
voiceWave :: Statement
voiceScore :: TutOrchestra out -> T
voiceOE :: SigExp -> SigExp -> InstrumentSigExp Mono
voiceOrc :: TutOrchestra Mono
voice :: (Name, T, TutOrchestra Mono)
instance Show Phoneme
instance Eq Phoneme
instance Ord Phoneme
instance Enum Phoneme
instance Eq Instrument
instance Ord Instrument
instance Show Instrument
module Haskore.Interface.CSound.TutorialCustom
lineCS :: EvalRate -> SigExp -> SigExp -> SigExp -> SigExp
pureToneTN :: Table
pureToneTable :: SigExp
pureTone :: Statement
oscPure :: SigExp -> SigExp -> SigExp
type TutMelody params = T (TutAttr params)
data TutAttr params
TutAttr :: Rational -> params -> TutAttr params
attrVelocity :: TutAttr params -> Rational
attrParameters :: TutAttr params -> params
tune1 :: TutMelody ()
data Instrument
Instr1p0 :: Instrument
Instr2p0 :: Instrument
Instr1p2 :: Float -> Float -> Instrument
Instr1p4 :: Float -> Float -> Float -> Float -> Instrument
musicFromMelody :: (params -> Instrument) -> TutMelody params -> T () Instrument
type Pair = (Float, Float)
type Quadruple = (Float, Float, Float, Float)
attrToInstr1p0 :: () -> Instrument
attrToInstr2p0 :: () -> Instrument
attrToInstr1p2 :: Pair -> Instrument
attrToInstr1p4 :: Quadruple -> Instrument
performanceFromMusic :: T () Instrument -> T Float Float (Note () Instrument)
instrNum2 :: Instrument
instrNum1 :: Instrument
instrToNum :: Instrument -> ([PField], Instrument)
scoreFromPerformance :: TutOrchestra out -> T Float Float (Note () Instrument) -> T
data OutFunc out
OutFunc0 :: out -> OutFunc out
OutFunc2 :: (SigExp -> SigExp -> out) -> OutFunc out
OutFunc4 :: (SigExp -> SigExp -> SigExp -> SigExp -> out) -> OutFunc out
type TutOrchestra out = (Header, [(Instrument, OutFunc out)])
matchInstrOutFunc :: Instrument -> OutFunc out -> Bool
scoreFromPerformanceSafe :: TutOrchestra out -> T Float Float (Note () Instrument) -> T
scored :: TutOrchestra out -> (params -> Instrument) -> TutMelody params -> T
example :: Name -> (TutOrchestra out -> T) -> TutOrchestra out -> (Name, T, TutOrchestra out)
oe1 :: Mono
hdr :: Header
o2 :: TutOrchestra Mono
o3 :: TutOrchestra Mono
o4 :: TutOrchestra Mono
o7 :: TutOrchestra Mono
o8 :: TutOrchestra Mono
o9 :: TutOrchestra Mono
o13 :: TutOrchestra Mono
o14 :: TutOrchestra Mono
o15 :: TutOrchestra Mono
o19 :: TutOrchestra Mono
o22 :: TutOrchestra Mono
o1 :: TutOrchestra Mono
o6 :: TutOrchestra Stereo
o10 :: TutOrchestra Stereo
o11 :: TutOrchestra Stereo
o12 :: TutOrchestra Stereo
o16 :: TutOrchestra Stereo
o17 :: TutOrchestra Stereo
o18 :: TutOrchestra Stereo
o20 :: TutOrchestra Stereo
o21 :: TutOrchestra Stereo
o5 :: TutOrchestra Stereo
tut2 :: (Name, T, TutOrchestra Mono)
tut3 :: (Name, T, TutOrchestra Mono)
tut4 :: (Name, T, TutOrchestra Mono)
tut7 :: (Name, T, TutOrchestra Mono)
tut8 :: (Name, T, TutOrchestra Mono)
tut9 :: (Name, T, TutOrchestra Mono)
tut13 :: (Name, T, TutOrchestra Mono)
tut14 :: (Name, T, TutOrchestra Mono)
tut15 :: (Name, T, TutOrchestra Mono)
tut19 :: (Name, T, TutOrchestra Mono)
tut22 :: (Name, T, TutOrchestra Mono)
tut1 :: (Name, T, TutOrchestra Mono)
tut6 :: (Name, T, TutOrchestra Stereo)
tut10 :: (Name, T, TutOrchestra Stereo)
tut11 :: (Name, T, TutOrchestra Stereo)
tut12 :: (Name, T, TutOrchestra Stereo)
tut16 :: (Name, T, TutOrchestra Stereo)
tut17 :: (Name, T, TutOrchestra Stereo)
tut18 :: (Name, T, TutOrchestra Stereo)
tut20 :: (Name, T, TutOrchestra Stereo)
tut21 :: (Name, T, TutOrchestra Stereo)
tut5 :: (Name, T, TutOrchestra Stereo)
score2 :: TutOrchestra out -> [Statement]
score3 :: TutOrchestra out -> [Statement]
score4 :: TutOrchestra out -> [Statement]
score5 :: TutOrchestra out -> [Statement]
score6 :: TutOrchestra out -> [Statement]
score7 :: TutOrchestra out -> [Statement]
score8 :: TutOrchestra out -> [Statement]
score9 :: TutOrchestra out -> [Statement]
score1 :: TutOrchestra out -> [Statement]
csoundDir :: Name
twoHarmsTN :: Table
twoHarms :: Statement
oe2 :: Mono
manySinesTN :: Table
manySinesTable :: SigExp
manySines :: Statement
oe3 :: Mono
oe4 :: Mono
coolEnvTN :: Table
coolEnvTable :: SigExp
coolEnv :: Statement
oscCoolEnv :: SigExp -> SigExp -> SigExp
tune2 :: TutMelody Pair
squareTN :: Table
sawtoothTN :: Table
triangleTN :: Table
squareT :: Statement
sawtoothT :: Statement
triangleT :: Statement
oe5 :: SigExp -> SigExp -> Stereo
oe6 :: Stereo
oe7 :: Stereo
oe8 :: Mono
oe9 :: Mono
oe10 :: Mono
oe11 :: SigExp -> SigExp -> SigExp -> SigExp -> Stereo
cChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
gChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
dChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
emChord :: Float -> Float -> Float -> Float -> TutMelody Quadruple
quickChord :: [Dur -> TutAttr Quadruple -> TutMelody Quadruple] -> Float -> Float -> Float -> Float -> TutMelody Quadruple
tune3 :: TutMelody Quadruple
oe12 :: SigExp -> SigExp -> SigExp -> SigExp -> Stereo
oe13 :: SigExp -> SigExp -> SigExp -> SigExp -> Stereo
oe14 :: Mono
oe15 :: Mono
oe16 :: Mono
midHumpTN :: Table
midHump :: Statement
oe17 :: Stereo
ping :: SigExp
oe18 :: Stereo
oe19 :: Stereo
oe20 :: Mono
oe21 :: SigExp -> SigExp -> SigExp -> SigExp -> Stereo
highPass :: EvalRate -> SigExp -> SigExp -> SigExp
lowPass :: EvalRate -> SigExp -> SigExp -> SigExp
oe22 :: Stereo
oe23 :: Mono
test :: Output out => (Name, T, TutOrchestra out) -> IO ExitCode
applyOutFunc :: OutFunc out -> out
toOrchestra :: Output out => TutOrchestra out -> T out
play :: Output out => FilePath -> (Name, T, TutOrchestra out) -> IO ExitCode
reedy :: (Name, T, TutOrchestra Mono)
flute :: (Name, T, TutOrchestra Mono)
piano :: (Name, T, TutOrchestra Mono)
reedyOrc :: TutOrchestra Mono
fluteOrc :: TutOrchestra Mono
pianoOrc :: TutOrchestra Mono
reedyScore :: TutOrchestra out -> T
fluteScore :: TutOrchestra out -> T
pianoScore :: TutOrchestra out -> T
reedyEnv :: Statement
fluteEnv :: Statement
pianoWave :: Statement
reedyWave :: Statement
fluteWave :: Statement
pianoEnv :: Statement
reedyEnvTN :: Table
fluteEnvTN :: Table
pianoWaveTN :: Table
reedyWaveTN :: Table
fluteWaveTN :: Table
pianoEnvTN :: Table
reedyEnvTable :: SigExp
fluteEnvTable :: SigExp
pianoWaveTable :: SigExp
reedyWaveTable :: SigExp
fluteWaveTable :: SigExp
pianoEnvTable :: SigExp
pianoOE :: Mono
reedyOE :: Mono
reedy2OE :: Stereo
reedy2Orc :: TutOrchestra Stereo
reedy2 :: (Name, T, TutOrchestra Stereo)
fluteTune :: TutMelody Pair
fluteOE :: SigExp -> SigExp -> Mono
voice' :: SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp -> SigExp
data Phoneme
Eee :: Phoneme
Ihh :: Phoneme
Ehh :: Phoneme
Aaa :: Phoneme
Ahh :: Phoneme
Aww :: Phoneme
Ohh :: Phoneme
Uhh :: Phoneme
Uuu :: Phoneme
Ooo :: Phoneme
Rrr :: Phoneme
Lll :: Phoneme
Mmm :: Phoneme
Nnn :: Phoneme
Nng :: Phoneme
Ngg :: Phoneme
Fff :: Phoneme
Sss :: Phoneme
Thh :: Phoneme
Shh :: Phoneme
Xxx :: Phoneme
Hee :: Phoneme
Hoo :: Phoneme
Hah :: Phoneme
Bbb :: Phoneme
Ddd :: Phoneme
Jjj :: Phoneme
Ggg :: Phoneme
Vvv :: Phoneme
Zzz :: Phoneme
Thz :: Phoneme
Zhh :: Phoneme
voiceTune :: TutMelody Pair
voiceWaveTN :: Table
voiceVibWaveTN :: Table
voiceWaveTable :: SigExp
voiceVibWaveTable :: SigExp
voiceVibWave :: Statement
voiceWave :: Statement
voiceScore :: TutOrchestra out -> T
voiceOE :: SigExp -> SigExp -> Mono
voiceOrc :: TutOrchestra Mono
voice :: (Name, T, TutOrchestra Mono)
instance Show Phoneme
instance Eq Phoneme
instance Ord Phoneme
instance Enum Phoneme
instance Eq Instrument
instance Ord Instrument
instance Show Instrument