Notations Library Documentation
Comprehensive documentation for parsing, modeling, and rendering Carnatic music notation
Notations Library
A TypeScript library for parsing, modeling, and rendering Carnatic music notation
🎵 Expressive DSL
Intuitive domain-specific language for writing Carnatic music notation. Simple syntax for notes, spaces, groups, and complex rhythmic patterns.
Learn the basics →🎼 Powerful API
Programmatic access to parsing, layout, and rendering. Build editors, viewers, and notation tools with full TypeScript support.
Explore the API →🎹 Rich Features
Support for gamakas, markers, octaves, multi-track compositions, custom cycles (talas), and precise timing with fractions.
View reference →📚 Comprehensive Docs
Progressive tutorials, complete syntax reference, cookbook with real examples, and detailed API documentation.
Start learning →Quick Example
Write notation using the DSL and render it interactively:
See more examples in the Cookbook
Documentation Sections
🚀 Getting Started
Install the library, run your first example, and learn the core concepts
📖 Tutorials
Step-by-step guides from basics through advanced topics
📋 Reference
Complete syntax reference for every DSL feature and command
🍳 Cookbook
Real-world compositions and patterns ready to use
🔧 API
Developer documentation for integrating the library
🤝 Contributing
Learn the architecture and how to contribute
Community & Support
Get help, report issues, or contribute to the project: