Skip to content
forked from sergi/abcnode

Node.js parser for the ABC music notation format

License

Notifications You must be signed in to change notification settings

bbeardsley/abcnode

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ABC notation parser for JavaScript

ABCnode is a parser for the ABC music notation language for JavaScript. Still a work in progress, it implements most of ABC 1.6. The progress can be followed in the TODO list below.

ABCnode uses PEGjs to generate the JavaScript parser. The resulting parser can be used from Node.js or from the browser.

Output format

ABCnode parses from ABC format into JSON format. This is how the generated JSON of a random tune looks:

{
  "header": {
    "refnum": 100,
    "title": "no name",
    "key": {
      "baseNote": "G",
      "accidental": ""
    },
    "rythm": "polka",
    "discography": "Kevin Conneff: The Week before Easter",
    "t_note": "id:hn-polka-100",
    "meter": 16,
    "note_length": 32
  },
  "song": [
    [
      [
        {
          "bar": "|",
          "chords": [
            {
              "notes": [
                {
                  "note": "B",
                  "duration": 32,
                  "beam": 0
                }
              ]
            },
    ...

I will add more output formats and a JSON schema for this format in the future.

This is a project that has been dormant for more than two years, and now I release it in GitHub hoping that this will encourage me to finish it soon.

Copyright (c) 2010-2012, Sergi Mansilla ([email protected]) All rights reserved.

About

Node.js parser for the ABC music notation format

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%