Full-Stack Carnatic Music Notation Engine — Lyrics to Playable Audio
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file raganotate-0.6.8.tar.gz.
File metadata
- Download URL: raganotate-0.6.8.tar.gz
- Upload date:
- Size: 55.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
823652729b612d55ed65d06bd2449c1fd285c7d42a809c23a343fa5dc71c98bf
|
|
| MD5 |
22fc34c3a3284d89f9aba6a36f6b4210
|
|
| BLAKE2b-256 |
3ce82f055daf76f55e0172105af40847c9cf7c0b5dac478fb7ab0518b6799507
|
File details
Details for the file raganotate-0.6.8-py3-none-any.whl.
File metadata
- Download URL: raganotate-0.6.8-py3-none-any.whl
- Upload date:
- Size: 47.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a383b5901d1316244d4694e6f5f9188fd2267db3d008a70803b1fd02d30852e
|
|
| MD5 |
8c5cc58b5723ad6c9643877a1158123d
|
|
| BLAKE2b-256 |
197810b1eed4e917d4ddc6173b7a999d48d00ac415fa36be9d8ed60281b67da7
|