TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

Welcome to INScoreJS

The INScoreJS library allows to embed the INScore engine services in a web page and to design augmented, dynamic and interactive musical scores that can be published on the Internet.
INScore engine version is 1.3.2

Content of the package

  • INScoreJS.js: the INScore javascript library
  • libINScore.js .wasm: the INScore engine compiled as a web assembly library
  • dev: intended to web developers who want to develop a custom application (see the dev/readme file)
  • inscore.d.ts: a typescript interface for web development
  • examples: contains examples of html pages
  • fonts: contains fonts used by INScoreJS


The INScore package depends on several libraries, only necessary if you're using specific objects:

  • guidolib: required for symbolic music notation and piano roll representation.
  • libmusicxml: required to import MusicXML files (assumes that the guidolib is also present).
  • libfaust: required to use faust objects.

All these libraries should automatically come with this package.


To display any of the provided examples, you must first launch a web server from the root of this package. Python provides such services. Using python 3:

$ python -m http.server [optionnal port number (default is 8000)]

Http servers are also available from npm.

Once the server is running, you can redirect a browser to http://localhost:8000/examples and open any of the examples.


Drag and drop works with the javascript version in a similar way to the native version: you can drop an inscore file (or a script in textual form) to any inscore 'div'.

Designing a musical score

You can start from the template provided in the example folder.
INScoreJS do not support all the messages of the native version and provides specific messages. See the INScore Web documentation for more details.

Important notes

INScoreJS is still a project under development. The compatibility of the graphic rendering is not yet guaranteed for future versions. If you develop your own pages, it is therefore recommended to save the libraries used for preservation reasons.

Note also that the content of an inscore div is interpreted by browsers as html code. Thus avoid using < (opening tag character) and replace it with the textual form &lt;. Unless the inscore div content is framed with a <pre> tag, comments should be expressed using the html form <!-- commented section --> and not using inscore comments (#). This is valid for inline code only and does not apply to inscore files that you could drop on an inscore div.


The engine has been tested on the following platforms and browsers:

Chrome Firefox Safari Opera Edge Internet Explorer
Ubuntu - OK - - - -
Windows OK OK - - OK unsupported
Android OK OK - - - -

INScore is a project developed by GRAME-CNCM Computer Research Lab.

Package Sidebar


npm i @grame/inscorejs

Weekly Downloads






Unpacked Size

8.89 MB

Total Files


Last publish


  • grame