Soundfonts воспроизводит MIDI-файл без затухания - PullRequest
0 голосов
/ 23 мая 2018

Я создаю приложение для записи музыки во Flask.На бэкэнде я использую Midiutil для генерации миди-файлов и Midi.js на фронтэнде для воспроизведения файлов.

Я записал и собрал свой звуковой шрифт, используя Polyphone, и преобразовал из sf2 в JS с помощью soundfont_builder.rb .

Проблема, с которой я сейчас сталкиваюсь, заключается в том, что 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?

Я протестировал свои MIDI-файлы локально с FluidSynth , и они воспроизводятся нормально, как я хочу.

...