Skip to content

Future idea: Formal Concept Analysis for musical scales (Noll 2016) #7

@fabianmoss

Description

@fabianmoss

This code uses the concepts package to implement formal concept analysis for musical scales, based on Noll (2016). It's not currently part of the library but kept here as a future enhancement idea.

from concepts import Context

# table below taken from Noll (2016)

lattice = \"\"\"
  |G|DE|ME|MP|DP|BZ|DT|
 1 |X|X |X |X |X |X |X |
 2 |X|X |X |X |X |  |X |
 3 |X|X |X |X |  |X |  |
 4 |X|X |X |X |X |  |  |
 5 |X|X |X |X |  |  |  |
 6 |X|X |X |  |X |  |  |
 7 |X|X |  |X |X |  |  |
 8 |X|X |  |X |  |  |  |
 9 |X|X |X |  |  |  |  |
10|X|  |  |  |X |  |  |
11| |X |X |  |  |  |  |
12| |X |  |  |  |  |  |
13|X|  |  |  |  |  |  |
 \"\"\"

c = Context.fromstring(lattice)
# print(c.intension([\"MP\", \"DT\"]))
# print(c.lattice.graphviz(view=True))

Dependencies needed: pip install concepts

References:

  • Noll, T. (2016). Musical Interval Structures and Bell Polynomials.
    -->

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions