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
- Host: GitHub
- URL: https://github.com/sergi/abcnode
- Owner: sergi
- License: mpl-2.0
- Created: 2012-08-25T18:33:38.000Z (almost 14 years ago)
- Default Branch: master
- Last Pushed: 2017-06-13T11:18:45.000Z (about 9 years ago)
- Last Synced: 2025-05-02T07:05:51.849Z (about 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 51.8 KB
- Stars: 27
- Watchers: 7
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.