Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

raganotate-0.6.8.tar.gz (55.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

raganotate-0.6.8-py3-none-any.whl (47.9 kB view details)

Uploaded Python 3

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

Hashes for raganotate-0.6.8.tar.gz
Algorithm Hash digest
SHA256 823652729b612d55ed65d06bd2449c1fd285c7d42a809c23a343fa5dc71c98bf
MD5 22fc34c3a3284d89f9aba6a36f6b4210
BLAKE2b-256 3ce82f055daf76f55e0172105af40847c9cf7c0b5dac478fb7ab0518b6799507

See more details on using hashes here.

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

Hashes for raganotate-0.6.8-py3-none-any.whl
Algorithm Hash digest
SHA256 0a383b5901d1316244d4694e6f5f9188fd2267db3d008a70803b1fd02d30852e
MD5 8c5cc58b5723ad6c9643877a1158123d
BLAKE2b-256 197810b1eed4e917d4ddc6173b7a999d48d00ac415fa36be9d8ed60281b67da7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page