PulseAudio:ハードウェアサポートデフォルトのサンプリングレートとビット深度を確認するには?

PulseAudio:ハードウェアサポートデフォルトのサンプリングレートとビット深度を確認するには?

私のハードウェア(Intel HDA)がサポートする最大サンプリングレートとビット深度を設定したいと思います。

価値をどのように知ることができますか?

不要なリサンプリングを避けたいので、この情報が必要です。

答え1

grepこの情報は次のようにクエリできるようです。

grep rates /proc/asound/card0/codec\#0
grep bits /proc/asound/card0/codec\#0
# or in one-line with '-P'
grep -P 'rates|bits' /proc/asound/card0/codec\#0

\エスケープに使用されることに注意してください#。実際のファイル名はcodec#0

上記のコマンドは以下を表示します。

$ grep -P 'rates|bits' /proc/asound/card0/codec\#0
    rates [0x0]:
    bits [0x0]:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24

結果は正確に見えますが、実際にこれが正しいクエリ方法であるかどうかはわかりません。

答え2

~によるとウィキペディア記事、Intel HDAのサンプリングレートは6〜192kHz、サンプリング解像度は8〜32ビットです。製造元がまだ完全な仕様を実装していない可能性があるため、使用するのが最善です。

pactl list sinks | grep -Ei 'name:|sample specification:'

構成を変更した後。

答え3

から引用アーチLinuxウィキ

ALSA に問い合わせて、DAC がサポートする機能を確認できます。

まず、DACカード番号を確認してください。

$ aplay -l
...
card 3: S2 [Schiit Hel 2], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
...

したがって、この例ではカード3になります。サポートされているすべてのサンプリングレートとフォーマットを入手してください。

$ cat /proc/asound/cardX/streamX
...
Playback:
  ...
  Interface 1
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 0x05 (5 OUT) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
    Data packet interval: 125 us
    Bits: 16
    ...
  Interface 1
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 0x05 (5 OUT) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
    Data packet interval: 125 us
    Bits: 24
    ...
  Interface 1
    Altset 3
    Format: S32_LE
    Channels: 2
    Endpoint: 0x05 (5 OUT) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
    Data packet interval: 125 us
    Bits: 32
    ...
...

この場合、S16_LE、S24_3LE、S32_LEはサポートされている形式で、44100、48000、88200、96000、176400、192000、352800、384000はすべての形式でサポートされているサンプルレートです。

答え4

あなたはそれを使用することができますpamcd list-sinks

pacmd list-sinks | grep -e 'name:\|Hz'
        name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
        sample spec: s16le 2ch 44100Hz

関連情報