abcnode

0.0.2 • Public • Published

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 (sergi.mansilla@gmail.com) All rights reserved.

Readme

Keywords

none

Package Sidebar

Install

npm i abcnode

Weekly Downloads

2

Version

0.0.2

License

none

Last publish

Collaborators

  • sergi