raganotate
Python library for RagaNotate — parse, encode, and export Carnatic music notation with Just Intonation tuning, gamaka feature vectors, and tala awareness.
Part of the RagaNotate ecosystem (Electron desktop app · TypeScript library · this Python library — one canonical notation format).
Install
pip install raganotate # core — zero dependencies, pure stdlib
pip install raganotate[midi] # + MIDI export (MIDIUtil)
pip install raganotate[ai] # + HuggingFace dataset encoding
pip install raganotate[all] # everything except large models
Usage
from raganotate import parse
from raganotate.swara import swara_hz
from raganotate.tala import get_tala
nodes = parse("| S R G M | P D N S' |")
hz = swara_hz("G", octave="madhya", sa_hz=240.0) # JI frequency, Sa = 240 Hz
tala = get_tala("Misra Chapu") # 7 aksharas (3+4)
Modules
| Module | Purpose |
|---|---|
parser |
ASCII notation → node objects |
swara |
16 swarasthanas, JI frequency engine |
gamaka |
Gamaka types + ML feature vectors |
tala |
Suladi Sapta + Chapu talas, beat clock |
raga_grammar |
Raga scale validation |
midi_generator |
MIDI export with JI pitch bends |
ai_encoder |
Notation → AI-ready token sequences |
lyrics_mapper |
Lyrics ↔ notation syllable alignment |
Notation format
See SPEC.md for the full
standard: 16 swarasthanas, octave markers (.s / S / S'), duration markers
(; : ::), gamaka symbols (~ ^ v *), and tala angas.
License
AGPL-3.0-or-later — see LICENSE.
Metadata
Release files for raganotate 0.6.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| raganotate-0.6.8.tar.gz | 55.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| raganotate-0.6.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 102.9 kB
Release files / raganotate-0.6.8.tar.gz
| Download URL | raganotate-0.6.8.tar.gz |
|---|---|
| Size | 55.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
823652729b612d55ed65d06bd2449c1fd285c7d42a809c23a343fa5dc71c98bf
|
|
BLAKE2b-256 checksum How to use checksums |
3ce82f055daf76f55e0172105af40847c9cf7c0b5dac478fb7ab0518b6799507
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|
Release files / raganotate-0.6.8-py3-none-any.whl
| Download URL | raganotate-0.6.8-py3-none-any.whl |
|---|---|
| Size | 47.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0a383b5901d1316244d4694e6f5f9188fd2267db3d008a70803b1fd02d30852e
|
|
BLAKE2b-256 checksum How to use checksums |
197810b1eed4e917d4ddc6173b7a999d48d00ac415fa36be9d8ed60281b67da7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|