我一直在用Flask构建一个音乐符号应用程序。在后端,我使用Midiutil来生成midi文件,在前端使用Midi.js来播放这些文件。
我使用Polyphone录制并构建我的soundfont,并使用soundfont_builder.rb将其从sf2转换为JS。
我现在面临的问题是,soundfont_builder正在导致音符的长时间衰减,这是我不想要的。
def generate_midi(program, note_value, file)
include MIDI
seq = Sequence.new()
track = Track.new(seq)
seq.tracks << track
track.events << ProgramChange.new(0, Integer(program))
track.events << NoteOn.new(0, note_value, VELOCITY, 0) # channel, note, velocity, delta
track.events << NoteOff.new(0, note_value, VELOCITY, DURATION)有没有办法使我的音符不会比midi文件定义的长度播放得更长或更短?
我已经在本地用FluidSynth测试了我的midi文件,它们像我想要的那样正常播放。
发布于 2021-06-03 17:16:38
如果您使用的是在线科幻小说,请说:
yoursoundfont.stop(youraudioontext.currentTime + 0.0);
当你停止音符时,说0.0会立即结束
https://stackoverflow.com/questions/50477347
复制相似问题