On Thu, 17 Apr 2003 14:15:17 +0400 "Karandashev M.A." <[EMAIL PROTECTED]> wrote:
> > Здравствуйте, Алексей. > > Вы писали 3 апреля 2003 г., 21:35:57: > > > Госсен Алексей> зы > Госсен Алексей> кстати, если хочешь поиграться, расскажу, как для alsa 0.9 и > sblive > Госсен Алексей> поставить hardware midi игралку. круто и мало у кого есть > > Нельзя ли поподробнее... Ну что же, можно. Рассказ только длинный будет. 1) Нужно собрать alsa09 c sequenser'ом и с oss (те кто использует alsa дрова с CD или собирал их сам программой make-kpkg modules_image, могут не беспокоиться, sequencer и oss там по дефолту. Кто не уверен, может попробовать modprobe snd-emu10k1-synth, если modprobe не матерится - всё в порядке) Для этого в alsa source дериктории производитcя #./configure --with-sequencer=yes --with-oss=yes && make && make install && ./snddevices 2) Берётся soundblaster live driver cd для виндов и из /cdrom/AUDIO/Common/SFBANK/ копируется файл 8MBGMSFX.SF2 в, скажем /etc/midi. кто хочет, может посадить этот файл в нижний регистр и убрать exec флаг #mv /etc/midi/8MBGMSFX.SF2 /etc/midi/8mbgmsfx.sf2 && chmod 644 8mbgmsfx.sf2 3)# apt-get install awe-drv, там находится такая хорошая программа sfxload, она нам и нужна 4) Исхожу из того, что alsa с oss эмуляцией до этого нормально работает. #modprobe snd-emu10k1-synth если всё нормально, то это всё добро выдаёт lsmod snd-seq-midi 3232 0 (autoclean) snd-emu10k1-synth 3840 1 (autoclean) snd-emux-synth 24544 1 (autoclean) [snd-emu10k1-synth] snd-seq-midi-emul 4736 0 (autoclean) [snd-emux-synth] snd-seq-virmidi 2680 0 (autoclean) [snd-emux-synth] snd-seq-oss 23712 1 snd-seq-midi-event 2944 0 [snd-seq-midi snd-seq-virmidi snd-seq-oss] snd-seq 34572 2 [snd-seq-midi snd-emux-synth snd-seq-midi-emul snd-seq-virmidi snd-seq-oss snd-seq-midi-event] snd-pcm-oss 36736 0 (unused) snd-mixer-oss 8960 1 [snd-pcm-oss] snd-emu10k1 55424 2 [snd-emu10k1-synth] snd-hwdep 3520 0 [snd-emu10k1] snd-pcm 49056 0 [snd-pcm-oss snd-emu10k1] snd-timer 10048 0 [snd-seq snd-pcm] snd-util-mem 1312 0 [snd-emux-synth snd-emu10k1] snd-ac97-codec 22496 0 [snd-emu10k1] snd-rawmidi 12512 0 [snd-seq-midi snd-seq-virmidi snd-emu10k1] snd-seq-device 3948 0 [snd-seq-midi snd-emu10k1-synth snd-emux-synth snd-seq-oss snd-seq snd-emu10k1 snd-rawmidi] snd 25064 0 [snd-seq-midi snd-emux-synth snd-seq-virmidi snd-seq-oss snd-seq-midi-event snd-seq snd-pcm-oss snd-mixer-oss snd-emu10k1 snd-hwdep snd-pcm snd-timer snd-util-mem snd-ac97-codec snd-rawmidi snd-seq-device] надо ещё только загрузить soundfonts в память #sfxload /etc/midi/8mbgmsfx.sf2 Готово. проверяем это дело всё так: #aconnect -o client 64: 'External MIDI 0' [type=kernel] 0 'MIDI 0-0 ' client 65: 'Emu10k1 WaveTable' [type=kernel] 0 'Emu10k1 Port 0 ' 1 'Emu10k1 Port 1 ' 2 'Emu10k1 Port 2 ' 3 'Emu10k1 Port 3 ' или #pmidi -l 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 и проигрываем: #pmidi -p 65:0 файл.mid так вот, работают четыре(!) порта параллельно - 65:0 65:1 и т. д. и можно четыре midi файла проигрывать одновременно. Или один в четыре канала. Вот нужно ли? Кстати, здесь грабли. pmidi на woody cdшках скомпилирован для alsa05. Придется слазить на http://packages.debian.org и скачать версию для alsa09. Вроде бы как есть даже для stable. Или пересобрать pmidi самому. Почему pmidi? Имхо само качественно играет. Ещё программы для проигрования midi файлов playmidi -a файл.mid // из пакета playmidi или GUI tkmidi // из пакета awe-midi 5) Осталось посадить это в какой нибудь стартовый скрипт и готово. Мой скрипт проверяет заодно, загружены ли alsa дрова или нет, если да, то инсталлируется sequencer. У моего запасного ядра никаких alsa дров не поставлено и при его загрузке не пытается этот самый sequencer инсталлироваться. ================================================================== #!/bin/sh # находится в /etc/init.d/sfxload.sh soundcard=emu10k1 if [ "$(lsmod | $soundcard | sed 's/\([[:graph:]]*\).*/\1/')" ] then modprobe snd-emu10k1-synth echo sequencer installed! /usr/bin/sfxload /etc/midi/8mbgmsfx.sf2 echo soundfonts loadet! else echo no alsa driver for sequencer found, aborting... fi exit 0 ================================================================== и кому как нравится, а я забиваю гвозди микроскопом :-) #ln -s /etc/init.d/sfxload.sh /etc/rc2.d/S98sfxload.sh p.s. Ходил слух, не знаю, можно этому верить или нет, но якобы всё вышеопианое не работает с sblive карточками последних ревизий. У меня, как говорит lspci - rev 6. -- Guten Tag, Alexey