Skip to content

Instantly share code, notes, and snippets.

@euwbah
Last active August 8, 2023 18:13
Show Gist options
  • Save euwbah/9b2899b3851c57275543f55cfbbdb14d to your computer and use it in GitHub Desktop.
Save euwbah/9b2899b3851c57275543f55cfbbdb14d to your computer and use it in GitHub Desktop.

Format: [chord ratio], complexity, { (individual note) => probability of being 'tonic' }

Before adding otonal/utonal scaling (otonal_utonal_imbalance: 0):

Maj triad:
└─ "[4, 5, 6]: 3.857987202449161, {(1/1)=>0.38972255498549707, (3/2)=>0.32899613084094204, (5/4)=>0.2812813141735609}"

Min triad: Using LCM/Tenney height method, this will evaluate as equally as complex as the major chord.
└─ "[10, 12, 15]: 3.8911800411184334, {(1/1)=>0.34309983966512086, (3/2)=>0.33221561834177654, (6/5)=>0.32468454199310265}"

Septimal submin triad. This has higher complexity as the pre-computed dyads evaluates complexity according to prime-limit.
└─ "[6, 7, 9]: 5.466348742884239, {(1/1)=>0.3967301869478275, (3/2)=>0.33207896462960274, (7/6)=>0.27119084842256974}"

19-limit min triad:
 └─ "[16, 19, 24]: 4.852405783246947, {(1/1)=>0.38260796606462183, (3/2)=>0.35447942168892005, (19/16)=>0.26291261224645807}"

19-limit min11 extended:
└─ "[64, 76, 96, 114, 144, 171]: 6.818793423474297, {(1/1)=>0.1988713193602813, (171/64)=>0.13898480861080825, (9/4)=>0.15976102243991547, (57/32)=>0.15773153391531222, (3/2)=>0.1766274499350117, (19/16)=>0.168023865738671}"
 

Maj9#11
└─ "[16, 20, 24, 30, 36, 45]: 6.854748226511743, {(1/1)=>0.20129679858060537, (45/16)=>0.14388732326344925, (9/4)=>0.1562289592395253, (15/8)=>0.15136502204453062, (3/2)=>0.171366166176338, (5/4)=>0.17585573069555147}"

Same chord above, displaced 1 harmonic lower, In HE this will be evaluated as more 'concordant' than the above, but going by ear this should be a lot more discordant
└─ "[15, 19, 23, 29, 35, 44]: 11.890694068987901, {(1/1)=>0.18163579792174028, (44/15)=>0.18592326824675554, (7/3)=>0.14063266950897266, (29/15)=>0.16118745275368251, (23/15)=>0.16373637110163747, (19/15)=>0.16688444046721151}"

Min11
└─ "[20, 24, 30, 36, 45, 54]: 7.427777803820719, {(1/1)=>0.2018524341459883, (27/10)=>0.15675542891167757, (9/4)=>0.13644072783794675, (9/5)=>0.16456227537316262, (3/2)=>0.15722504710387997, (6/5)=>0.18316408662734474}"

Rootless harmonic 9th chord (septimal min7b5):
 └─ "[5, 6, 7, 9]: 7.148063274822857, {(1/1)=>0.23832577137111283, (9/5)=>0.23869761322494593, (7/5)=>0.22641194322242975, (6/5)=>0.29656467218151145}"

Rooted harmonic 9th chord
└─ "[4, 5, 6, 7, 9]: 6.888991704248967, {(1/1)=>0.23216635150024392, (9/4)=>0.17149665209257214, (7/4)=>0.19101251134861558, (3/2)=>0.20965372039989918, (5/4)=>0.1956707646586691}"

4:5:6:7:9: Testing otonal
└─ "[4, 5, 6, 7, 9]: 6.888991704248967, {(1/1)=>0.23216635150024392, (9/4)=>0.17149665209257214, (7/4)=>0.19101251134861558, (3/2)=>0.20965372039989918, (5/4)=>0.1956707646586691}"

1/(4:5:6:7:9): Testing utonal (difference in score not as large as I would've wanted)
└─ "[315, 252, 210, 180, 140]: 6.985494611874249, {(1/1)=>0.22813253659089414, (9/4)=>0.16928413980234608, (9/5)=>0.19949275071034173, (3/2)=>0.1941755562213198, (9/7)=>0.20891501667509835}"

After adding otonal/utonal scaling (using default otonal_utonal_imbalance: 8)

Format: [chord ratio], complexity, { (individual note) => probability of being 'tonic' }

Maj triad:
└─ "[4, 5, 6]: 3.6689040981619954, {(1/1)=>0.8014710923389479, (3/2)=>0.0812853137605799, (5/4)=>0.11724359390047215}"

Min triad: Using LCM/Tenney height method, this will evaluate as equally as complex as the major chord.
└─ "[10, 12, 15]: 4.080263145405599, {(1/1)=>0.47745795113635625, (3/2)=>0.05036491700324378, (6/5)=>0.47217713186040006}"

Septimal submin triad. This has higher complexity as the pre-computed dyads evaluates complexity according to prime-limit.
└─ "[6, 7, 9]: 5.357471182124949, {(1/1)=>0.7428716224553692, (3/2)=>0.04451700551813046, (7/6)=>0.21261137202650032}"

19-limit min triad:
└─ "[16, 19, 24]: 4.916989568767277, {(1/1)=>0.7076528404854399, (3/2)=>0.09369456149780679, (19/16)=>0.1986525980167533}"

19-limit min11 extended:
└─ "[64, 76, 96, 114, 144, 171]: 6.819836817349716, {(1/1)=>0.39817577653373826, (171/64)=>0.04431670719861346, (9/4)=>0.10904648062155933, (57/32)=>0.0999308463425519, (3/2)=>0.17677337078480804, (19/16)=>0.17175681851872912}"


Maj9#11
└─ "[16, 20, 24, 30, 36, 45]: 6.890945962075562, {(1/1)=>0.4086656275721057, (45/16)=>0.06581590396325061, (9/4)=>0.08077207781335426, (15/8)=>0.08293200631308817, (3/2)=>0.19058564067372802, (5/4)=>0.17122874366447322}"

Same chord above, displaced 1 harmonic lower, In HE this will be evaluated as more 'concordant' than the above, but going by ear this should be a lot more discordant
└─ "[15, 19, 23, 29, 35, 44]: 11.842780218813223, {(1/1)=>0.2354252220611107, (44/15)=>0.2044698153799193, (7/3)=>0.0995907037848409, (29/15)=>0.14756996449269524, (23/15)=>0.14001636072801787, (19/15)=>0.17292793355341599}"

Min11
└─ "[20, 24, 30, 36, 45, 54]: 7.424459613160584, {(1/1)=>0.24539437163102906, (27/10)=>0.07019987397248548, (9/4)=>0.05002393213983017, (9/5)=>0.1419313143872629, (3/2)=>0.08257791634883259, (6/5)=>0.4098725915205598}"
 
Rootless harmonic 9th chord (septimal min7b5):
─ "[5, 6, 7, 9]: 6.989894966486354, {(1/1)=>0.1964349272215193, (9/5)=>0.05645470904073642, (7/5)=>0.17755538044220703, (6/5)=>0.5695549832955373}"

4:5:6:7:9: Rooted harmonic 9th chord (otonal)
└─ "[4, 5, 6, 7, 9]: 6.541349378056319, {(1/1)=>0.5780681782856615, (9/4)=>0.053481658987726256, (7/4)=>0.11493349197750982, (3/2)=>0.14616069582105604, (5/4)=>0.10735597492804645}"

1/(4:5:6:7:9): Testing utonal version of above
└─ "[315, 252, 210, 180, 140]: 7.287851213533646, {(1/1)=>0.39709159115252135, (9/4)=>0.03166419227451252, (9/5)=>0.21585452424521295, (3/2)=>0.12256200700158809, (9/7)=>0.23282768532616502}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment