Safe Haskell | Safe |
---|---|
Language | Haskell98 |
- fromJust_err :: String -> Maybe a -> a
- near_rat :: Double -> Rational
- data Instrument_Family
- instrument_family_set :: [Instrument_Family]
- data Instrument_Name
- instrument_family :: Instrument_Name -> Maybe Instrument_Family
- instrument_name_pp :: Instrument_Name -> String
- instrument_name_clef :: Integral i => Instrument_Name -> Clef i
- instrument_name_clef_plain :: Integral i => Instrument_Name -> Clef i
- data Scale
- type Octave = Integer
- type Degree = Integer
- type Frequency = Double
- type Annotation = String
- data Pitch = Pitch {}
- pitch_pp_ascii :: Pitch -> String
- pitch_pp_duple :: Pitch -> String
- data Note = Note {
- note_scale :: Scale
- note_pitch :: Pitch
- note_degree :: Note -> Degree
- data Tone = Tone {}
- tone_frequency_err :: Tone -> Frequency
- plain_tone :: Instrument_Name -> Scale -> Octave -> Degree -> Tone
- tone_equivalent :: Tone -> Tone -> Bool
- tone_24et_pitch :: Tone -> Maybe Pitch
- tone_24et_pitch' :: Tone -> Pitch
- tone_24et_pitch_detune :: Tone -> Maybe Pitch_Detune
- tone_24et_pitch_detune' :: Tone -> Pitch_Detune
- tone_fmidi :: Tone -> Double
- tone_24et_fmidi :: Tone -> Rational
- tone_12et_pitch :: Tone -> Maybe Pitch
- tone_12et_pitch' :: Tone -> Pitch
- tone_12et_pitch_detune :: Tone -> Maybe Pitch_Detune
- tone_12et_pitch_detune' :: Tone -> Pitch_Detune
- tone_12et_fmidi :: Tone -> Rational
- tone_family :: Tone -> Maybe Instrument_Family
- tone_family_err :: Tone -> Instrument_Family
- tone_in_family :: Instrument_Family -> Tone -> Bool
- select_tones :: Instrument_Family -> [Tone] -> [Maybe Tone]
- type Tone_Subset = ([Instrument_Family], [Scale])
- tone_subset :: Tone_Subset -> Tone_Set -> Tone_Set
- data Instrument = Instrument {}
- type Tone_Set = [Tone]
- type Tone_Group = [Tone_Set]
- type Gamelan = [Instrument]
- tone_scale :: Tone -> Maybe Scale
- tone_pitch :: Tone -> Maybe Pitch
- tone_degree :: Tone -> Maybe Degree
- tone_degree' :: Tone -> Degree
- tone_octave :: Tone -> Maybe Octave
- tone_class :: Tone -> (Instrument_Name, Maybe Scale)
- instrument_class :: Instrument -> (Instrument_Name, Maybe Scale)
- tone_class_p :: (Instrument_Name, Scale) -> Tone -> Bool
- tone_family_class_p :: (Instrument_Family, Scale) -> Tone -> Bool
- tone_set_near_frequency :: Tone_Set -> Cents -> Frequency -> Tone_Set
- tone_compare_frequency :: Tone -> Tone -> Ordering
- map_maybe_uniform :: (a -> Maybe b) -> [a] -> Maybe [b]
- instrument :: Tone_Set -> Instrument
- instruments :: Tone_Set -> [Instrument]
- instrument_gamut :: Instrument -> Maybe (Pitch, Pitch)
- scale_degrees :: Scale -> [Degree]
- degree_index :: Scale -> Degree -> Maybe Int
- tone_set_gamut :: Tone_Set -> Maybe (Pitch, Pitch)
- tone_set_instrument :: Tone_Set -> (Instrument_Name, Maybe Scale) -> Tone_Set
Documentation
Gamelan
data Instrument_Family Source #
Enumeration of gamelan instrument families.
instrument_family_set :: [Instrument_Family] Source #
Universe
data Instrument_Name Source #
Enumeration of Gamelan instruments.
Bonang_Barung | Bonang Barung (horizontal gong, middle) |
Bonang_Panerus | Bonang Panerus (horizontal gong, high) |
Gender_Barung | Gender Barung (key&resonator, middle) |
Gender_Panerus | Gender Panembung (key&resonator, high) |
Gender_Panembung | Gender Panembung, Slenthem (key&resonator, low) |
Gong_Ageng | Gong Ageng (hanging gong, low) |
Gong_Suwukan | Gong Suwukan (hanging gong, middle) |
Kempul | Kempul (hanging gong, middle) |
Kempyang | Kempyang (horizontal gong, high) |
Kenong | Kenong (horizontal gong, low) |
Ketuk | Ketuk (horizontal gong, middle) |
Saron_Barung | Saron Barung, Saron (key, middle) |
Saron_Demung | Saron Demung, Demung (key, low) |
Saron_Panerus | Saron Panerus, Peking (key, high) |
instrument_name_clef :: Integral i => Instrument_Name -> Clef i Source #
Clef
appropriate for Instrument_Name
.
instrument_name_clef_plain :: Integral i => Instrument_Name -> Clef i Source #
Enumeration of Gamelan scales.
type Annotation = String Source #
pitch_pp_ascii :: Pitch -> String Source #
pitch_pp_duple :: Pitch -> String Source #
Note | |
|
note_degree :: Note -> Degree Source #
tone_frequency_err :: Tone -> Frequency Source #
plain_tone :: Instrument_Name -> Scale -> Octave -> Degree -> Tone Source #
Constructor for Tone
without frequency or annotation.
tone_equivalent :: Tone -> Tone -> Bool Source #
Tones are considered equivalent if they have the same
Instrument_Name
and Note
.
tone_24et_pitch' :: Tone -> Pitch Source #
tone_fmidi :: Tone -> Double Source #
tone_12et_pitch' :: Tone -> Pitch Source #
tone_family :: Tone -> Maybe Instrument_Family Source #
tone_in_family :: Instrument_Family -> Tone -> Bool Source #
select_tones :: Instrument_Family -> [Tone] -> [Maybe Tone] Source #
type Tone_Subset = ([Instrument_Family], [Scale]) Source #
Specify subset as list of families and scales.
tone_subset :: Tone_Subset -> Tone_Set -> Tone_Set Source #
Extract subset of Tone_Set
.
data Instrument Source #
type Tone_Group = [Tone_Set] Source #
type Gamelan = [Instrument] Source #
tone_degree' :: Tone -> Degree Source #
tone_class :: Tone -> (Instrument_Name, Maybe Scale) Source #
instrument_class :: Instrument -> (Instrument_Name, Maybe Scale) Source #
tone_class_p :: (Instrument_Name, Scale) -> Tone -> Bool Source #
tone_family_class_p :: (Instrument_Family, Scale) -> Tone -> Bool Source #
map_maybe_uniform :: (a -> Maybe b) -> [a] -> Maybe [b] Source #
instrument :: Tone_Set -> Instrument Source #
instruments :: Tone_Set -> [Instrument] Source #
instrument_gamut :: Instrument -> Maybe (Pitch, Pitch) Source #
scale_degrees :: Scale -> [Degree] Source #
Tone set
tone_set_instrument :: Tone_Set -> (Instrument_Name, Maybe Scale) -> Tone_Set Source #