hmt-0.16: Haskell Music Theory

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 #

Forte prime forms of the twelve trichordal set classes.

length trichords == 12

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

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

Pretty printer, comma separated.

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

Pretty printer, hexadecimal, no separator.

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

# ATH

Forte prime form of the all-trichord hexachord.

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

Is p an instance of ath.

ath_univ :: [PCSET] Source #

Table 1, p.20

length ath_univ == 24

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

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

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

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

The twenty three-element subsets of ath.

length ath_trichords == 20

\\ 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]]

# Drawing

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

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

type GR = Gr PCSET () Source #