web-dev-qa-db-ja.com

Alsa&JACK-カード名とデバイス名(異なる命名規則)

オーディオデバイスの名前について少し混乱しています。コマンドaplay -lを使用すると、システム上のすべてのオーディオデバイスのリストが表示されます。

**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: VT1708S Analog [VT1708S Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 2: VT1708S Alt Analog [VT1708S Alt Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 3: VT1708S Digital [VT1708S Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: USB [Scarlett 2i4 USB], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

順序はcard 0card 1card 3であり、card 2はリストされていないことに注意してください。これは私を混乱させます。

ここのすべてのエントリは(カードではなく)単一のデバイスであることを知っているので、正しい場合(間違っている場合は確認または修正してください)、サウンドカードにhd:3,0のように「Scarlet2i4」という名前を付けますか?それとも、hd:2,0が欠落しているため、card 2ですか?

JACKを開いてオーディオ設定を微調整したい場合、上記の名前とは異なる名前になります。名前は次のとおりです。

  • hw:USB,0
  • hw:USB
  • hw:0
  • plughw:0
  • /dev/audio
  • /dev/dsp

JACKはこのデバイステーブルをどこで取得しますか?これはどのような命名規則であり、どのデバイスがどれであるかをどのように判断できますか(JACKに主に「Scarlet2i4」を使用させたい)?これを知らせるターミナルコマンドはありますか?

現時点では、私の~/.jackrc設定は次のようになっています。

/usr/bin/jackd -nziga-scarlet-2i4 -t2000 -dalsa -dhw:0 -r48000 -p128 -n2
3
71GA

各カードには番号(「インデックス」とも呼ばれます)があります。通常、ドライバーは最初の空き番号を取得しますが、ドライバーに別の番号を使用させることもできます。以前はプラグが抜かれたデバイスによって使用されていたため、番号が空いたままになる可能性もあります。

各カードには、名前( "HDA NVidia"など)と一意のID( "NVidia"など)があります。

各PCMデバイスには、番号/インデックス(固定され、ドライバーによって決定されます)、名前、およびID(通常、IDと名前は同じです)があります。

hw:0,0のようなデバイス名では、最初のパラメーターはカード(カード番号またはカードIDのいずれか)であり、デフォルトは0です。2番目のパラメーターはデバイス番号です(IDを使用することはできません)。デフォルトは0です。

ALSAデバイス名では、hwはハードウェアデバイスを指定し、plughwは、ハードウェアとアプリケーションの機能が一致しない場合にサンプルフォーマットとレートを自動的に変換するプラグインを追加します。 (ジャックは通常これを必要としません。)

ジャックはデバイスのリストを持っていません。そのウィンドウは、Jackを起動するために一般的に使用されるQJackCtlツールです。

/dev/audioおよび/dev/dspデバイスはOSSデバイスです。このインターフェースはLinuxでは廃止されており、このリストに表示しても意味がありません(これらのデバイスは実際にはhw:0と同じです)。

QJackCtlのデフォルトのリストには、最初のカード以外のカードは表示されません。リストの横にあるボタンをクリックする必要があります。

2
CL.

aplayから-lScarlettインターフェイスはカード3、デバイス0 = hw:3,0です。

QjackCtlは、カード番号ではなくエイリアス名(hw:USB、0 = hw:3,0)を使用して、カード番号が変更された場合に発生する可能性のある問題を回避します。
エイリアス名のカードのリストを取得するには:

 cat /proc/asound/cards

QjkackCtlは以前は〜/ .jackdrc設定を使用していましたが、現在はそれを無視し、独自の設定を使用しています。 〜。/ jackdrcファイルがない最近のLinuxOSが1つインストールされています

別のアプリケーションがQjackCtlなしでJACKを使用する場合に備えて、QjackCtlに設定を〜/ .jackdrcに保存させることができます。

〜/ .jackdrcにはオンボードオーディオカード0である '-dhw:0'があり、qjackctlと一致するように-dhw:USB、0に変更して、USBデバイスを使用できます。

0
nik gnomic