Soundfonts 播放 MIDI 文件没有衰减

Posted

技术标签:

【中文标题】Soundfonts 播放 MIDI 文件没有衰减【英文标题】:Soundfonts play MIDI file without decay 【发布时间】:2018-05-22 22:34:27 【问题描述】:

我一直在 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 文件,它们可以正常播放。

【问题讨论】:

【参考方案1】:

如果您在网上使用您的科幻小说,请说:

yoursoundfont.stop(youraudioontext.currentTime + 0.0);

当你停止音符时说 0.0 立即结束

【讨论】:

以上是关于Soundfonts 播放 MIDI 文件没有衰减的主要内容,如果未能解决你的问题,请参考以下文章

Android 上的声音字体

有没有人在 iPhone 上通过 midi->wav 转换等播放 .midi 文件的经验?

异步播放midi文件?

Flutter mobile,播放midi文件

在 python 中播放 MIDI 文件?

在 python 中播放 MIDI 文件?