1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ubuntu環境でのUSBオーディオデバイス番号の指定

Last updated at Posted at 2024-11-08

実現したいこと

2台のウェブカメラと1台のマイクを使ってそれぞれの入力を別のプログラムで動かしたい

発生した問題

PCにUSBデバイス(マイク付きwebカメラ2台・USBマイク)を複数台刺したときに,デバイスが認識する順番によってプログラム内で指定するオーディオカードの番号が変わる.

環境

Ubuntu22.04

総評

基本はこれでうまくいくが,一部デバイスで上手くいかないこともあり.(高いデバイスの方が対応しているイメージ)
デバイスの指定によりプログラムの安定化が増すのでマイクを複数使用する場合はぜひやっておきたい.

解決編

方針

デバイスによってオーディオカードの番号をあらかじめ指定することで,固定化する

方法

  • デバイスの情報(使用するドライバ名?)を調べる
$ cat /proc/asound/modules
 0 snd_usb_audio
 1 snd_usb_audio
 2 snd_usb_audio
 9 snd_hda_intel
10 snd_hda_intel
  • 必要に応じてデバイスのVendorIDを調べる
$ lsusb

//ID[VendorID][ProductID]となっている.
                    // ↓ココ↓
Bus 005 Device 005: ID 046d:094c Logitech, Inc. Brio 100
Bus 005 Device 006: ID 0411:02da BUFFALO INC. (formerly MelCo., Inc.) USB 2.0 Camera
Bus 005 Device 007: ID 0ecb:205f C-Media Electronics Inc. JBL Quantum Stream
  • /etc/modprobe.d/alsa-base.confを編集する

$ sudo vim /etc/modprobe.d/alsa-base.conf

// options [ドライバ名] index=[指定したいデバイス番号]の形式で書き込む
options snd_hda_intel index=9,10

//使用するドライバ名が同じ機種の場合 vid=0x[デバイスのVendorID]で指定できる
options snd_usb_audio index=0 vid=0x0ecb
options snd_usb_audio index=4 vid=0x046d
  • 再起動等
  • arecord -l コマンドで反映されたかどうか番号の確認

発生した問題

原因不明だが一部この方法でうまくいかないデバイスが存在する.
手元のデバイスのうち成否は以下の通り

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?