Я видел несколько версий этой проблемы на этом сайте и на других, но ни одна из них не помогла. Я пытаюсь настроить гарнитуру 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
Обратите внимание, что он показывает только два канала, а не объемный. Вероятно, это настройка, которую можно сделать где-то, но меня не интересует объемный звук. Это, по крайней мере, исправляет качество звука, используя правильный канал.
Возможно, есть более элегантное решение этой проблемы, но мне подходит и это.