Skip to content
forked from dilide/musje

Online music processor for - jianpu - musje 123 notation

License

Notifications You must be signed in to change notification settings

sevenboom/musje

 
 

Repository files navigation

musje NPM version Build Status Dependency Status

Musje - 123 jianpu music processor.

Musje consists of

  • parser
  • model
  • renderer
  • player

Checkout http://jianpu.github.io/musje/demo/ for demo.

Install

Musje depends on Snap.js for rendering and MIDI.js for playing. It shall have bower support in the future.

Usage

var score = musje.parse(musjeString);
score.render(svgSelector, layoutOptions);
score.play();
score.stop();

Another way to build a song is using JavaScript object obj or JSON jsonString.

var obj = {
  head: {
    title: 'the title',
    composer: '...'
  },
  parts: [{
    measures: [
      { data: [musicData11, musicData12, ...] },  // a measure
      { data: [musicData21, musicData22, ...] },  // another measure
      ...
    ]
  }, {
    measures: [
      data for the second part
    ]
  }]
};
var score = musje.score(obj or jsonString);

Documentation

http://jianpu.github.io/musje/doc/

Develop

Install

Install node.js first, and install gulp globally

npm install -g gulp

Clone this repo, and in the project folder run

npm install

Build

Build both the musje library and documentation.

gulp build

Build the musje library.

gulp build-musje

Build the musje documentation.

gulp build-doc

Or watch the documentation build during development.

gulp watch-doc

Demo

Serve and watch demo of the musje library with live-reload, useful for the developing process.

gulp

or

gulp watch-demo

Test

Run either of the following for testing.

gulp test

or

npm test

Watch the test.

gulp watch-test

License

MIT License

About

Online music processor for - jianpu - musje 123 notation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 98.5%
  • Yacc 1.2%
  • CSS 0.3%