[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: MIDI



On Mon, Jan 06, 2003 at 05:26:35PM +0300, Sergey A. Sholokhov wrote:
> А как под дебиан/или вообще под линукс midi настроить,
> Звук SBLive! дрова с opensource.creative.com, стоят в /usr/local/
> ядро 2.4.18 почти оригинальное тока DMA по дефолту установлен
> и unix.o в ядре а не в модулях вот.

Для того, чтобы проигрывать MIDI-файлы необходимо либо применить
программный синтезатор TiMidity++, либо воспользоваться возможностями
самой карты по синтезу звука. Потребуется установить пакет awesfx
(потребуются программы sfxload и gusload из этого пакета,
в дистрибутиве Debian эти программы находится в пакете awe-drv,
причем часть утилит устанавливается в каталог /usr/lib/awe/).
Исходные тексты этих утилит, равно как и проигрыватель MIDI drvmidi,
входят в комплект драйверов для звуковых карт AWE32, разработанных
Takashi Iwai. Драйверы для AWE можно найти на странице Creative:
http://opensource.creative.com/. Страницу Takashi Iwai, посвященную AWE,
можно найти по адресу http://members.tripod.de/iwai/awedrv.html).
Для проигрывания MIDI надо загрузить ``звуковой шрифт'' (библиотеку) в
оперативную память. Данная карта не имеет втроенного запоминающего
устройства с библиотекой сэмплов, поэтому требуется их загрузка перед
использованием синтезатора. Для использования программы sfxload нужен файл
``звукового шрифта'' SF2 (или SBK). Загружаем библиотеку:

sfxload <файл.sf2>

По умолчанию библиотека загружается с уровнем звука 70%, поэтому звук
может быть тише, чем при прослушивании PCM. Опциея -V позволяет изменить
уровень звука при загрузке библиотеки. Например,

sfx -V100 2mbgmgs.sf2

загрузит со стопроцентной громкостью файл 2mbgmgs.sf2.
Информация о загруженных библиотеках доступна через файл
/proc/asound/CARD_0/wavetableD1, а о MIDI-устройствах и синтезаторе ---
в /proc/asound/seq/oss (предполагая использование драйверов ALSA).
Количество оставшейся свободной памяти можно получить командой

sfxload -M

С помощью программы gusload можно загружать патчи для GravisUltrasound.

gusload [-b <номер>] [-p <номер>] <файл.pat>

Опция -b указывает номер банка (по умолчанию 0), а опция -p --- номер
инструмента (по умолчанию берется из файла).
Загрузив ``звуковой шрифт'' можно прослушивать MIDI-файлы, например,
используя программу playmidi ().

playmidi -e <файл.mid>

Можно также использовать xplaymidi --- версию для X Window.
Для ALSA существует проигрыватель MIDI pmidi (). Вначале следует
запустить pmidi -l, чтобы получить список доступных устройств:

---------------------Cut here------------------------
 Port     Client name                       Port name
 64:0     External MIDI 0                   MIDI 0-0
 65:0     Emu10k1 WaveTable                 Emu10k1 Port 0
 65:1     Emu10k1 WaveTable                 Emu10k1 Port 1
 65:2     Emu10k1 WaveTable                 Emu10k1 Port 2
 65:3     Emu10k1 WaveTable                 Emu10k1 Port 3
---------------------Cut here------------------------

Теперь можно проигрывать файл, указав pmidi, с каким портом работать:

pmidi -p 65:0 <файл.mid>

В пакете awe-midi можно найти проигрыватель MIDI, написанный специально
для работы с картами AWE

drvmidi <файл.mid>

К этой программе существует графический интерфейс tkmidi, написанный на
Tcl/Tk.

Однако если модуль звукового драйвера будет выгружен из памяти, то
вместе с ним будет выгружена и библиотека. Придется загружать ее повторно
вручную. Для автоматической загрузки библиотеки сэмплов можно применить
следующий прием:
добавить в файл /etc/modules.conf запись

---------------------Cut here------------------------
post_install snd-seq	/usr/bin/sfxload <файл.sf2>
---------------------Cut here------------------------

Теперь после загрузки этого модуля будет подгружаться библиотека.
Библиотеки ``звуковых шрифтов'' SF2 можно найти здесь:
ftp://ftp.lysator.liu.se/pub/awe32.

TiMidity++ также можно прикрутить к ALSA и использовать вместо
синтезатора звуковой карты.


-- 
Andrey V. Kiselev
Scientific Research Center for Ecological Safety Russian Academy of Sciences
Office phone:  +7 812 2307834  ICQ UIN 26871517



Reply to: