Страница 1 из 1

Как проверить работоспособность MIDI-интерфейса?

Добавлено: 08 ноя 2006, 17:41
raferty
Прога использует миди-интерфейс. Хочу проверить работает ли он. Толком не понял, как это сделать. Но вот строчка в файле /proc/asound/oss/sndstat меня заинтересовала Midi devices: NOT ENABLED IN CONFIG Кто бы объяснил что за config такой? И как сделать midi enabled. Всем заранее спасибо.
Система. SuSE 10.0, файлов /dev/sequencer и /dev/midi00 нет. Звуковая на чипе CMI8738.

Добавлено: 08 ноя 2006, 21:09
mihail
Установіть пакет Timidity. Возможно в твоей Сусе он уже собран как ALSA-сервер. Подробнее об этом читай здесь:
http://www.linux.by/wiki/index.php/FAQ_ ... a_Timidity

Добавлено: 08 ноя 2006, 22:03
Llama
mihail, мне казалось, что timidity - это как раз софтовый эмулятор MIDI-синтезатора и к MIDI-интерфейсу звуковой карточки имеет весьма далекое отношение...
raferty, что за прога, и что значит "использует" - использует MIDI-интерфейс для общения с внешним девайсом, либо использует встроеный MIDI-синтезатор или что-то еще?

Добавлено: 09 ноя 2006, 09:03
raferty
Прога работает с внешним устройством, которое подключается на midi-порт звуковой.

Добавлено: 10 ноя 2006, 15:01
mihail
Это который джойстик D-SUB , что ли? Понял.
Вот тут есть один из факов про подключение подключение к midi-разьёму.

http://www.mgul.ac.ru/~t-alex/Linux/Sou ... WTO-6.html

Добавлено: 10 ноя 2006, 15:54
Llama
raferty, м... если это таки джойстик - то надо ковырять в сторону game port

Добавлено: 13 ноя 2006, 10:26
raferty
Это девайс, который регистрирует телефонные звонки. Работает через midi. Софтина по крайней мере требует устройств midi-in и midi-out в своих настройках.

Добавлено: 13 ноя 2006, 10:51
raferty
mihail писал(а):Это который джойстик D-SUB , что ли? Понял.
Вот тут есть один из факов про подключение подключение к midi-разьёму.

http://www.mgul.ac.ru/~t-alex/Linux/Sou ... WTO-6.html
#include <fcntl>

main()
{
int fil, a;
char b[256];

fil=open("/dev/midi", O_RDWR);
for(;;)
{
a=read(fil, b, 256);
write(fil, b, a);
}
}
Дело в том, что у меня нет устройства /dev/midi. И это меня слегка напрягает. Создаётся впечатление, что его отсутствие - это признак того, что midi не работает. Но обязательно ли надо это устройство или нет я не знаю.

Добавлено: 13 ноя 2006, 11:21
Llama
raferty, повторюсь еще раз, то, что вы ищите к MIDI практически никакого отношения не имеет, вам надо копать в сторону Game Port

Добавлено: 13 ноя 2006, 12:01
raferty
Llama писал(а):raferty, повторюсь еще раз, то, что вы ищите к MIDI практически никакого отношения не имеет, вам надо копать в сторону Game Port
Game Port - физически это ведь тоже самое? В чём разница?

Добавлено: 13 ноя 2006, 13:01
Samotnik
В том как это реализовано в ядре. А точнее где это реализовано.
/dev/midi относится к генерации звука и только. Т.е. это часть ядра отвечающая за звук.
game port - порт к которому могут быть подключены железки не имеющие к звуку никакого отношения.

Добавлено: 13 ноя 2006, 13:04
Llama
в терминогии... MIDI в случае linux == MIDI-синтезатор (аппаратный либо программный) + все что с им связано. GamePort - интерфейс в который втыкаются разного рода девайсы. Соответсвенно синтезатор поддерживается однми модулями, game port - другими. Т.е. можно считать интерфейс и синтезатор друг с другом не связаны связаны. Поддержка gameport (интерфейс высокого уровня) реализуется с помощью модуля gameport, низкий уровень - с мопомщью драйвера звуковой карты. Проверьте, загружен модуль gameport. Если не загружен - то modprobe gameport и см. что пишется в dmesg. Если модуль загружен - то см. опять же в dmesg:

Код: Выделить всё

# lsmod |grep gameport
gameport               14600  2 snd_au8830
# dmesg |grep -i gameport
gameport: AU88x0 Gameport is pci0000:00:0d.0/gameport0, speed 1988kHz
Если модуль загружен и ругни в dmesg не наблюдается, а файл устройства все равно не создается, то можно сделать это руками:
mknod /dev/midi c 14 2

Добавлено: 13 ноя 2006, 13:32
Samotnik
raferty, приведенный кусок кода относится к управлению MIDI-клавиатурой. Клава работает как устройство управления синтезатором. А для регистрации телефонных звонков ИМХО game port должен работать в режиме UART.