[sisyphus] как запускать эмулятор timidity без "грязного хака"?

Mikhail Yakshin greycat.na.kor на gmail.com
Пн Май 11 11:46:55 MSD 2009


2009/5/10 Alexandr Isaev <alex_is на sakhalin.ru>:
> Vitaly Lipatov пишет:
>> On 9 мая 2009, Alexandr Isaev wrote:
>>> Как правильно запускать timidity в качестве эмулятора midi
>>> устройства? Самое достойное предложение какое удалось найти на
>>> просторах инета - запихать команду `timidity -iA  >/dev/null
>>> &` в /etc/rc.local. ALT-овцы подобные деяния обычно обзывают
>>> "грязным хаком". Никаких других вариантов решения проблемы
>>> найти не удалось. Какое в ALT "рекомендованное" решение
>>> soft-midi для чипсетов без поддержки hw-midi?
>> Я думаю его надо сделать - написать скрипт запуска в /etc/init.d
>> и конфигом в /etc/sysconfig/timidity
>>
> Полностью солидарен с данным вариантом решения, но к сожалению не силён
> в написании подобных вещей. ИМХО неплохо-бы сделать какое-то стандартное
> решение для сизифа.

Объективно:

В Debian/Ubuntu пакет timidity ставит соответствующий скрипт в
/etc/init.d + тащит соответствующего непривилегированного пользователя
+ многие программы пропатчены для того, чтобы после запуска по
умолчанию иметь выбранным MIDI-порт 128:0 (если оставить всё как есть
- то большинство проигрывателей или MIDI-утилит почему-то ужасно любят
идти на "первый обнаруженный" MIDI-порт, которым почти всегда будет
"бесполезный" для целей проигрывания MIDI thru 15:0).

В OpenSuSE сервер timidity стартуют "хаком" в /etc/init.d/alsasound -
но там, насколько я помню, в целом всё плохо - патчей в комплекте нет
(нужно руками их подкладывать и настраивать timidity.cfg), приложения
с timidity не интегрированы.

В Gentoo порт timidity++ ставит /etc/init.d/timidity. Насчет
пропатченности приложений, к сожалению, не знаю.

В Arch есть пакет /extra/timidity++, который ставит
/etc/rc.d/timidity++. Пропатченности приложений, судя по
http://wiki.archlinux.org/index.php/Timidity - нет.

Субъективно:

Кроме timidity++ есть еще:
* fluidsynth, который по сути выполняет такие же функции, но на основе
относительно более современных soundfonts.
* linuxsampler, который делает то же самое, но еще более навороченным
образом (в основном) на основе gigasampler'ных библиотек.

Возможно, если уж идти выполнять квест "сделать всё максимально
хорошо" - стоит обеспечить поддержку всех трех - причем с какой-нибудь
автоматикой вида:

* "хочу поставить софтверный MIDI-синтезатор"
" "хочу поставить софтверный MIDI-синтезатор с вот таким вот soundfont'ом"
* "хочу поставить fluidsynth"
* "хочу поставить fluidsynth с вот таким вот soundfont'ом"

Причем во всех случаях всё автоматом конфигурируется. В идеале даже
запуск MIDI-сервера должен быть сведен к какому-то абстрактному
/etc/init.d/software-midi, наверное, как и запуск *dm'ов - с выбором
где-то отдельно, какой именно запускать.

-- 
WBR, Mikhail Yakshin


Подробная информация о списке рассылки Sisyphus