Я могу получать только 48 кГц аудио от внешнего 24-битного / 96 кГц стерео-микрофона USB устройства.

Вопрос или проблема

Я запускаю приложения с высоким разрешением звука (программы программно-определяемого радио SDR, в данном случае SDR++) на системе, работающей под управлением Ubuntu Budgie 24.04.1. Аппаратное обеспечение ПК — MacBook Pro с процессором Intel 2015 года. Я использую внешний стереозвуковое устройство Cubilux CB5 с 24-битным стереозвуком для стереозвукового ввода через USB. Частота дискретизации звука является важным параметром для этого приложения, потому что она ограничивает эффективную полосу пропускания, которую я могу отобразить на спектральном экране. Приложение SDR, которое я использую, показывает в пользовательском интерфейсе выпадающий список с возможностью выбора звука с частотой 96 кГц для этого устройства, но фактически я получаю только 48 кГц звука, независимо от того, что я делаю. В Windows все работает нормально (хотя только после того, как я выбираю 24-битный стереозвук с частотой 96 кГц на вкладке расширенных настроек звука системы для этого устройства), в противном случае по умолчанию используется 16-битный 48 кГц. Вкладка управления звуком в Budgie Control Center не предоставляет такой уровень детализации. Я не уверен, что именно имеется в виду под звуковым приложением системы Linux (я недавно начал пользоваться Linux), но оно, похоже, не является Pulse Audio, только потому, что оно не распознается в терминале. Какой лучший способ исправить это и какие настройки рекомендуются?

Ответ или решение

Для решения проблемы предоставленной вами конфигурации аудиооборудования и ПО, необходимо углублённо рассмотреть три аспекта: конфигурация системы, использование архитектуры звуковой подсистемы в Linux, а также настройка и тестирование вашего внешнего устройства.

Теория

Прежде всего, понимание того, как обработка и воспроизведение звука настроены в вашей системе на базе Ubuntu Budgie, является ключевым. Звук в Linux обычно управляется несколькими различными подсистемами, самыми известными из которых являются PulseAudio и ALSA.

PulseAudio часто используется как стандартная звуковая система в большинстве распространённых дистрибутивов Linux, предлагая поддержку продвинутых возможности, таких как маршрутизация и переключение между устройствами в реальном времени. Однако, в большинстве случаев по умолчанию оно работает на частоте 48 кГц, что может быть основным ограничением в вашем случае.

ALSA (Advanced Linux Sound Architecture), с другой стороны, является нижележащим уровнем, который непосредственно взаимодействует с аппаратными компонентами. PulseAudio, как правило, работает поверх ALSA, однако, иногда ALSA может быть настроена для прямого взаимодействия с устройствами.

Пример

Рассмотрим ваш практический случай: вы используете внешний USB-устройство Cubilux CB5, которое поддерживает 24-битный стереозвук на частоте 96 кГц. Это устройство прекрасно работает на Windows после соответствующей настройки, что указывает на его исправность и полноценную поддержку необходимых стандартов. В Linux вам необходимо разобраться с настройками ALSA, так как вероятно, ваше устройство не настроено на использование максимальных возможностей.

Применение

  1. Проверка доступных устройств и поддерживаемых форматов:

    • В терминале используйте команду aplay -l для отображения всех звуковых устройств, распознанных системой. Определите номер вашей звуковой карты и устройства.
    • Далее, выполните cat /proc/asound/card<n>/stream0, заменив <n> на номер вашей звуковой карты. Это выведет список поддерживаемых форматов вашего устройства.
  2. Настройка ALSA:
    -Создайте или отредактируйте файл .asoundrc в вашем домашнем каталоге для установки устройства по умолчанию, убедившись, что вы указываете устройство и формат, который оно поддерживает (например, 96 кГц). Пример настроек:

     pcm.!default {
         type hw
         card <ваша_карта>
     }
    
     ctl.!default {
         type hw
         card <ваша_карта>
     }
  3. Отмена ограничений PulseAudio:

    • Если PulseAudio всё-таки установлено, вам нужно будет убедиться, что он не ограничивает частоту дискретизации. Для этого проверьте файл конфигурации PulseAudio, обычно называемый daemon.conf, который находится в /etc/pulse/ или ~/.config/pulse/.
    • Найдите строки default-sample-rate и alternate-sample-rate, установив их в 96000.
  4. Тестирование:

    • После выполнения всех настроек перезапустите звуковую службу с помощью команд pulseaudio --kill и pulseaudio --start.
    • Используйте команды arecord для записи и aplay для воспроизведения звука на 96 кГц для проверки правильности конфигурации.

Таким образом, при правильной настройке ALSA и соответствующей проверке параметров PulseAudio, вы сможете добиться того, чтобы система корректно работала и отображала все возможности вашего внешнего аудиоустройства. Успешное применение этих шагов позволит вам использовать вашу SDR программу на полной полосе пропускания без ограничений, связанных с частотой дискретизации.

Оцените материал
Добавить комментарий

Капча загружается...