Node.js parser for the ABC music notation format
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

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 ( All rights reserved.