- Notifications
You must be signed in to change notification settings - Fork1
ABC music notation parser in C#
License
NotificationsYou must be signed in to change notification settings
matthewcpp/ABCSharp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This library parses a (very) minimal set of version 2.1 of theABC Music Notation standard.
- Notes: Accidentals, Octatve Modifiers, Chords, Length Modifier, Dots, Broken Rhythm
- Information Fields:
- Unit Note Length
- Time Signature (non complex)
- Voice
- Key Signatures:
major
,minor
,none
- Instructions
- Linebreak:
<EOL>
,<none>
,$
- Linebreak:
- Rests (individual and multi-measure)
- Bar: Single Line, Double Line, Repeat Start, Repeat End, Repeat End/Start, Start / End Bar, Additional custom bars as per ABC Spec
- Multiple Voices:
clef
(treble, bass) andname
modifiers - Slurs (non-dotted) and Ties
- Beams
stringabc="...";vartune=Tune.load(abc);foreach(varvoiceintune.voices){Console.WriteLine($"Voice{voice.name} ({voice.clef}):{voice.items.Count} items.");}