我一直在Flask中构建音乐符号应用程序。在后端,我使用Midiutil生成midi文件,并在前端生成Midi.js来播放文件。
我使用Polyphone记录并构建了我的声音,并使用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文件,它们可以正常播放。
答案 0 :(得分:0)
如果您在网上使用科幻小说,请说:
yoursoundfont.stop(youraudioontext.currentTime + 0.0);
当你停止笔记时说 0.0 立即结束