このサイトや他のサイトでこの問題の複数のバージョンを見てきましたが、どれもあまり役に立ちませんでした。私は Turtle Beach Z60 ヘッドセットをサラウンド サウンドで再生できるように設定しようとしていますが、いくつかの問題に遭遇しました。
編集は成功しました/etc/pulse/daemon.conf
。default-sample-channels = 8
ただし、問題は、speaker-test -c 8
サイド左、リア左、サイド右、リア右の音量が、フロント左、フロントセンター、フロント右、リアセンターの音量よりはるかに低いことです。これだけでなく、スピーカーの音質は、Windows で通常動作するものに比べて非常に低いです。
最後に、サウンド カードを選択しようとすると、alsamixer
エラーが発生します
cannot load mixer controls: Invalid argument
。
私の/proc/asound/card1/stream0
ファイルは
Turtle Beach Turtle Beach Z60 ゲームオーディオ (usb-0000:00:14.0-1、フルスピード) : USB オーディオ
再生:
ステータス: 停止
インターフェース2
代替セット 1
フォーマット: S16_LE
チャンネル: 2
エンドポイント: 1 OUT (アダプティブ)
料金: 16000 インターフェース 2 Altset 2
フォーマット: S24_3LE
チャンネル: 2
エンドポイント: 1 OUT (アダプティブ)
料金: 16000
捕獲:
ステータス: 停止
インターフェース 1
代替セット 1
フォーマット: S16_LE
チャンネル: 2
エンドポイント: 1 IN (適応型)
料金: 16000 インターフェース 1 Altset 2
フォーマット: S24_3LE
チャンネル: 2
エンドポイント: 1 IN (適応型)
料金: 16000
どのような助けでも大歓迎です。ありがとうございます。
答え1
これは古い投稿ですが、投稿することで誰かの役に立つことを願っています。適切なサウンドを得るために、このヘッドセットをいじくり回すのにかなり時間がかかりました。私は alsa や pulse-audio の専門家ではありません。
以下は Fedora Linux 33 で実行されていますが、Ubuntu ユーザーにも関係する可能性があります。
このヘッドセットには、ボイス チャット (低品質) 用のチャンネルと通常のオーディオ用のチャンネルがあります。このヘッドセットを接続すると、パルス オーディオで使用できるのは低品質サウンドのみになります。これは、オーディオを再生し、USB コードのコントローラーの音量ホイールを回すことで確認できます。音量の変更は、ボイス チャンネル ホイールを使用してのみ機能します。
サンプルサイズが小さいことがわかります。
pactl list sinks
Sink #5
State: SUSPENDED
Name: alsa_output.usb-Turtle_Beach_Turtle_Beach_Z60_Game_Audio_000000000000-00.analog-stereo
Description: Turtle Beach Z60 Game Audio Analog Stereo
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 16000Hz
/proc/asound/card0 のさまざまなストリームを見ると (私のヘッドフォンは card0 ですが、あなたのヘッドフォンは異なる場合があります)、stream0 は 16000Hz で、stream1 が適切な音質のストリームであることがわかります。
[stephan@nyx ~]$ cat /proc/asound/card0/stream0
Turtle Beach Turtle Beach Z60 Game Audio at usb-0000:00:14.0-1, full speed : USB Audio
Playback:
Status: Stop
Interface 2
Altset 1
Format: S16_LE
Channels: 2
Endpoint: 1 OUT (ADAPTIVE)
Rates: 16000
Bits: 16
Channel map: FL FR
Interface 2
Altset 2
Format: S24_3LE
Channels: 2
Endpoint: 1 OUT (ADAPTIVE)
Rates: 16000
Bits: 24
Channel map: FL FR
Capture:
Status: Stop
Interface 1
Altset 1
Format: S16_LE
Channels: 2
Endpoint: 1 IN (ADAPTIVE)
Rates: 16000
Bits: 16
Channel map: FL FR
Interface 1
Altset 2
Format: S24_3LE
Channels: 2
Endpoint: 1 IN (ADAPTIVE)
Rates: 16000
Bits: 24
Channel map: FL FR
[stephan@nyx ~]$ cat /proc/asound/card0/stream1
Turtle Beach Turtle Beach Z60 Game Audio at usb-0000:00:14.0-1, full speed : USB Audio #1
Playback:
Status: Running
Interface = 4
Altset = 1
Packet Size = 192
Momentary freq = 44100 Hz (0x2c.199a)
Interface 4
Altset 1
Format: S16_LE
Channels: 2
Endpoint: 2 OUT (ADAPTIVE)
Rates: 8000, 11025, 16000, 22050, 24000, 32000, 44100, 48000
Bits: 16
Channel map: FL FR
Interface 4
Altset 2
Format: S24_3LE
Channels: 2
Endpoint: 2 OUT (ADAPTIVE)
Rates: 8000, 11025, 16000, 22050, 24000, 32000, 44100, 48000
Bits: 24
Channel map: FL FR
Interface 4
Altset 3
Format: S16_LE
Channels: 8
Endpoint: 2 OUT (ADAPTIVE)
Rates: 8000, 11025, 16000, 22050, 24000, 32000, 44100, 48000
Bits: 16
Channel map: FL FR FC LFE SL SR FLC FRC
これは良いニュースであり、おそらくドライバーの問題ではなく、ユーザーランドの何かが適切な出力ストリームを選択していないことを意味します。
aplay コマンドを使用して、カードに 2 つのデバイスがあることがわかりました。stream1 は 2 番目のデバイス (デバイス 1) にあると想定しました。これは ALSA では hw:0,1 と呼ばれます。
[stephan@nyx ~]$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Audio [Turtle Beach Z60 Game Audio], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Audio [Turtle Beach Z60 Game Audio], device 1: USB Audio [USB Audio #1]
Subdevices: 0/1
Subdevice #0: subdevice #0
この特定の出力デバイスでVLCを開いて、このデバイスの品質を確認しました。VLCを起動してオーディオファイルを再生します
vlc --aout alsa --alsa-audio-device hw:0,1
音質が期待通りになったことを確認した後、ALSAデバイスを使用してPulse-audioでシンクを作成します。
pactl load-module module-alsa-sink device=hw:0,1
GNOME で、「Turtle Beach Z60 Game Audio」という新しいオーディオ デバイスが表示されるようになりました。これを出力デバイスとして使用すると、音質は良好です。USB コード コントローラのボリューム ホイールを回すと、正しいチャネルが使用されていることを確認できます。音声ホイールではなく、通常のボリューム ホイールに反応するはずです。
/etc/pulse/default.paに次の行を追加することで、pulse-audioへの変更を永続的にすることができます。
load-module module-alsa-sink device=hw:0,1
pulse-audio でシンクをリストすると、シンクの適切なサンプル サイズが表示されるようになりました。
Sink #6
State: RUNNING
Name: alsa_output.hw_0_1
Description: Turtle Beach Z60 Game Audio
Driver: module-alsa-sink.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
サラウンドではなく、2 つのチャンネルのみが表示されることに注意してください。これはおそらくどこかで設定できるものですが、私はサラウンド サウンドには興味がありません。これにより、少なくとも適切なチャンネルを使用することで音質が修正されます。
この問題にはもっとエレガントな解決策があるかもしれませんが、私にとってはこれでうまくいきます。