mirror of
https://github.com/kuhyx/utils.git
synced 2026-11-10 22:47:14 +01:00
New subproject porting Luke Haas's "Music Theory for Programmers" section by section into typed Python: pitch (MIDI <-> Hz), tuning (harmonic series, the Pythagorean comma, brute-forced "why twelve"), scales as step arrays with modes as rotations, chords stacked in thirds with Roman numerals and the V7 -> I resolution, named progressions, a numpy synth (waveforms, ADSR, low-pass), a bar-exact sequencer, and a seeded Recipe -> WAV composer. `degrade` is the same piece ruined by a 0..1 amount, so an ending can be the opening destroyed on the same seed; filtering runs LAST because filtering first measured brighter than the clean render. 17 demos (`python -m music_theory demo all`) each print the article's numbers -- the comma is 1.013643, the tempered fifth is 0.113 % flat, twelve is the first acceptable division -- and the FFT of the render, so the claims are tested rather than asserted. 157 tests, 100 % branch coverage, ruff ALL, mypy strict, pylint 10. Consumed next by roadside-assistance for its three world-state beds. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VC17zymxkeiUcHrMvt8W5W |
||
|---|---|---|
| .. | ||
| crdt-sync-dart-tests.yml | ||
| crdt-sync-flutter-tests.yml | ||
| crdt-sync-precommit.yml | ||
| crdt-sync-tests.yml | ||
| dependency-freshness.yml | ||
| design-system-tests.yml | ||
| file-length.yml | ||
| freedays-precommit.yml | ||
| freedays-tests.yml | ||
| gatelock-precommit.yml | ||
| gatelock-tests.yml | ||
| github-device-auth-tests.yml | ||
| md-naming.yml | ||
| music-theory-tests.yml | ||
| palette-drift.yml | ||
| shared-gates-tests.yml | ||
| sync-settings-ui-tests.yml | ||
| ts-core-tests.yml | ||
| web-ui-tests.yml | ||