Configuração do fone de ouvido USB Surround Sound 7.1

Configuração do fone de ouvido USB Surround Sound 7.1

Já vi várias versões deste problema neste site e em outros, mas nenhuma ajudou muito. Estou tentando configurar meu fone de ouvido Turtle Beach Z60 para que ele reproduza som surround e tenha encontrado vários problemas.

Eu editei com sucesso /etc/pulse/daemon.confpara que o arquivo default-sample-channels = 8. O problema com isso, entretanto, é que quando tento speaker-test -c 8o lado esquerdo, o traseiro esquerdo, o lado direito e o traseiro direito, os volumes são muito mais baixos do que os volumes dianteiro esquerdo, dianteiro central, dianteiro direito e traseiro central. Além disso, a qualidade do som dos alto-falantes é muito baixa em comparação com a forma como normalmente funcionam no Windows.

Finalmente, quando tento selecionar a placa de som, alsamixerrecebo o erro cannot load mixer controls: Invalid argument.

Meu /proc/asound/card1/stream0arquivo é

Turtle Beach Turtle Beach Z60 Áudio do jogo em usb-0000:00:14.0-1, velocidade total: Áudio USB

Reprodução:

Estado: Parar

Interface 2

Altset 1

Formato: S16_LE

Canais: 2

Ponto final: 1 SAÍDA (ADAPTATIVO)

Taxas: 16000 Interface 2 Altset 2

Formato: S24_3LE

Canais: 2

Ponto final: 1 SAÍDA (ADAPTATIVO)

Tarifas: 16.000

Capturar:

Estado: Parar

Interface 1

Altset 1

Formato: S16_LE

Canais: 2

Ponto final: 1 IN (ADAPTATIVO)

Taxas: 16000 Interface 1 Altset 2

Formato: S24_3LE

Canais: 2

Ponto final: 1 IN (ADAPTATIVO)

Tarifas: 16.000

Qualquer ajuda seria muito apreciada. Obrigado.

Responder1

Este é um post antigo, mas espero que a postagem possa ajudar algumas pessoas. Levei um bom tempo mexendo neste fone de ouvido para obter o som adequado. Não sou especialista em alsa ou pulse-audio.

O seguinte é feito no Fedora Linux 33, mas provavelmente também é relevante para usuários do Ubuntu.

Este fone de ouvido possui um canal para bate-papo por voz (baixa qualidade) e um canal para áudio normal. Conectar este fone de ouvido apenas disponibiliza o som de baixa qualidade para áudio pulsado. Isso pode ser verificado reproduzindo áudio e girando a roda de volume do controlador no cabo USB. Alterar o volume só funciona usando a roda de canais de voz.

Você pode ver o baixo tamanho da amostra:

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

Se eu olhar para os diferentes vapores em /proc/asound/card0 (meus fones de ouvido são card0, os seus podem variar), posso ver que stream0 é 16000 Hz e stream1 é o vapor com qualidade de som adequada:

[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

Esta é uma boa notícia e provavelmente significa que não há problema de driver, mas algo no ambiente do usuário não está selecionando o fluxo de saída correto.

Usando o comando aplay descobri que minha placa tem dois dispositivos. Presumi que o stream1 está no segundo dispositivo (dispositivo 1) que no ALSA é chamado 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

Verifiquei a qualidade deste dispositivo abrindo o VLC com este dispositivo de saída específico. Inicie o VLC e reproduza um arquivo de áudio

vlc --aout alsa --alsa-audio-device hw:0,1

Depois de verificar se a qualidade do som agora é a que deveria ser, crio um coletor no Pulse-audio usando o dispositivo ALSA

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

No GNOME agora posso ver um novo dispositivo de áudio chamado "Turtle Beach Z60 Game Audio". Usando isso como dispositivo de saída, a qualidade do som é ótima. Você pode verificar se o canal correto é usado girando a roda de volume no controlador do cabo USB. Deve reagir à roda de volume normal em vez da roda de voz.

Você pode tornar a alteração no pulse-audio permanente adicionando esta linha a /etc/pulse/default.pa

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

Listar os coletores no pulse-audio agora mostra o tamanho de amostra correto para o coletor

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

Observe que ele mostra apenas dois canais, não surround. Esta é provavelmente uma configuração que pode ser feita em algum lugar, mas não estou interessado em som surround. Isso pelo menos corrige a qualidade do som usando o canal certo.

Talvez exista uma solução mais elegante para este problema, mas funciona para mim.

informação relacionada