hmt-0.16: Haskell Music Theory

Safe HaskellNone
LanguageHaskell98

Music.Theory.Z.Boros_1990

Contents

Description

James Boros. "Some Properties of the All-Trichord Hexachord". _In Theory Only_, 11(6):19--41, 1990.

Synopsis

UTIL

singular :: String -> [t] -> t Source #

set_eq :: Ord t => [t] -> [t] -> Bool Source #

elem_by :: (t -> t -> Bool) -> t -> [t] -> Bool Source #

TTO

all_tn :: Integral i => [i] -> [[i]] Source #

all_tni :: Integral i => [i] -> [[i]] Source #

uniq_tni :: Integral i => [i] -> [[i]] Source #

type PC = Int Source #

type PCSET = [PC] Source #

type SC = PCSET Source #

trichords :: [PCSET] Source #

Forte prime forms of the twelve trichordal set classes.

length trichords == 12

self_inv :: PCSET -> Bool Source #

Is a pcset self-inversional, ie. is the inversion of p a transposition of p.

map (\p -> (p,self_inv p)) trichords

pcset_pp :: PCSET -> String Source #

Pretty printer, comma separated.

pcset_pp [0,3,7,10] == "0,3,7,10"

pcset_pp_hex :: PCSET -> String Source #

Pretty printer, hexadecimal, no separator.

pcset_pp_hex [0,3,7,10] == "037A"

ATH

ath :: PCSET Source #

Forte prime form of the all-trichord hexachord.

T.sc_name T.mod12 ath == "6-Z17"
T.sc "6-Z17" == ath

is_ath :: PCSET -> Bool Source #

Is p an instance of ath.

ath_univ :: [PCSET] Source #

Table 1, p.20

length ath_univ == 24

ath_tni :: PCSET -> TTO PC Source #

Calculate TTO of pcset, which must be an instance of ath.

ath_tni [1,2,3,7,8,11] == T.TTO 3 False True

ath_pp :: PCSET -> String Source #

Give label for instance of ath, prime forms are written H and inversions h.

ath_pp [1,2,3,7,8,11] == "h3"

ath_trichords :: [PCSET] Source #

The twenty three-element subsets of ath.

length ath_trichords == 20

ath_complement :: PCSET -> PCSET Source #

\\ of ath and p, ie. the pitch classes that are in ath and not in p.

ath_complement [0,1,2] == [4,7,8]

ath_completions :: PCSET -> SC -> [PCSET] Source #

p is a pcset, q a sc, calculate pcsets in q that with p form ath.

ath_completions [0,1,2] (T.sc "3-3") == [[6,7,10],[4,7,8]]
ath_completions [6,7,10] (T.sc "3-5") == [[1,2,8]]

TABLES

FIGURES

Drawing

uedge_set :: Ord v => [EDGE v] -> [EDGE v] Source #

set_shape :: PCSET -> String Source #

Self-inversional pcsets are drawn in a double circle, other pcsets in a circle.

type GR = Gr PCSET () Source #