環繞音效 7.1 USB 耳機設置

環繞音效 7.1 USB 耳機設置

我在這個網站和其他網站上看到過這個問題的多個版本,但沒有一個真正有多大幫助。我正在嘗試設定我的 Turtle Beach Z60 耳機,使其以環繞聲播放,但遇到了許多問題。

我已經成功編輯了,/etc/pulse/daemon.conf這樣default-sample-channels = 8。然而,這樣做的問題是,當我嘗試時,speaker-test -c 8左側、左後、右側和右後的音量遠低於左前、前中、右前和後中。不僅如此,與通常在窗戶上工作的揚聲器相比,揚聲器的音質非常低。

最後,當我嘗試選擇聲卡時,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 個輸出(自適應)

價格:16000 接口 2 Altset 2

格式:S24_3LE

頻道:2

端點:1 個輸出(自適應)

價格:16000

捕獲:

狀態:停止

接口1

替代集 1

格式:S16_LE

頻道:2

端點:1 IN(自適應)

價格:16000 接口 1 Altset 2

格式:S24_3LE

頻道:2

端點:1 IN(自適應)

價格:16000

任何幫助將不勝感激。謝謝。

答案1

這是一篇舊文章,但我希望發布可以幫助一些人。我花了很長時間擺弄這款耳機才獲得正確的聲音。我不是 alsa 或脈衝音頻方面的專家。

以下內容是在 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 中的不同 steam(我的耳機是 card0,你的可能會有所不同),我可以看到 Stream0 是 16000Hz,stream1 是正確的音質 steam:

[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 指令我發現我的卡有兩個裝置。我假設 Stream1 位於第二個裝置(裝置 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 裝置在脈衝音訊中建立接收器

pactl load-module module-alsa-sink device=hw:0,1

在 GNOME 中,我現在可以看到一個名為「Turtle Beach Z60 Game Audio」的新音訊裝置。使用它作為輸出設備,音質很棒。您可以透過轉動 USB 線控制器上的音量輪來驗證是否使用了正確的通道。它應該對正常的音量輪而不是語音輪做出反應。

您可以透過將此行新增至 /etc/pulse/default.pa 來永久變更脈衝音訊

load-module module-alsa-sink device=hw:0,1

現在以脈衝音訊列出接收器會顯示接收器的正確樣本大小

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

請注意,它僅顯示兩個通道,而不顯示環繞聲。這可能是可以在某個地方進行的設置,但我對環繞聲不感興趣。這至少可以透過使用正確的通道來修復音質。

也許這個問題有一個更優雅的解決方案,但這對我有用。

相關內容