Files
pytheory/examples
kennethreitz df4a2d950e feat: Hindustani ragas with shruti just intonation
New pytheory.Raga models twenty of the best-known ragas — the living
forms the ten thaats only sketched. Each carries its aroha, avaroha,
pakad, vadi/samvadi, time of day, rasa, and jati.

- Raga.get(name) (with aliases), Raga.by_thaat(), Raga.by_time(),
  Raga.all()/names().
- .aroha_tones(sa) / .note_names(sa) voice it in any key — Sa is movable.
- Shruti integration: ragas render in just intonation off the bundled
  5-limit ratios. .just_ratios(), .shruti_table(sa) (each swara's ratio
  + cents off 12-TET), and .play(sa, just=True) — the default — so komal
  Ga and tivra Ma are intoned authentically, not snapped to the grid.
  A _JustNote shim routes exact frequencies through the synth/envelope
  chain.
- CLI: `pytheory raga [name] [--sa C] [--shruti] [--play] [--equal]
  [--list --thaat .. --time ..]`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 00:05:32 -04:00
..