我正在根据频率创建midi文件。我使用ToneJS (在Node.js中)用下面的代码创建midi文件:
exports.createMidiFile = (req,res,next) => {
// create a new midi file
var midi = new Midi()
// add a track
const track = midi.addTrack()
track.addNote({
midi : Tone.Frequency(400).toMidi(),
time : 0,
duration: 10
})
// write the output
fs.writeFileSync("output.mid", new Buffer(midi.toArray()))
}我尝试做的是一个for循环,将注释添加到相同的曲目中。我试过了:
for (var i = 0; i < length; i++){
track.addNote({
midi : Tone.Frequency(i).toMidi(),
time : 0,
duration: 10
})
}但当我尝试打开该文件时,系统显示该文件已损坏。
提前感谢朋友们。
发布于 2020-07-22 00:13:15
试着这样写你的循环:
for (var i = 0; i < length; i++){
track = track.addNote({
midi : Tone.Frequency(i).toMidi(),
time : 0,
duration: 10
})
}这样做就相当于将调用链接到addNote()
https://stackoverflow.com/questions/63015325
复制相似问题