Javascript:如何导出MIDI文件?

时间:2013-10-05 00:14:11

标签: javascript midi

我刚开始在我的javascript代码中使用MIDI,我想创建一个简单地根据用户输入生成MIDI文件的应用程序。我已经看过使用MIDI.js,但我不确定我是否需要任何库。理想情况下,我希望能够处理音符值而不是十六进制MIDI代码......我是否需要在plugin.js中使用转换器?

我目前的研究表明,生成的声音字体是建议的方式;但是,我想导出/生成一个MIDI文件,以便在专业的DAW中使用。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用我发现的名为MidiWriterJS的图书馆。

它非常易于使用:

第1步:安装

最简单的安装方法是使用npm

$ npm install midi-writer-js

然后

var MidiWriter = require('midi-writer-js');

第2步:创建一个音轨数组并添加注释

var tracks = [];
for(t of <your existing track array>){
    var notes = [];
    for(n of <your existing note array for the track>){
        notes.push(new MidiWriter.NoteEvent({pitch: <array of all notes in the chord>, duration: <how long the chord should last>});
    }
    var newTrack = new MidiWriter.Track();
    newTrack.addEvent(notes, function(event, index){ return {sequential: true}; });
    tracks.push(newTrack);
}

步骤3:导出MIDI数据

var writer = new MidiWriter.Writer(tracks);
writer.saveMIDI(<filename>);