jasmid
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:UNMAINTAINED. A MIDI file reader and synthesiser in Javascript
THIS PROJECT IS NO LONGER MAINTAINED. http://unmaintained.tech/
===============================================================

see jasmid.ts fork: https://github.com/pravdomil/jasmid.ts


jasmid - A Javascript MIDI file reader and synthesiser

Originally presented at BarCamp London 8, 13-14 November 2010

Instructions:
Open index.html in browser. Turn up volume. Click on link.

Sound output is via one of the following mechanisms, according to what your
browser supports:
* Mozilla Audio Data API 
* Web Audio API
    
* a Flash fallback originally taken from dynamicaudio.js by Ben Firshman
     and hacked around by me.


The code:
stream.js - helper library for reading a string as a stream of typed data
midifile.js - parses the MIDI file format into a header and a list of tracks,
    each consisting of a list of event objects
replayer.js - steps over the data structure generated by midifile.js and calls
    the appropriate operations on the synthesiser
synth.js - audio synthesiser; generates waveforms according to tweakable
    parameters
audio.js - passes the generated waveform to either the Audio Data API or the
    Flash fallback widget (da.swf)


Limitations:
* The only event types supported by replayer.js are note on, note off, tempo
    change and program change
* There are currently only two instrument presets defined in synth.js - one for
    strings and a 'piano' one for everything else - and neither of them are
    particularly good (just a single volume-modulated sine wave).


Matt Westcott  - @gasmanic - http://matt.west.co.tt/

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。