Musa DSL Documentation
Complete documentation for the Musa DSL framework for algorithmic sound and musical composition.
📚 Documentation Structure
Getting Started
- Installation - Set up Musa DSL
- Examples - Two runnable examples:
Core Subsystems
Detailed documentation for each Musa DSL subsystem:
| Subsystem | Description | Documentation |
|---|---|---|
| MIDI | Voice management & recording | midi.md |
| Sequencer | Temporal engine | sequencer.md |
| Transport | Timing & clocks | subsystems/transport.md |
| Series | Sequence generators | series.md |
| Neumas | Musical notation | neumas.md |
| Datasets | Sonic data structures | datasets.md |
| Matrix | Sonic gesture conversion | matrix.md |
| Transcription | MIDI & MusicXML output | transcription.md |
| Music | Scales & chords | music.md |
| Generative | Algorithmic composition | generative.md |
| MusicXML Builder | Music notation export | musicxml-builder.md |
Advanced Topics
For users extending the DSL or integrating deeply:
| Topic | Description | Documentation |
|---|---|---|
| REPL | Live coding infrastructure | repl.md |
| Core Extensions | Metaprogramming utilities | core-extensions.md |
🎯 Learning Paths
New to Musa DSL?
- Start with one of the Examples
- Read MusaDSL Architecture
- Explore subsystems in this order:
Want to Compose?
- Learn Neumas notation
- Explore Music (scales & chords)
- Try Generative algorithms
- Use MusicXML Builder for scores
- Explore Demo Projects - 22+ working examples
Live Coding?
- Set up REPL
- Configure MusaLCE client (VSCode/Atom/Bitwig/Live)
- Learn Sequencer DSL
- Explore Transport for timing
Extending the DSL?
- Understand Core Extensions
- Study Datasets extensibility
- Review existing subsystem implementations
- Check YARD documentation for API details
📖 Additional Resources
- Main README: ../README.md
- API Reference: api-reference.md - Complete class/method documentation (RubyDoc.info)
- Examples: See examples/ directory in repository
- Source Code: lib/musa-dsl/
🔗 External Links
- GitHub Repository: https://github.com/javier-sy/musa-dsl
- RubyGems: https://rubygems.org/gems/musa-dsl
- Community: See Contributing
Navigation: ← Back to Main README | ↑ Top