Music Score Editor (MSC-Editor) (version: )
Features
A music score editor that supports input through menu selection.
Browser-based, no installation required.
Menu structure aligned with the curriculum from elementary to high school.
Supports two-staff notation.
Lyric input supported.
Playback functionality implemented.
Supports printing and PNG image output of created scores.
Supports three languages: Japanese, English, and Korean.
Sample Operation
Operation Manual
Download
Folder Structure
+ /
+ fonts (folder)
| + Bravura.woff
| + Bravura.woff2
| + BravuraText.woff
| + BravuraText.woff2
+ img (folder) (Image folder for MSC-Editor)
| + accentH.png
| + |
| + | Total of 107 files
| + |
| + uppermordent.png
+ manual (folder) (MSC-Editor manual folder)
+ abcjs-audio.css (CSS for abcjs audio controls, partially modified)
+ abcjs-basic_6.4.2n.js (JS for abcjs, partially modified)
+ index.html (Sample page for MSC-Editor)
+ msc_editor.css (CSS for MSC-Editor)
+ msc_editor.js (JS for MSC-Editor)
+ msc_lang.js (For multilingual support in MML-Editor2)
※ After downloading, you can also execute it from local files.
How to Use
Please load the necessary .css and .js files as follows.
<!-- abcjs -->
<link rel="stylesheet" type="text/css" href="./abcjs-audio.css">
<script type="text/javascript" src="./abcjs-basic_6.4.2n.js"></script>
<!-- MSC-Editor -->
<link rel="stylesheet" type="text/css" href="./msc_editor.css">
<script type="text/javascript" src="./msc_lang.js"></script>
<script type="text/javascript" src="./msc_editor.js"></script>
Then, please call the initialization function in the onload event or similar.
//--------------------------------------------------
// Initialization
//--------------------------------------------------
function init() {
initMscEditor("divContainer", callback, "Copy", "auto");
}
Multilingual Support
The menus and other elements of this system "Music Score Editor (MSC-Editor)"
Support Japanese (ja), English (en), and Korean (ko)
The language used depends on the browser's language settings, but
//--------------------------------------------------
// Initialization
//--------------------------------------------------
function init() {
initMscEditor("divContainer", callback, "コピー", "ja"); (Example in Japanese)
initMscEditor("divContainer", callback, "Copy", "en"); (Example in English)
initMscEditor("divContainer", callback, "복사", "ko"); (Example in Korean)
}
As shown above, you can also specify the language during initialization of MSC-Editor.js.
Initialization
MSC-Editor.js operates using a specified <DIV> element as a container on the page.
<!-- ====================================== -->
<!-- Editor Container -->
<!-- ====================================== -->
<div id="divContainer">
</div>
Within this container, the MSC-Editor is constructed using the initialization function mentioned above.
//--------------------------------------------------
// Initialization
//--------------------------------------------------
function init() {
initMscEditor("divContainer", callback, "Copy", "auto");
}
1st Argument: ID of the DIV element to be used as a container
2nd Argument: Callback function (if not using a callback, specify null.)
3rd Argument: Button caption if using a callback
4th Argument: Language setting (auto | ja | en | ko)
Details of the callback
When you click the button (caption specified during initialization) at the bottom left of the MSC-Editor editing screen,
the callback function specified as the second argument during initialization is called with the abc source and music score PNG image as arguments.
Example of a callback function
//--------------------------------------------------
// callback
//--------------------------------------------------
function callback(abcString, pngImage) {
//Put a png image into the clipboard
setImageToClipboard(pngImage);
}
1st Argument: abc source (text)
2nd Argument: Music score PNG image (in base64 format)
※ For details, please refer to the source of the sample page (index.html).
Copyright
The copyright for this system "Music Score Editor (MSC-Editor)" belongs to the author.
There are no restrictions on its use, including commercial use, modification, and redistribution, but
in this system, the following are used (abcjs has some functionality extensions):
abcjs (https://github.com/paulrosen/abcjs) : MIT License
W3C Standard Music Font Layout (SMuFL) (https://w3c.github.io/smufl/latest/index.html): W3C Community Final Specification Agreement (FSA)
For those parts, please comply with the license terms of the respective software.