| legacy | ||
| src | ||
| supercollider | ||
| tests | ||
| .gitignore | ||
| AGENTS.md | ||
| compact_sets.py | ||
| LICENSE | ||
| README.md | ||
| session-ses_328e.md | ||
Compact Sets
A rational theory of harmony based on Michael Winter's theory of conjunct connected sets in harmonic space, combining ideas from Tom Johnson, James Tenney, and Larry Polansky.
Installation
# Activate virtual environment
source venv/bin/activate
# Run
python compact_sets.py --dims 4 --chord-size 3
CLI Options
--dims 4|5|7|8- Number of prime dimensions (default: 7)--chord-size 3|4- Size of chords (default: 3)--symdiff-min,--symdiff-max- Symmetric difference range (default: 2-2)--melodic-min,--melodic-max- Voice movement thresholds in cents--dca- DCA multiplier (default: 2.0)--seed- Random seed (default: random)--cache-dir- Graph cache directory (default: ./cache)--output-dir- Output directory (default: output)--rebuild-cache- Force rebuild graph--no-cache- Disable caching
Legacy
The legacy/ folder contains earlier versions of this code, used to create the musical works published at unboundedpress.org/works/compact_sets_1_3.
Output
Generated files go to output/:
output_chords.json- Chord dataoutput_chords.txt- Human-readable chordsoutput_frequencies.txt- Frequencies in Hz