Skip to content

sergi/abcnode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 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