カードのデバイス説明を変更する

カードのデバイス説明を変更する

セットアップにデバイスを追加する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"

結果 (私のセットアップには複数の USB オーディオ インターフェイスが含まれます): pavucontrol 設定タブ

答え2

pavucontrolPulseaudioにモジュールデバイスマネージャがロードされている場合、デバイス名はPulseaudio()で変更できます。

モジュールがすでにロードされているかどうかを確認します -pactl list short modules | grep device-manager

追加する必要がある場合 -pactl load-module module-device-manager

モジュールマネージャがロードされている場合は、「ポート:」ドロップダウンメニューを右クリックしてデバイスの名前を変更できます。

ここに画像の説明を入力してください

答え3

何らかの解決策: 既存のシンクとカードを削除し、選択した名前で新しいシンク/カードを再作成します...

  1. シンク/カードを削除します: モジュールをアンロードして (シンク/デバイス名で使用されているモジュールを取得します):

$ pactl list sinks

名前: ...

説明: ...

所有者モジュール: 19 <-- ここ

  1. 次に、そのモジュールをアンロードして、そのようなシンクを「削除」(無効化)します。

$ pactl unload-module 19

  1. カードの名前を取得します:

$ pacmd list-cards

  1. 新しいシンクを作成します。

$ 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]

関連情報