[Comm] Re: ALSA + Midi + CMi8738

Denis G. Samsonenko =?iso-8859-1?q?earthsea_=CE=C1_ngs=2Eru?=
Вт Июн 15 15:22:59 MSD 2004


День добрый!

В общем покопался я в /etc/modules.conf и вроде midi часично заработало.

Вот выдержка из /etc/modules.conf:

# ALSA native device support
alias char-major-116 snd
options snd snd_major=116 snd_cards_limit=1
alias snd-card-0 snd-cmipci
options snd-cmipci enable_midi=1 mpu_port=0x330 fm_port=0x388
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

# OSS/Free setup
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss

Порывшись на сайте проекта alsa я обнаружил, что midi теперь по
дефолту отключено, и его надо принудительно включать (см. строчку
options... выше).

Прописав "mpu_port=0x330" или "fm_port=0x388" playmidi перестаёт
ругаться, что нет устройства /dev/sequencer, правда в первом случае он
всё равно говорит, что нет правильного устройства воспроизведения. А
вот в случае присутствия в /etc/modules.conf опции "fm_port=0x388"
playmidi начинает нормально проигрывать midi-файлы.

Так что если пользоваться playmidi, то достаточно включить строку
"options snd-cmipci fm_port=0x388" в /etc/modules.conf. 

Для полноты картины:

[denis на ogion denis]$ cat /proc/asound/oss/sndstat 
Sound Driver:3.8.1a-980706 (ALSA v1.0.2c emulation code)
Kernel: Linux ogion.nsu.ru 2.4.22-std-up-alt22 #1 Tue Apr 27 18:45:13
MSD 2004 i686
Config options: 0

Installed drivers: 
Type 10: ALSA emulation

Card config: 
C-Media PCI CMI8738-MC6 (model 55) at 0xc800, irq 10

Audio devices:
0: C-Media PCI DAC/ADC (DUPLEX)

Synth devices:
0: OPL3 FM synth

Midi devices:
0: MPU-401 (UART) 0-0

Timers:
7: system timer

Mixers:
0: CMedia PCI

а также:

[denis на ogion songs]$ pmidi -l
 Port     Client name                       Port name
 64:0     Rawmidi 0 - MPU-401 (UART) 0-0    MPU-401 (UART) 0-0
 65:0     OPL3 FM synth                     OPL3 FM Port
[denis на ogion songs]$ aconnect -o -l
client 64: 'Rawmidi 0 - MPU-401 (UART) 0-0' [type=kernel]
    0 'MPU-401 (UART) 0-0'
client 65: 'OPL3 FM synth' [type=kernel]
    0 'OPL3 FM Port    '

Как сказано выше, playmidi всё хорошо проигрывает. А вот если давать
команду

pmidi -p "64:0" some.mid

или

pmidi -p "65:0" some.mid

то он делает вид, что играет, но из колонок ничего не раздаётся.

Вот такие дела.

Всего доброго,

Денис.

---------------
earthsea на ngs.ru



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