Настройка USB-гарнитуры с объемным звуком 7.1

Настройка USB-гарнитуры с объемным звуком 7.1

Я видел несколько версий этой проблемы на этом сайте и на других, но ни одна из них не помогла. Я пытаюсь настроить гарнитуру 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 Game Audio на usb-0000:00:14.0-1, полная скорость: USB Audio

Воспроизведение:

Статус: Стоп

Интерфейс 2

Альтсет 1

Формат: S16_LE

Каналы: 2

Конечная точка: 1 ВЫХОД (АДАПТИВНЫЙ)

Тарифы: 16000 Интерфейс 2 Альтсет 2

Формат: S24_3LE

Каналы: 2

Конечная точка: 1 ВЫХОД (АДАПТИВНЫЙ)

Тариф: 16000

Захватывать:

Статус: Стоп

Интерфейс 1

Альтсет 1

Формат: S16_LE

Каналы: 2

Конечная точка: 1 В (АДАПТИВНЫЙ)

Тарифы: 16000 Интерфейс 1 Альтсет 2

Формат: S24_3LE

Каналы: 2

Конечная точка: 1 В (АДАПТИВНЫЙ)

Тариф: 16000

Любая помощь будет принята с благодарностью. Спасибо.

решение1

Это старый пост, но я надеюсь, что он поможет кому-то. Мне потребовалось немало времени, чтобы поиграться с этой гарнитурой, чтобы добиться надлежащего звука. Я не эксперт по alsa или pulse-audio.

Следующее выполняется в Fedora Linux 33, но, вероятно, будет актуально и для пользователей Ubuntu.

Эта гарнитура имеет канал для голосового чата (низкого качества) и канал для обычного звука. Подключение этой гарнитуры делает доступным для Pulse-Audio только звук низкого качества. Это можно проверить, воспроизведя аудио и повернув колесо громкости на контроллере на 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 — это 16000 Гц, а 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, я выяснил, что у моей карты два устройства. Я предположил, что stream1 находится на втором устройстве (device 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

Убедившись, что качество звука теперь такое, каким должно быть, я создаю звуковую дорожку в Pulse-audio с помощью устройства ALSA.

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

В GNOME я теперь вижу новое аудиоустройство под названием "Turtle Beach Z60 Game Audio". При использовании его в качестве выходного устройства качество звука отличное. Вы можете убедиться, что используется нужный канал, повернув колесо громкости на контроллере USB-шнура. Оно должно реагировать на обычное колесо громкости вместо голосового колеса.

Вы можете сделать изменение в pulse-audio постоянным, добавив эту строку в /etc/pulse/default.pa

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

Обратите внимание, что он показывает только два канала, а не объемный. Вероятно, это настройка, которую можно сделать где-то, но меня не интересует объемный звук. Это, по крайней мере, исправляет качество звука, используя правильный канал.

Возможно, есть более элегантное решение этой проблемы, но мне подходит и это.

Связанный контент