Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Как передать во внешний звуковой ЦАП данные без перекодирования?  (Прочитано 171499 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Alexey-S

  • Автор темы
  • Активист
  • *
  • Сообщений: 296
    • Просмотр профиля
Есть WAV файл.
Кодек: Uncompresssed 24-bit PCM audio
Каналы: Стерео
Частота дискретизации: 96 КГц
Скорость потока: 4608 Кбит/сек.

Внешний ЦАП пишет, что на входе идет поток 44.1 КГц и 24 бит.

Существуют ли настройки, определяющие, в каком формате можно передавать данные на внешний ЦАП без перекодирования?

ЦАП умеет самостоятельно обрабатывать
44.1/48/88.2/96/176.4/192/352.8/384 KHz
DSD64/128/256

Оффлайн Aleksandru

  • Администратор
  • Старожил
  • *
  • Сообщений: 3334
    • Просмотр профиля
Ваш внешний ЦАП я так понимаю принимает данные по usb?
Через какой плеер пытаетесь выводить звук?
Под линуксом на сколько я в курсе, напрямую могут выводить звук плееры DeaDBeef и Qmmp.
В DeaDBeef выбираете в настройках: Модуль вывода Alsa, устройство вывода ваше аудиоустройство.
Intel Core i5-6400, GeForce GT 1030, ASUS ROG Strix B250G Gaming, 16GB RAM, KINGSTON SV300S37A240G, Digma Mega S3 DGSM3512GS33T 512ГБ.

Оффлайн vladimirzhuravlev

  • Старожил
  • *
  • Сообщений: 1772
    • Просмотр профиля
В альса микшере выбираем звуковую карту, в pavucontrol нужный выход, плеер deadbeef, в нём в настройках вывода находим выводить поток без преобразования на компе. Формат 24/192000 с полпинка, ресэмплеры не используются при условии, что в цапе работает (имеется) автомат частоты.

Оффлайн Alexey-S

  • Автор темы
  • Активист
  • *
  • Сообщений: 296
    • Просмотр профиля
Про плееры я читал, что как-то можно вывести звук более хорошего качества.
Плеер, это хорошо, но я хотел немного другого.
1. Музыка youtube пишет на экране ПК, что идет 48 КГц, а ЦАП пишет, что принимает 44.1 КГц.
2. Слушать ушами обработку звука в программах, типа Audacity, или Reaper.

Прогон через дополнительный alsa конвертор, из Audacity, или Reaper, это не то, чего хочется слышать.
В качестве примера, звук записан с рекордера, в максимальном для него качестве, в WAV формате.

Да, ЦАП подключен через USB разъем.
« Последнее редактирование: 23 Марта 2023, 17:56:21 от Alexey-S »

Оффлайн Aleksandru

  • Администратор
  • Старожил
  • *
  • Сообщений: 3334
    • Просмотр профиля
Открыть в текстовом редакторе с правами суперпользователя файл:

/etc/pulse/daemon.conf

добавить две строчки:
default-sample-format = s32le

default-sample-rate = 48000

Вам больше нужна вторая строка.
Но впишите и первую, звук будет воспроизводится в более высоком качестве.
https://sllite.ru/2016/03/улучшаем-качество-звука-на-linux-pulseaudio/

И я что то не увидел где Музыка youtube показывает частоту 48 КГц?
Intel Core i5-6400, GeForce GT 1030, ASUS ROG Strix B250G Gaming, 16GB RAM, KINGSTON SV300S37A240G, Digma Mega S3 DGSM3512GS33T 512ГБ.

Оффлайн Alexey-S

  • Автор темы
  • Активист
  • *
  • Сообщений: 296
    • Просмотр профиля
Нашел статью, где предлагали сделать нечто похожее - https://linuxreviews.org/The_Fiio_K5_Pro_Audio_DAC+AMP_On_Linux.
Попробовал, не понял задумки с изменением параметров.
;; default-sample-format = s16le
;; default-sample-rate = 44100

на
default-sample-format = s32le
default-sample-rate = 192000

После внесения изменения, весь звук идет в новой конфигурации. Это не то, что я ожидал.
Мне не надо пытаться "улучшать" и "ухудшать" звук с помощью средств системы. Надо выводить звук в том формате, как он записан. Внешний ЦАП сам должен думать.

Оффлайн Aleksandru

  • Администратор
  • Старожил
  • *
  • Сообщений: 3334
    • Просмотр профиля
Надо выводить звук в том формате, как он записан.
Audacity может воспроизводить напрямую в цап. В настройках нужно выбрать вывод.
Что такое Reaper я не знаю.

Pulseaudio не умеет выводить звук без обработки.
Если только его удалить, и использовать Alsa. Но вам это не понравится.

Intel Core i5-6400, GeForce GT 1030, ASUS ROG Strix B250G Gaming, 16GB RAM, KINGSTON SV300S37A240G, Digma Mega S3 DGSM3512GS33T 512ГБ.

Оффлайн artenox

  • Любитель
  • *
  • Сообщений: 71
    • Просмотр профиля
Как уже было сказано, pulseaudio всегда приводит к какой-то одной частоте, как в Windows Vista+. Настройте в плеере вывод в Альсу. Но, если pulseaudio есть в системе, ALSA выводит по умолчанию в Пульсу Playback through PulseAudio sound server (вот такой парадокс, сделано наверное для совместимости с софтом, который поддерживает только ALSA). Так что вам, помимо вывода в плеере в Альсу также нужно выбрать девайс звуковухи. Должен быть автомат частоты в пределах плеера. 
Такие настройки есть в Deadbeef плеере, в Audacious их даже больше (можно выбрать микшер).

Пользователь добавил сообщение 24 Марта 2023, 02:07:15:

Музыка youtube пишет на экране ПК, что идет 48 КГц, а ЦАП пишет, что принимает 44.1 КГц
Звучит логично. На ютубе Opus по умолчанию, в Opus 48000 стандарт. В Pulse по умолчанию 44100, он приводит к этой частоте.
« Последнее редактирование: 24 Марта 2023, 02:09:09 от artenox »

Оффлайн Alexey-S

  • Автор темы
  • Активист
  • *
  • Сообщений: 296
    • Просмотр профиля
Audacity может воспроизводить напрямую в цап. В настройках нужно выбрать вывод.
Что такое Reaper я не знаю.
Audacity - официальный сайт https://www.audacityteam.org/
Reaper - официальный сайт https://www.reaper.fm/
Обе программы - это обработка звука. Первая с открытым кодом и бесплатная. Вторая просит заплатить за лицензию.

Оффлайн vladimirzhuravlev

  • Старожил
  • *
  • Сообщений: 1772
    • Просмотр профиля
Настройте в плеере вывод в Альсу. Но, если pulseaudio есть в системе, ALSA выводит по умолчанию в Пульсу Playback through PulseAudio sound server
В deadbeef можно и "напрямик" настроить. Ресэмпла при этом нет (если в цапе автомат частоты), цап индицирует принимаемую частоту.

Оффлайн Aleksandru

  • Администратор
  • Старожил
  • *
  • Сообщений: 3334
    • Просмотр профиля
Alexey-S, про Audacity я вам написал выше: она может воспроизводить напрямую в цап. В настройках нужно выбрать вывод.
Программу Reaper я не знаю, поэтому сказать как там у нее обстоит дело с настройками я не знаю.

Как пустить браузер в обход PulseAudio я тоже не знаю. И вряд ли это получится сделать.
Для браузера что бы слушать Музыку youtube без передискретизации достаточно будет и этого:
default-sample-format = s32le

default-sample-rate = 48000

Если вам все же принципиально все напрямую пускать, ищите как удалить PulseAudio и настроить Alsa.
Intel Core i5-6400, GeForce GT 1030, ASUS ROG Strix B250G Gaming, 16GB RAM, KINGSTON SV300S37A240G, Digma Mega S3 DGSM3512GS33T 512ГБ.

Оффлайн Alexey-S

  • Автор темы
  • Активист
  • *
  • Сообщений: 296
    • Просмотр профиля
про Audacity я вам написал выше: она может воспроизводить напрямую в цап
Да, спасибо, это то что мне было нужно.

По умолчанию, выставил
default-sample-format = s24le
default-sample-rate = 48000
Получилось так
$ pactl list short sinks
0 alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1 module-alsa-card.c s32le 2-канальный 4800 SUSPENDED
1 alsa_output.usb-GuangZhou_FiiO_Electronics_Co._Ltd_FiiO_K7-00.iec958-stereo module-alsa-card.c s32le 2-канальный 4800 RUNNING
2 alsa_output.pci-0000_00_1f.3.analog-stereo module-alsa-card.c s32le 2-канальный 4800 SUSPENDED

Кстати, в последней Ubuntu 22.10 выпилен PulseAudio. Вместо этого стоит PipeWire. Получается, что мне удалось настроить на Ubuntu 22.04, на новой версии Ubuntu надо будет искать новый рецепт.

Оффлайн Aleksandru

  • Администратор
  • Старожил
  • *
  • Сообщений: 3334
    • Просмотр профиля
Кстати, в последней Ubuntu 22.10 выпилен PulseAudio. Вместо этого стоит PipeWire. Получается, что мне удалось настроить на Ubuntu 22.04, на новой версии Ubuntu надо будет искать новый рецепт.
Нет, PulseAudio еще не выпилен и звук идет через него.
А вот что бы PipeWire заработал,  с ним нужно манипуляции проводить.

Введите команду: pactl info
И посмотрите выхлоп, в нем видно что используется PulseAudio а не PipeWire:
~$ pactl info
Строка сервера: /run/user/1000/pulse/native
Версия протокола библиотеки: 35
Версия протокола сервера: 35
Выполняется локально: да
Номер клиента: 69
Размер блока памяти: 65472
Имя пользователя: sanek
Имя хоста: sanek-desktop
Имя сервера: pulseaudio
Версия сервера: 15.99.1
Спецификация отсчётов по умолчанию: float32le 2-канальный
Схема каналов по умолчанию: front-left,front-right
Аудиоприёмник по умолчанию: alsa_output.usb-Feixiang_USB_HIFI_Audio-01.iec958-stereo
Источник по умолчанию: alsa_input.usb-Feixiang_USB_HIFI_Audio-01.iec958-stereo
Cookie: 05ac:f135
Intel Core i5-6400, GeForce GT 1030, ASUS ROG Strix B250G Gaming, 16GB RAM, KINGSTON SV300S37A240G, Digma Mega S3 DGSM3512GS33T 512ГБ.

Оффлайн Alexey-S

  • Автор темы
  • Активист
  • *
  • Сообщений: 296
    • Просмотр профиля
Введите команду: pactl info
И посмотрите выхлоп
Мне так кажется, что вы насильно вставили PulseAudio в свою систему.
$ pactl info
Команда «pactl» не найдена, но может быть установлена с помощью:
sudo apt install pulseaudio-utils
И почему я думаю, что нет PulseAudio, так как нет демона и его файла настойки /etc/pulse/daemon.conf. И есть каталог /usr/share/pipewire с файлами настроек PipeWire. Если быть более лояльным, возможно, часть библиотек старой системы PulseAudio используется в новой PipeWire. Вот, только, все настройки идут из новой системы. На это указывает название файла настроек /usr/share/pipewire/pipewire-pulse.conf.
# PulseAudio config file for PipeWire version "0.3.58"
Надо будет изучать новый рецепт приготовления блюда настройки подаваемого звука в уши.

 

Страница сгенерирована за 0.027 секунд. Запросов: 22.