An open API service indexing awesome lists of open source software.

https://github.com/sergi/abcnode

Node.js parser for the ABC music notation format
https://github.com/sergi/abcnode

Last synced: about 1 year ago
JSON representation

Node.js parser for the ABC music notation format

Awesome Lists containing this project

README

          

ABC notation parser for JavaScript
==================================

ABCnode is a parser for the [ABC music notation language](http://abcnotation.com/)
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](http://pegjs.majda.cz/) 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:

```javascript
{
"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.