Как вы заставили rosegarden воспроизводить звук, играя в нем миди?

Как вы заставили rosegarden воспроизводить звук, играя в нем миди? Нужно ли Джеку бегать?

3 ответа

Вам не нужно, чтобы Джек работал, чтобы воспроизводить MIDI с помощью Rosegarden.

Теперь у меня запущено воспроизведение файлов MIDI через Rosegarden и QSynth.

Процесс с Ubuntu 17.10 в основном такой же, как здесь, но выполните следующие шаги:

  • установить QSynth apt-get install fluidsynth
  • установить библиотеку звукового шрифта apt-get install fluid-soundfont-gs
  • настроить QSynth на Enable MIDI Input установив флажок в Setup > MIDI
  • настроить QSynth для использования alsa Аудио драйвер под Setup > Audio
  • настроить QSynth для использования звукового шрифта в Setup > Soundfonts; указать на /usr/share/sounds/sf2/FluidR3_GM.sf2 или ваше местоположение звукового шрифта
  • разрешить перезапуск QSynth, когда он предложит вам
  • установить Rosegarden apt-get install rosegarden
  • с открытым QSynth запустите Rosegarden
  • Скажите Розегардену играть через QSynth Studio > Manage MIDI Devices и установить General MIDI Device на то, что QSynth транслирует в качестве своего параметра ввода MIDI, т.е. 129:0 Synth input port или похожие.

Документация гласит:

Rosegarden включает поддержку плагинов синтезатора для точного сэмплирования синтеза MIDI-треков.
[...]
Помимо плагинов, Rosegarden может взаимодействовать с любым количеством автономных программных синтезаторов для Linux, используя MIDI-протокол секвенсора ALSA.

Synth плагины обычно очень специализированы; если вы хотите воспроизвести какой-нибудь случайный MIDI-файл, вам, вероятно, понадобится программный синтезатор общего типа, такой как Fluidsynth или Timidity.

Я адаптировал ответ Rosegarden+Qsynth для работы без открытия двух разных окон следующим образом:

  1. Установите и , а также соответствующие звуковые шрифты через apt
  2. Добавьте следующую функцию в ~/.bashrcили же ~/.bash_aliases:
      midy() {
if [ -n "$1" ]; then
  rosegarden "$1" &
else
  rosegarden &
fi
fluidsynth -a alsa -m alsa_seq -o midi.autoconnect=True <PATH_TO_YOUR_SF2_FILE>
}
  1. Откройте новый терминал: введите midyи загрузите MIDI-файл, или midy <PATH_TO_MIDI_FILE>, и нажмите кнопку воспроизведения: rosegardenдолжен открыться и должен воспроизводить файл в фоновом режиме, без необходимости в окне Qsynth!

Заметки:

  • Чтобы проверить это fluidsynthработает, вы можете попробовать соответствующую команду (после fi) отдельно, добавив в конце путь к MIDI-файлу. Он должен воспроизвести файл.

  • В моем случае .sf2файлы были установлены под /usr/share/sounds/sf2

  • Вы можете найти дополнительные варианты, проверив man fluidsynthа также fluidsynth -o help

Надеюсь это поможет! Ура
Андрес

Другие вопросы по тегам