Ubuntu 14.04 がoss-compat
インストールされている場合、次のようになります/dev/snd
:
- コントロールC0
- コントロールC1
- 翻訳
- 翻訳
- ミディC1D0
- ミディC1D1
- ミディC1D2
- ミディC1D3
- 翻訳:
- 翻訳:
- pcC0D1c さん
- pcC0D1p さん
- シーケンス
- タイマー
現在、Ubuntu 16.04 (最近、新規インストールとして 14.04 から 16.04 に移行しました) では、次のようになっています。
- コントロールC0
- 翻訳
- 翻訳
- 翻訳:
- 翻訳:
- pcC0D1p さん
- シーケンス
- タイマー
行方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 は、配置したいインデックスです。実際のサウンド カードが 1 枚ある場合、そのインデックスは 0 になるため、仮想 MIDI カードをインデックス 1 に配置する必要があります。デフォルトでは、仮想 MIDI カードは 4 つの仮想 MIDI デバイスを公開します。インデックスが 1 の場合、デバイスは から になり/dev/snd/midiC1D0
ます/dev/snd/midiC1D3
。
したがって、仮想 MIDI デバイス用のカーネル モジュールがありますが、これは OSS エミュレーションとは関係ありません。