|
|||||||
Настройка воспроизведения MIDI в Debian GNU/Linux
Время создания: 01.03.2016 21:34
Текстовые метки: alsa, asfxload, debian, fluidsynth, midi, timidity
Раздел: Компьютер - Linux - Звук и аудио - MIDI
Запись: xintrea/mytetra_syncro/master/base/1456682688h0mhu3wuv8/text.html на raw.github.com
|
|||||||
|
|||||||
Настройка воспроизведения MIDI в Debian GNU/Linux С MIDI я разбирался несколько раз. Первый раз я настраивал воспроизведение MIDI для игры Doom (Музыка в PrBoom ). Потом я ставил дополнительные сэмплы для того, чтобы улучшить качество воспроизведения музыки в Doom и заставить звучать те инструменты, сэмплы которых не входили в комплект программного секвенсора timidity (Музыка MIDI - улучшаем звук ). Потом я купил подержанную звуковую карту Creative SoundBlaster Live 5.1! и настроил аппаратный её секвенсор. $ aplaymidi -l У меня эта команда выдаёт следующее: Port Client name Port name 14:0 Midi Through Midi Through Port-0 16:0 SB Live! 5.1 Dell OEM [SB0228] EMU10K1 MPU-401 (UART) 17:0 Emu10k1 WaveTable Emu10k1 Port 0 17:1 Emu10k1 WaveTable Emu10k1 Port 1 17:2 Emu10k1 WaveTable Emu10k1 Port 2 17:3 Emu10k1 WaveTable Emu10k1 Port 3 20:0 CA0106 CA0106 MPU-401 (UART) Аппаратному MIDI-секвенсору соответствуют порты 17:0, 17:1, 17:2, 17:3. Дополнительные его характеристики можно узнать с помощью следующей команды: $ cat /proc/asound/card0/wavetableD1 Которая должна выдать примерно следующую информацию: Device: Emu10k1 Ports: 4 Addresses: 17:0 17:1 17:2 17:3 Use Counter: 0 Max Voices: 64 Allocated Voices: 0 Memory Size: 134217728 Memory Available: 134213632 Allocated Blocks: 1 SoundFonts: 0 Instruments: 0 Samples: 0 Locked Instruments: 0 Locked Samples: 0 2. Программный секвенсор timidity # apt-get install timidity Вместе с timidity будет установлен набор семплов (иначе называемых Gravis Ultra Sount Patches или коротко - GUS-патчей) freepats. 3. Улучшенные сэмплы в timidity # apt-get install fluid-soundfont-gm fluid-soundfont-gs В файле /etc/timidity/freepats.cfg добавляем следующие строчки (я добавил в начало): dir /usr/share/sounds/sf2/ soundfont FluidR3_GM.sf2 order=0 soundfont FluidR3_GS.sf2 order=1 И перезапускаем секвенсор: # /etc/init.d/timidity restart 4. Программный секвенсор fluidsynth # apt-get install fluidsynth Секвенсор fluidsynth не имеет сценария инициализации, поэтому для его запуска необходимо написать простенький сценарий инициализации или запустить его вручную, например так: $ fluidsynth -a alsa -i /usr/share/sounds/sf2/FluidR3_GM.sf2 -i /usr/share/sounds/sf2/FluidR3_GS.sf2 -m alsa_seq -r 44100 -s 5. Аппаратный секвенсор # modprobe snd-emu10k1-synth Если в выводе lsmod появится подгруженный модуль, значит аппаратный MIDI-секвенсор в вашей звуковой карте есть и для его использования необходимо загрузить в звуковую карту сэмплы. # aptitude install awesfx Загрузить сэмплы из пакетов fluid-soundfont-gm и fluid-soundfont-gs можно с помощью команд: $ asfxload /usr/share/sounds/sf2/FluidR3_GM.sf2 $ asfxload -N /usr/share/sounds/sf2/FluidR3_GS.sf2 Первая команда загружает сэмплы вместо имеющихся, а вторая - добавляет сэмплы к имеющимся. Файл FluidR3_GS.sf2 очень большой, и не каждая звуковая карточка его прожует. Если карточке не хватит памяти для загрузки семплов, будет выдана ошибка: sfxload: no memory left В этом случае нужно искать другой набор. Другие наборы MIDI-сэмплов (так называемые патчи) можно взять с сайта проекта ALSA. Поиск через Google или Yandex можно производить по строкам типа "Download 8MBGMSFX SF2". Вот прямая ссылка на подобный патч размером 8Мб, с которым нормально работает Sound Blaster SBLive 5.1: http://www.alsa-project.org/~james/sound-fonts/8MBGMSFX.SF2 Этот файл можно поместить в тот же каталог, что и файлы семплов пакетов fluid-soundfont-* (/usr/share/sounds/sf2/) после чего его можно подгружать командой: asfxload /usr/share/sounds/sf2/8MBGMSFX.SF2 Внимание! Для автоматической подгрузки модуля ядра при загрузке системы необходимо добавить модуль snd-emu10k1-synth в файл /etc/modules. 6. Выбор секвенсора по-умолчанию ALSA_OUTPUT_PORTS="17:0 17:1 17:2 17:3" export ALSA_OUTPUT_PORTS Предполагается, что оболочкой по умолчанию у пользователя назначен bash. Настройки вступают в силу при входе пользователя. Для временного применения настроек по умолчанию (до конца сеанса пользователя) можно выполнить эти команды прямо из командной строки. 7. Воспроизведение музыки # apt-get install pmidi Воспроизведение музыки: $ pmidi track.mid |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|