В Ubuntu 14.04 с oss-compat
установленным файлом у меня было следующее /dev/snd
:
- контрольC0
- контрольC1
- hwC0D0
- hwC0D1
- мидиC1D0
- мидиC1D1
- мидиC1D2
- мидиC1D3
- pcmC0D0c
- pcmC0D0p
- pcmC0D1c
- pcmC0D1p
- последовательность
- таймер
Теперь, в Ubuntu 16.04 (совсем недавно перешел с 14.04 на 16.04 в качестве новой установки), у меня есть только это:
- контрольC0
- hwC0D0
- hwC0D1
- pcmC0D0c
- pcmC0D0p
- pcmC0D1p
- последовательность
- таймер
Они midiCnDn
отсутствуют.
Я заметил в 16.04, oss-compat
предоставляется osspd
(который предоставляется oss-compat
как виртуальный пакет). Я думал, что это проблема, но после замены osspd
на oss-compat
(конкретный пакет с таким именем) все по-прежнему то же самое. Я использовал для сравнения meld
новый и старый etc
каталоги, но безуспешно, похоже, разница не в разной конфигурации в etc
.
Откуда может возникнуть эта разница? Как мне изменить то, что предоставлено? Это опция ядра? Или это действительно что-то, что я пропустил в etc
?
решение1
После комментария @CL. я смог решить проблему, добавив snd-virmidi
строку в конец /etc/modules
. После перезапуска ls /dev/snd
показывает ожидаемые midiCnDn
записи. Если кто-то хочет проверить его немедленно без перезапуска, то sudo modprobe snd-virmidi
может сделать то же самое, но только временно. Добавление строки в конец /etc/modules
необходимо для постоянной загрузки этого модуля.
Если вы хотите, чтобы виртуальная MIDI-карта использовала фиксированный индекс, вы можете добавить /etc/modprobe.d/snd-virmidi.conf
файл создания опции индекса (необходимый способ, начиная с Ubuntu 16.04), а затем добавить строку options snd-virmidi index=n
, где N — это индекс, который вы хотите, чтобы он был. Если у вас есть одна реальная звуковая карта, ее индекс будет 0, поэтому вам нужно будет иметь виртуальную MIDI-карту с индексом 1. По умолчанию виртуальная MIDI-карта будет отображать четыре виртуальных MIDI-устройства. Если индекс равен 1, они будут от /dev/snd/midiC1D0
до /dev/snd/midiC1D3
.
Итак, существует модуль ядра для виртуальных MIDI-устройств, он не связан с эмуляцией OSS.