
セットアップにデバイスを追加するsnd_aloop
と、PulseAudio が自動的にそれを検出し、「オーディオデバイス」としてリストします (たとえば、pavucontrol
の [構成] タブを参照)。これは通常のサウンド カードと同じなので、理解するのが困難です。
この質問同様のタイトルが付けられていますが、実際にはソースとシンクの名前を扱っており、必要に応じて変更できました。ただし、一部のアプリケーションではシンク/ソースではなくカード自体の名前を直接参照するため、カード自体の名前も変更したいと考えています。
device.description
しかし、カードの は で取得できますがpacmd list-cards
、それを変更するための同等のものを見つけることができませんでしたpacmd update-card-proplist
。
おそらく、これは pulseaudio ではなく alsa で設定されているのでしょうか? デバイスは としてリストされておりLoopback
、/proc/asound/
これは私のニーズに適した名前です。
カード名はフランス語にローカライズされているため、組み込みのデフォルトではないと思われます。/usr/ および /etc/ でその文字列をテキスト検索しましたが、見つかりません。システムがこの名前をどこから取得するのかはわかりません。
答え1
pulseaudio のソースコードを確認したところ、pavucontrol 構成タブに表示されるカード名は、udev ルールで設定できる「ID_MODEL_FROM_DATABASE」という属性から取得されることがわかりました。たとえば、特定の USB ポートに接続された USB オーディオ カードに特定の名前を設定するには、次のようにします。
/etc/udev/rules.d/85-identify-usb-sound-cards.rules
:
SUBSYSTEM!="sound", GOTO="pa_naming_end"
ACTION!="change", GOTO="pa_naming_end"
KERNEL!="card*", GOTO="pa_naming_end"
DEVPATH=="/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1.2/3-1.2:1.0/sound/card?", ENV{ID_MODEL_FROM_DATABASE}="FT-2900 Audio"
LABEL="pa_naming_end"
答え2
答え3
何らかの解決策: 既存のシンクとカードを削除し、選択した名前で新しいシンク/カードを再作成します...
- シンク/カードを削除します: モジュールをアンロードして (シンク/デバイス名で使用されているモジュールを取得します):
$ pactl list sinks
名前: ...
説明: ...
所有者モジュール: 19 <-- ここ
- 次に、そのモジュールをアンロードして、そのようなシンクを「削除」(無効化)します。
$ pactl unload-module 19
- カードの名前を取得します:
$ pacmd list-cards
- 新しいシンクを作成します。
$ pacmd load-module module-remap-sink master=[card-NAME] channels=2 channel_map=front-left,front-right sink_name=[SOME-sink-NAME] sink_properties=device.description=[SOME-NAME-pavucontrol]