-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Haskell Music Theory
--
-- Haskell music theory library
@package hmt
@version 0.3
module Music.Theory.Tuning
type Approximate_Ratio = Double
type Cents = Double
-- | Harmonic series (folded)
harmonic_series_folded :: Integer -> [Rational]
-- | Pythagorean tuning
pythagorean_r :: [Rational]
-- | Pythagorean tuning
pythagorean_c :: [Cents]
-- | Werckmeister III, Andreas Werckmeister (1645-1706)
werckmeister_iii_ar :: [Approximate_Ratio]
-- | Werckmeister III, Andreas Werckmeister (1645-1706)
werckmeister_iii_c :: [Cents]
-- | Werckmeister IV, Andreas Werckmeister (1645-1706)
werckmeister_iv_ar :: [Approximate_Ratio]
-- | Werckmeister IV, Andreas Werckmeister (1645-1706)
werckmeister_iv_c :: [Cents]
-- | Werckmeister V, Andreas Werckmeister (1645-1706)
werckmeister_v_ar :: [Approximate_Ratio]
-- | Werckmeister V, Andreas Werckmeister (1645-1706)
werckmeister_v_c :: [Cents]
-- | Werckmeister VI, Andreas Werckmeister (1645-1706)
werckmeister_vi_r :: [Rational]
-- | Werckmeister VI, Andreas Werckmeister (1645-1706)
werckmeister_vi_c :: [Cents]
-- | Pietro Aaron (1523) - Meantone temperament
pietro_aaron_1523_c :: [Cents]
-- | Thomas Young (1799) - Well Temperament
thomas_young_1799_c :: [Cents]
-- | Five-limit tuning
five_limit_tuning_r :: [Rational]
five_limit_tuning_c :: [Cents]
equal_temperament_c :: [Cents]
mk_isomorphic_layout :: Integral a => a -> a -> (a, a) -> [[(a, a)]]
rank_two_regular_temperament :: Integral a => a -> a -> [(a, a)] -> [a]
mk_syntonic_tuning :: Int -> [Cents]
syntonic_697_c :: [Cents]
syntonic_702_c :: [Cents]
syntonic_comma :: Rational
pythagorean_comma :: Rational
mercators_comma :: Rational
approximate_ratio :: Rational -> Approximate_Ratio
to_cents :: Approximate_Ratio -> Cents
nth_root :: Floating a => a -> a -> a
twelve_tone_equal_temperament_comma :: Floating a => a
minimal_isomorphic_note_layout :: [[(Int, Int)]]
module Music.Theory.Pitch
type PitchClass = Integer
type Octave = Integer
data Note_T
C :: Note_T
D :: Note_T
E :: Note_T
F :: Note_T
G :: Note_T
A :: Note_T
B :: Note_T
data Alteration_T
DoubleFlat :: Alteration_T
ThreeQuarterToneFlat :: Alteration_T
Flat :: Alteration_T
QuarterToneFlat :: Alteration_T
Natural :: Alteration_T
QuarterToneSharp :: Alteration_T
Sharp :: Alteration_T
ThreeQuarterToneSharp :: Alteration_T
DoubleSharp :: Alteration_T
data Pitch
Pitch :: Note_T -> Alteration_T -> Octave -> Pitch
note :: Pitch -> Note_T
alteration :: Pitch -> Alteration_T
octave :: Pitch -> Octave
note_to_pc :: Note_T -> Integer
alteration_to_diff :: Alteration_T -> Integer
alteration_to_fdiff :: Alteration_T -> Double
pitch_to_octpc :: Pitch -> (Octave, PitchClass)
pitch_to_midi :: Pitch -> Integer
pitch_to_fmidi :: Pitch -> Double
pitch_to_pc :: Pitch -> PitchClass
pitch_compare :: Pitch -> Pitch -> Ordering
octpc_to_pitch :: (Octave, PitchClass) -> Pitch
octpc_nrm :: (Octave, PitchClass) -> (Octave, PitchClass)
octpc_trs :: Integer -> (Octave, PitchClass) -> (Octave, PitchClass)
octpc_to_midi :: (Octave, PitchClass) -> Integer
midi_to_octpc :: Integer -> (Octave, PitchClass)
pitch_edit_octave :: (Integer -> Integer) -> Pitch -> Pitch
note_t_transpose :: Note_T -> Int -> Note_T
instance Eq Note_T
instance Ord Note_T
instance Enum Note_T
instance Bounded Note_T
instance Show Note_T
instance Eq Alteration_T
instance Ord Alteration_T
instance Enum Alteration_T
instance Show Alteration_T
instance Eq Pitch
instance Show Pitch
instance Ord Pitch
module Music.Theory.Pitch.Name
d1 :: Pitch
e1 :: Pitch
f1 :: Pitch
g1 :: Pitch
a1 :: Pitch
b1 :: Pitch
c1 :: Pitch
des1 :: Pitch
ees1 :: Pitch
fes1 :: Pitch
ges1 :: Pitch
aes1 :: Pitch
bes1 :: Pitch
ces1 :: Pitch
dis1 :: Pitch
eis1 :: Pitch
fis1 :: Pitch
gis1 :: Pitch
ais1 :: Pitch
bis1 :: Pitch
cis1 :: Pitch
d2 :: Pitch
e2 :: Pitch
f2 :: Pitch
g2 :: Pitch
a2 :: Pitch
b2 :: Pitch
c2 :: Pitch
des2 :: Pitch
ees2 :: Pitch
fes2 :: Pitch
ges2 :: Pitch
aes2 :: Pitch
bes2 :: Pitch
ces2 :: Pitch
dis2 :: Pitch
eis2 :: Pitch
fis2 :: Pitch
gis2 :: Pitch
ais2 :: Pitch
bis2 :: Pitch
cis2 :: Pitch
disis2 :: Pitch
eisis2 :: Pitch
fisis2 :: Pitch
gisis2 :: Pitch
aisis2 :: Pitch
bisis2 :: Pitch
cisis2 :: Pitch
d3 :: Pitch
e3 :: Pitch
f3 :: Pitch
g3 :: Pitch
a3 :: Pitch
b3 :: Pitch
c3 :: Pitch
des3 :: Pitch
ees3 :: Pitch
fes3 :: Pitch
ges3 :: Pitch
aes3 :: Pitch
bes3 :: Pitch
ces3 :: Pitch
dis3 :: Pitch
eis3 :: Pitch
fis3 :: Pitch
gis3 :: Pitch
ais3 :: Pitch
bis3 :: Pitch
cis3 :: Pitch
disis3 :: Pitch
eisis3 :: Pitch
fisis3 :: Pitch
gisis3 :: Pitch
aisis3 :: Pitch
bisis3 :: Pitch
cisis3 :: Pitch
deseh3 :: Pitch
eeseh3 :: Pitch
feseh3 :: Pitch
geseh3 :: Pitch
aeseh3 :: Pitch
beseh3 :: Pitch
ceseh3 :: Pitch
deh3 :: Pitch
eeh3 :: Pitch
feh3 :: Pitch
geh3 :: Pitch
aeh3 :: Pitch
beh3 :: Pitch
ceh3 :: Pitch
dih3 :: Pitch
eih3 :: Pitch
fih3 :: Pitch
gih3 :: Pitch
aih3 :: Pitch
bih3 :: Pitch
cih3 :: Pitch
disih3 :: Pitch
eisih3 :: Pitch
fisih3 :: Pitch
gisih3 :: Pitch
aisih3 :: Pitch
bisih3 :: Pitch
cisih3 :: Pitch
d4 :: Pitch
e4 :: Pitch
f4 :: Pitch
g4 :: Pitch
a4 :: Pitch
b4 :: Pitch
c4 :: Pitch
des4 :: Pitch
ees4 :: Pitch
fes4 :: Pitch
ges4 :: Pitch
aes4 :: Pitch
bes4 :: Pitch
ces4 :: Pitch
dis4 :: Pitch
eis4 :: Pitch
fis4 :: Pitch
gis4 :: Pitch
ais4 :: Pitch
bis4 :: Pitch
cis4 :: Pitch
deses4 :: Pitch
eeses4 :: Pitch
feses4 :: Pitch
geses4 :: Pitch
aeses4 :: Pitch
beses4 :: Pitch
ceses4 :: Pitch
disis4 :: Pitch
eisis4 :: Pitch
fisis4 :: Pitch
gisis4 :: Pitch
aisis4 :: Pitch
bisis4 :: Pitch
cisis4 :: Pitch
deseh4 :: Pitch
eeseh4 :: Pitch
feseh4 :: Pitch
geseh4 :: Pitch
aeseh4 :: Pitch
beseh4 :: Pitch
ceseh4 :: Pitch
deh4 :: Pitch
eeh4 :: Pitch
feh4 :: Pitch
geh4 :: Pitch
aeh4 :: Pitch
beh4 :: Pitch
ceh4 :: Pitch
dih4 :: Pitch
eih4 :: Pitch
fih4 :: Pitch
gih4 :: Pitch
aih4 :: Pitch
bih4 :: Pitch
cih4 :: Pitch
disih4 :: Pitch
eisih4 :: Pitch
fisih4 :: Pitch
gisih4 :: Pitch
aisih4 :: Pitch
bisih4 :: Pitch
cisih4 :: Pitch
d5 :: Pitch
e5 :: Pitch
f5 :: Pitch
g5 :: Pitch
a5 :: Pitch
b5 :: Pitch
c5 :: Pitch
des5 :: Pitch
ees5 :: Pitch
fes5 :: Pitch
ges5 :: Pitch
aes5 :: Pitch
bes5 :: Pitch
ces5 :: Pitch
dis5 :: Pitch
eis5 :: Pitch
fis5 :: Pitch
gis5 :: Pitch
ais5 :: Pitch
bis5 :: Pitch
cis5 :: Pitch
deses5 :: Pitch
eeses5 :: Pitch
feses5 :: Pitch
geses5 :: Pitch
aeses5 :: Pitch
beses5 :: Pitch
ceses5 :: Pitch
disis5 :: Pitch
eisis5 :: Pitch
fisis5 :: Pitch
gisis5 :: Pitch
aisis5 :: Pitch
bisis5 :: Pitch
cisis5 :: Pitch
deseh5 :: Pitch
eeseh5 :: Pitch
feseh5 :: Pitch
geseh5 :: Pitch
aeseh5 :: Pitch
beseh5 :: Pitch
ceseh5 :: Pitch
deh5 :: Pitch
eeh5 :: Pitch
feh5 :: Pitch
geh5 :: Pitch
aeh5 :: Pitch
beh5 :: Pitch
ceh5 :: Pitch
dih5 :: Pitch
eih5 :: Pitch
fih5 :: Pitch
gih5 :: Pitch
aih5 :: Pitch
bih5 :: Pitch
cih5 :: Pitch
disih5 :: Pitch
eisih5 :: Pitch
fisih5 :: Pitch
gisih5 :: Pitch
aisih5 :: Pitch
bisih5 :: Pitch
cisih5 :: Pitch
d6 :: Pitch
e6 :: Pitch
f6 :: Pitch
g6 :: Pitch
a6 :: Pitch
b6 :: Pitch
c6 :: Pitch
des6 :: Pitch
ees6 :: Pitch
fes6 :: Pitch
ges6 :: Pitch
aes6 :: Pitch
bes6 :: Pitch
ces6 :: Pitch
dis6 :: Pitch
eis6 :: Pitch
fis6 :: Pitch
gis6 :: Pitch
ais6 :: Pitch
bis6 :: Pitch
cis6 :: Pitch
deseh6 :: Pitch
eeseh6 :: Pitch
feseh6 :: Pitch
geseh6 :: Pitch
aeseh6 :: Pitch
beseh6 :: Pitch
ceseh6 :: Pitch
deh6 :: Pitch
eeh6 :: Pitch
feh6 :: Pitch
geh6 :: Pitch
aeh6 :: Pitch
beh6 :: Pitch
ceh6 :: Pitch
dih6 :: Pitch
eih6 :: Pitch
fih6 :: Pitch
gih6 :: Pitch
aih6 :: Pitch
bih6 :: Pitch
cih6 :: Pitch
disih6 :: Pitch
eisih6 :: Pitch
fisih6 :: Pitch
gisih6 :: Pitch
aisih6 :: Pitch
bisih6 :: Pitch
cisih6 :: Pitch
d7 :: Pitch
e7 :: Pitch
f7 :: Pitch
g7 :: Pitch
a7 :: Pitch
b7 :: Pitch
c7 :: Pitch
des7 :: Pitch
ees7 :: Pitch
fes7 :: Pitch
ges7 :: Pitch
aes7 :: Pitch
bes7 :: Pitch
ces7 :: Pitch
dis7 :: Pitch
eis7 :: Pitch
fis7 :: Pitch
gis7 :: Pitch
ais7 :: Pitch
bis7 :: Pitch
cis7 :: Pitch
module Music.Theory.Interval
data Interval_T
Unison :: Interval_T
Second :: Interval_T
Third :: Interval_T
Fourth :: Interval_T
Fifth :: Interval_T
Sixth :: Interval_T
Seventh :: Interval_T
data Interval_Q
Diminished :: Interval_Q
Minor :: Interval_Q
Perfect :: Interval_Q
Major :: Interval_Q
Augmented :: Interval_Q
data Interval
Interval :: Interval_T -> Interval_Q -> Ordering -> Octave -> Interval
interval_type :: Interval -> Interval_T
interval_quality :: Interval -> Interval_Q
interval_direction :: Interval -> Ordering
interval_octave :: Interval -> Octave
interval_ty :: Note_T -> Note_T -> Interval_T
interval_q_tbl :: [(Interval_T, [(Int, Interval_Q)])]
interval_q :: Interval_T -> Int -> Maybe Interval_Q
note_span :: Note_T -> Note_T -> [Note_T]
invert_ordering :: Ordering -> Ordering
interval :: Pitch -> Pitch -> Interval
invert_interval :: Interval -> Interval
quality_difference :: Interval_Q -> Interval_Q -> Int
transpose :: Interval -> Pitch -> Pitch
circle_of_fifths :: Pitch -> ([Pitch], [Pitch])
instance Eq Interval_T
instance Ord Interval_T
instance Enum Interval_T
instance Show Interval_T
instance Eq Interval_Q
instance Ord Interval_Q
instance Enum Interval_Q
instance Show Interval_Q
instance Eq Interval
instance Show Interval
module Music.Theory.Key
data Mode_T
Minor_Mode :: Mode_T
Major_Mode :: Mode_T
key_fifths :: (Note_T, Alteration_T, Mode_T) -> Int
instance Eq Mode_T
instance Ord Mode_T
instance Show Mode_T
module Music.Theory.Spelling
pc_spell_natural :: PitchClass -> (Note_T, Alteration_T)
pc_spell_ks :: PitchClass -> (Note_T, Alteration_T)
pc_spell_sharp :: PitchClass -> (Note_T, Alteration_T)
pc_spell_flat :: PitchClass -> (Note_T, Alteration_T)
i_to_interval :: Int -> Interval
interval_simplify :: Interval -> Interval
module Music.Theory.Duration
data Duration
Duration :: Integer -> Integer -> Rational -> Duration
division :: Duration -> Integer
dots :: Duration -> Integer
multiplier :: Duration -> Rational
-- | Duration annotations
data D_Annotation
Tie_Right :: D_Annotation
Tie_Left :: D_Annotation
Begin_Tuplet :: (Integer, Integer, Duration) -> D_Annotation
End_Tuplet :: D_Annotation
whole_note :: Duration
half_note :: Duration
quarter_note :: Duration
eighth_note :: Duration
sixteenth_note :: Duration
thirtysecond_note :: Duration
breve :: Duration
dotted_whole_note :: Duration
dotted_half_note :: Duration
dotted_quarter_note :: Duration
dotted_eighth_note :: Duration
dotted_sixteenth_note :: Duration
dotted_thirtysecond_note :: Duration
dotted_breve :: Duration
double_dotted_whole_note :: Duration
double_dotted_half_note :: Duration
double_dotted_quarter_note :: Duration
double_dotted_eighth_note :: Duration
double_dotted_sixteenth_note :: Duration
double_dotted_thirtysecond_note :: Duration
double_dotted_breve :: Duration
duration_compare :: Duration -> Duration -> Ordering
-- | Compare durations with equal multipliers.
duration_compare_meq :: Duration -> Duration -> Ordering
sort_pair :: (t -> t -> Ordering) -> (t, t) -> (t, t)
-- | True if neither duration is dotted.
no_dots :: (Duration, Duration) -> Bool
-- | Sum undotted divisions, input is required to be sorted.
sum_dur_undotted :: (Integer, Integer) -> Maybe Duration
-- | Sum dotted divisions, input is required to be sorted.
sum_dur_dotted :: (Integer, Integer, Integer, Integer) -> Maybe Duration
-- | Sum durations. Not all durations can be summed, and the present
-- algorithm is not exhaustive.
sum_dur :: Duration -> Duration -> Maybe Duration
sum_dur' :: Duration -> Duration -> Duration
-- | Rational number of quarter notes to duration value. It is a mistake to
-- hope this could handle tuplets directly, ie. a 3:2 dotted note will be
-- of the same duration as a plain undotted note.
rq_to_duration :: Rational -> Maybe Duration
-- | Convert a whole note division integer to a RQ.
whole_note_division_to_rq :: Integer -> Rational
-- | Apply d dots to the duration n.
rq_apply_dots :: Rational -> Integer -> Rational
-- | Convert duration to RQ value, see rq_to_duration for partial inverse.
duration_to_rq :: Duration -> Rational
whole_note_division_to_musicxml_type :: Integer -> String
duration_to_musicxml_type :: Duration -> String
duration_to_lilypond_type :: Duration -> String
whole_note_division_to_beam_count :: Integer -> Maybe Integer
duration_beam_count :: Duration -> Integer
instance Eq Duration
instance Show Duration
instance Eq D_Annotation
instance Show D_Annotation
instance Ord Duration
module Music.Theory.Duration.Name
h :: Duration
q :: Duration
e :: Duration
s :: Duration
w :: Duration
h' :: Duration
q' :: Duration
e' :: Duration
s' :: Duration
w' :: Duration
h'' :: Duration
q'' :: Duration
e'' :: Duration
s'' :: Duration
w'' :: Duration
_2 :: Duration
_4 :: Duration
_8 :: Duration
_16 :: Duration
_32 :: Duration
_1 :: Duration
_2' :: Duration
_4' :: Duration
_8' :: Duration
_16' :: Duration
_32' :: Duration
_1' :: Duration
_2'' :: Duration
_4'' :: Duration
_8'' :: Duration
_16'' :: Duration
_32'' :: Duration
_1'' :: Duration
module Music.Theory.Duration.Sequence.Notate
type Duration_A = (Duration, [D_Annotation])
notate :: [R] -> [R] -> [R] -> [Duration_A]
ascribe :: [Duration_A] -> [x] -> [(Duration_A, x)]
-- | group to n, or to multiple of
group_boundary :: (a -> R) -> [R] -> [a] -> [[a]]
module Music.Theory.Permutations
permutations :: [a] -> [[a]]
multiset_permutations :: Ord a => [a] -> [[a]]
module Music.Theory.Set
-- | Remove duplicate elements and sort.
set :: Ord a => [a] -> [a]
-- | Powerset, ie. set of all subsets.
powerset :: [a] -> [[a]]
-- | Two element subsets (cf [2] . powerset).
dyads :: [a] -> [(a, a)]
-- | Set expansion
se :: Ord a => Int -> [a] -> [[a]]
module Music.Theory.PitchClass
-- | Modulo twelve.
mod12 :: Integral a => a -> a
-- | Pitch class.
pc :: Integral a => a -> a
-- | Map to pitch-class and reduce to set.
pcset :: Integral a => [a] -> [a]
-- | Transpose by n.
tn :: Integral a => a -> [a] -> [a]
-- | Transpose so first element is n.
transposeTo :: Integral a => a -> [a] -> [a]
-- | All transpositions.
transpositions :: Integral a => [a] -> [[a]]
-- | Invert about n.
invert :: Integral a => a -> [a] -> [a]
-- | Invert about first element.
invertSelf :: Integral a => [a] -> [a]
-- | Composition of inversion about zero and transpose.
tni :: Integral a => a -> [a] -> [a]
-- | Rotate left by n places.
rotate :: Integral n => n -> [a] -> [a]
-- | Rotate right by n places.
rotate_right :: Integral n => n -> [a] -> [a]
-- | All rotations.
rotations :: [a] -> [[a]]
-- | Modulo 12 multiplication
mn :: Integral a => a -> [a] -> [a]
-- | M5
m5 :: Integral a => [a] -> [a]
all_Tn :: Integral a => [a] -> [[a]]
all_TnI :: Integral a => [a] -> [[a]]
all_RTnI :: Integral a => [a] -> [[a]]
all_rR :: Integral a => [a] -> [[a]]
all_rRTnI :: Integral a => [a] -> [[a]]
all_TnMI :: Integral a => [a] -> [[a]]
all_RTnMI :: Integral a => [a] -> [[a]]
all_rRTnMI :: Integral a => [a] -> [[a]]
-- | Serial Operator, of the form rRTMI.
data SRO a
SRO :: a -> Bool -> a -> Bool -> Bool -> SRO a
-- | Serial operation.
sro :: Integral a => SRO a -> [a] -> [a]
-- | The total set of serial operations.
sros :: Integral a => [a] -> [(SRO a, [a])]
sro_Tn :: Integral a => [SRO a]
sro_TnI :: Integral a => [SRO a]
sro_RTnI :: Integral a => [SRO a]
sro_TnMI :: Integral a => [SRO a]
sro_RTnMI :: Integral a => [SRO a]
-- | Intervals to values, zero is n.
dx_d :: Num a => a -> [a] -> [a]
-- | Integrate.
d_dx :: Num a => [a] -> [a]
-- | Morris INT operator.
int :: Integral a => [a] -> [a]
-- | Interval class.
ic :: Integral a => a -> a
-- | Elements of p not in q
difference :: Eq a => [a] -> [a] -> [a]
-- | Pitch classes not in set.
complement :: Integral a => [a] -> [a]
-- | Is p a subsequence of q.
subsequence :: Eq a => [a] -> [a] -> Bool
-- | The standard t-matrix of p.
tmatrix :: Integral a => [a] -> [[a]]
-- | Interval class vector.
icv :: Integral a => [a] -> [a]
-- | Is p a subset of q.
is_subset :: Eq a => [a] -> [a] -> Bool
-- | Is p a superset of q.
is_superset :: Eq a => [a] -> [a] -> Bool
instance Eq a => Eq (SRO a)
instance Show a => Show (SRO a)
module Music.Theory.Parse
-- | Parse a Morris format serial operator descriptor.
rnrtnmi :: String -> SRO Int
pco :: String -> [Int]
module Music.Theory.Prime
-- | Prime form rule requiring comparator.
cmp_prime :: Integral a => ([a] -> [a] -> Ordering) -> [a] -> [a]
-- | Forte prime form.
forte_prime :: Integral a => [a] -> [a]
-- | Rahn prime form (comparison is rightmost inwards).
rahn_prime :: Integral a => [a] -> [a]
-- | Binary encoding prime form algorithm, equalivalent to Rahn.
encode_prime :: (Integral a, Bits a) => [a] -> [a]
module Music.Theory.Table
-- | The set-class table (Forte prime forms).
sc_table :: Integral a => [(String, [a])]
-- | Lookup a set-class name given a set-class.
sc_name :: Integral a => [a] -> String
-- | Lookup a set-class given a set-class name.
sc :: Integral a => String -> [a]
-- | List of set classes.
scs :: Integral a => [[a]]
-- | Set class database.
sc_db :: [(String, String)]
module Music.Theory.Pct
-- | Basic interval pattern.
bip :: Integral a => [a] -> [a]
-- | Cardinality filter
cf :: Integral n => [n] -> [[a]] -> [[a]]
cgg :: [[a]] -> [[a]]
-- | Combinations generator (cg == poweset)
cg :: [a] -> [[a]]
-- | Powerset filtered by cardinality.
cg_r :: Integral n => n -> [a] -> [[a]]
-- | Cyclic interval segment.
ciseg :: Integral a => [a] -> [a]
-- | pcset complement.
cmpl :: Integral a => [a] -> [a]
-- | Form cycle.
cyc :: [a] -> [a]
-- | Diatonic implications.
dim :: Integral a => [a] -> [(a, [a])]
-- | Diatonic interval set to interval set.
dis :: Integral t => [Int] -> [t]
-- | Degree of intersection.
doi :: Integral a => Int -> [a] -> [a] -> [[a]]
-- | Forte name.
fn :: Integral a => [a] -> String
-- | p has_ess q is true iff p can embed q in sequence.
has_ess :: Integral a => [a] -> [a] -> Bool
-- | Embedded segment search.
ess :: Integral a => [a] -> [a] -> [[a]]
-- | Can the set-class q (under prime form algorithm pf) be drawn from the
-- pcset p.
has_sc_pf :: Integral a => ([a] -> [a]) -> [a] -> [a] -> Bool
-- | Can the set-class q be drawn from the pcset p.
has_sc :: Integral a => [a] -> [a] -> Bool
-- | Interval cycle filter.
icf :: Num a => [[a]] -> [[a]]
-- | Interval class set to interval sets.
ici :: Num t => [Int] -> [[t]]
-- | Interval class set to interval sets, concise variant.
ici_c :: [Int] -> [[Int]]
-- | Interval-class segment.
icseg :: Integral a => [a] -> [a]
-- | Interval segment (INT).
iseg :: Integral a => [a] -> [a]
-- | Imbrications.
imb :: Integral n => [n] -> [a] -> [[a]]
-- | p issb q gives the set-classes that can append to p to give q.
issb :: Integral a => [a] -> [a] -> [String]
-- | Matrix search.
mxs :: Integral a => [a] -> [a] -> [[a]]
-- | Normalize.
nrm :: Ord a => [a] -> [a]
-- | Normalize, retain duplicate elements.
nrm_r :: Ord a => [a] -> [a]
-- | Pitch-class invariances.
pci :: Integral a => [a] -> [a] -> [[a]]
-- | Relate sets.
rs :: Integral a => [a] -> [a] -> [(SRO a, [a])]
-- | Relate segments.
rsg :: Integral a => [a] -> [a] -> [(SRO a, [a])]
-- | Subsets.
sb :: Integral a => [[a]] -> [[a]]
-- | Super set-class.
spsc :: Integral a => [[a]] -> [String]
module Music.Theory.Contour.Polansky_1992
compare_adjacent :: Ord a => [a] -> [Ordering]
matrix_f :: (a -> a -> b) -> [a] -> [[b]]
contour_matrix :: Ord a => [a] -> [[Ordering]]
data Contour_Half_Matrix
Contour_Half_Matrix :: Int -> [[Ordering]] -> Contour_Half_Matrix
contour_half_matrix_n :: Contour_Half_Matrix -> Int
contour_half_matrix_m :: Contour_Half_Matrix -> [[Ordering]]
half_matrix_f :: (a -> a -> b) -> [a] -> [[b]]
contour_half_matrix :: Ord a => [a] -> Contour_Half_Matrix
contour_half_matrix_str :: Contour_Half_Matrix -> String
ord_to_int :: Integral a => Ordering -> a
int_to_ord :: Integral a => a -> Ordering
data Contour_Description
Contour_Description :: Int -> Map (Int, Int) Ordering -> Contour_Description
contour_description_n :: Contour_Description -> Int
contour_description_m :: Contour_Description -> Map (Int, Int) Ordering
adjacent_indices :: Integral i => i -> [(i, i)]
all_indices :: Integral i => i -> [(i, i)]
contour_description :: Ord a => [a] -> Contour_Description
contour_description_str :: Contour_Description -> String
half_matrix_to_description :: Contour_Half_Matrix -> Contour_Description
contour_description_ix :: Contour_Description -> (Int, Int) -> Ordering
all_equal :: Eq a => [a] -> Bool
-- | true if contour is all descending, equal or ascending
uniform :: Contour_Description -> Bool
-- | true if contour does not containt any EQ elements
no_equalities :: Contour_Description -> Bool
-- | all contour descriptions
all_contours :: Int -> [Contour_Description]
violations :: Contour_Description -> [(Int, Int, Int, Ordering)]
is_possible :: Contour_Description -> Bool
-- | all possible contour descriptions
possible_contours :: Int -> [Contour_Description]
-- | all impossible contour descriptions
impossible_contours :: Int -> [Contour_Description]
contour_description_lm :: Integral a => a -> a
implication :: (Ordering, Ordering) -> Maybe Ordering
replace :: Integral i => [a] -> i -> a -> [a]
draw_contour :: Integral i => Contour_Description -> [i]
ord_invert :: Ordering -> Ordering
contour_description_invert :: Contour_Description -> Contour_Description
ex_1 :: [Rational]
ex_2 :: [Integer]
ex_3 :: [Integer]
ex_4 :: Contour_Description
instance Eq Contour_Half_Matrix
instance Eq Contour_Description
instance Show Contour_Description
instance Show Contour_Half_Matrix
module Music.Theory.Bjorklund
bjorklund :: (Int, Int) -> [Bool]
xdot :: [Bool] -> String
iseq :: [Bool] -> [Int]
iseq_str :: [Bool] -> String