Skip to content

korinVR/mml2smf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MML to Standard MIDI File converter

This utility is created for in-development MIDI synthesizer synthesis.js, but it can be used for general use cases.

The features are very limited for now.

Usage

From command line

$ npm install -g mml2smf

$ mml2smf test.mml
$ mml2smf test.mml -o output.mid
$ mml2smf -m cdefg -o test.mid
$ mml2smf -m "t140 o5l8q7 ccggaag4 ffeeddc4; o4l8 cgegcgeg >b<gfg>b<gc4" -o test.mid

From JavaScript

import mml2smf from 'mml2smf'

const smf = mml2smf('cdefg') // returns Uint8Array
command MML
Notes c, d, e, f, g, a, b, +, -
Octave o[octave], <, > (4)
Note Length l[note length] (4)
Tempo t[tempo]
Gate Time q[1-8] (6)
Velocity u[0-127] (100)
Channel Volume v[0-127]
Pan p[-64-63]
Expression Controller E[0-127]
Program Change @[0-127]
Control Change B[0-119],[0-127]
Channel Aftertouch D[0-127]
Key Shift k[-127-127] (0)
Set MIDI Channel C[1-16] (1)
Next Track and MIDI Channel ;
Tie ^
Comment //..., /*...*/

Development

To launch:

$ npm start

To test:

$ npm test

License

MIT

Author

Katsuomi Kobayashi (@korinVR / @korinVR_en)

https://framesynthesis.com/

About

MML to Standard MIDI File converter

Resources

License

Stars

Watchers

Forks

Packages

No packages published