Skip to main content

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)

Source distribution for raganotate 0.6.8
File Size Uploaded
raganotate-0.6.8.tar.gz 55.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for raganotate 0.6.8
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.6.8 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page