File size: 2,256 Bytes
af6912c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Purpose

This library makes it easy to incorporate **sheet music** into your **websites**. It is primarily aimed at **javascript developers**. The amount of javascript required for simple uses is very small, though, so one doesn't need to be an expert.

## Uses

* Draw arbitrary sheet music.

* Instantly modify the music.

* Do animation effects with the drawn music.

* Style the music using CSS.

* Create synthesized audio for the music.

* Search for **ABC** formatted strings on a webpage (for instance in post or comments on a blog) and turn them into sheet music.

* Allow the user to modify the music instantly by typing an **ABC** string.

## NOT

* It does not provide a visual editor (although it could be used as a basis if you want to write one.)

## Open Source Apps that require no programming

* If you just want to render your abc but aren't trying to make an entire website, there are a number of openly accessible apps that you can use. 

* For working with tunes in the browser, see [the Editor](https://editor.drawthedots.com). 

* Also see Michael Eskin's [ABC Tools](https://michaeleskin.com/abctools/abctools.html) for a much more fully-featured editor.

* If you are using VSCode, there is an extension that you install. Get to the extension panel with shift-cmd-X, then search for "abcjs". Once you install that you can see the notation rendered as you type in a file. To use it, open your tune file (ending in `.abc`) and type shift-cmd-P to get the command pallet. Search for "abcjs" to open the preview pane.

## Browser/device support

* The visual part of this library is supported from IE9 and newer, Safari 5.1 and newer, and all modern browsers.

* This synth audio part of this library does not work on IE, but works on any system that supports `AudioContext.resume` and `Promises`. That is, any browser newer than Firefox 40, Safari 9.1, Edge 13, and Chrome 43.

## Supported by BrowserStack

If you aren't using the same browser and machine that I use, you can thank [BrowserStack](https://browserstack.com/) for their support of this open-source project.

![BrowserStack](https://paulrosen.github.io/abcjs/img/browserstack-logo-600x315.png)

## License

[The MIT License (MIT)](http://opensource.org/licenses/MIT)