Вывод звука на USB-ЦАП

Автор guamoko, 19 июля 2017, 20:27:13

« назад - далее »

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

guamoko

Добрый день, коллеги! Это моё первое сообщение, поэтому заранее прошу прощения за возможно глупые вопросы. Постараюсь максимально подробно описАть проблему. Задача следующая: выводить bitperfect на внешний ЦАП по USB с помощью ALSA и плеера MPD.
Итак, в наличии Beaglebone Black. С официального сайта скачан последний релиз Debian 8.7 Jessie IoT (non-GUI) и записан на SD-карту. Далее накатил ядро. Вывод uname -a ниже.
Linux beaglebone 4.9.38-armv7-rt-x4 #1 SMP PREEMPT RT Sun Jul 16 16:48:19 UTC 2017 armv7l GNU/Linux
Затем скачал MPD и применил к нему RT патч. Собрал MPD. Указал в конфиге девайс для вывода звука. Стартую MPD, всё работает, но звук выходит с жутким треском. Команда top показывает что прерывание, которое отвечает за USB (как я понял) начинает нещадно поедать ресурсы. Скриншот putty прикрепил. Я не силён в Линуксе, но с командной строкой дружу. Прошу помощи у сообщества дабы разобраться самостоятельно не получается. Предвидя вопрос "а зачем?" отвечу, занимаюсь софтвенной частью цифрового транспорта для вывода качественного звука. Некоторый опыт уже имеется, но с такой проблемой столкнулся впервые. Заранее благодарен за помощь!

bob1704

#1
Цитата: guamoko от 19 июля 2017, 20:27:13Далее накатил ядро


не силен в Вашей архитектуре, но rt ядра все разные,  нужно подобрать тупым перебором то которое не будет скрипеть. Более ранние версии попробуйте 4.4 итд. всетаки  Jessie

если конечно Вы не разраб ;) и не хотите копаться в выхлопах консоли

https://github.com/RobertCNelson - скажите лень гуглить, а кроме этого девелопера, rt ядра для Вашей архитектуры никто не пилит? так и у него их целая куча последнее 4.13 :-\ или у него спросите
мол роберт подскажи какое ядро   не будет скрипеть ;D

guamoko

Цитата: bob1704 от 21 июля 2017, 16:35:09нужно подобрать тупым перебором
Уже 4 ядра попробовал. Ок. Буду пробовать ещё. Спасибо!

sidbar

У меня две звуковых, одна pci, бывает такой жуткий треск, помогает только перезагрузка, зависимость от чего-либо пока не отследил.
Devuan GNU/Linux

Padawan

я прочитал Вашу тему еще и на линукс.орг
ИМХО направление движения выбрано не очень правильно:
1) прочитав характеристики Вашего ЦАПа в том числе на его официальном сайте я не нашел слова "асинхронный".
Может быть включить в систему асинхронный ЦАП, тогда задача "транспорта" будет заполнять своевременно его буфер - это не потребует ни скорости,
ни rt. Т.е. качество звука практически не будет зависеть от "транспорта"
Примеры: http://hi-audio.ru/id/cap-smsl-m8a-145.html   http://msaudiolab.com/products/dac10usb.html
2) Если не идти по пути асинхронного соединения, то возникает вопрос синхронизации источника и ЦАПа - его решение в области качественного звука намного дороже
3) RT в звуке на самом деле нужно для записи звука (когда мы не знаем, что произойдет в следующий момент, и надо реагировать на событие), а не его воспроизведения из файла.
Если у Вас все хорошо работает на воспроизведение без RT - так оно Вам и не надо.
4) mpd - это сервер, а взаимодействует с ЦАПом  и "жутко трещит" клиент (совсем другая софтина) -   это вопрос вообще как-то опущен.
5) прочитал про яблочный bitperfect - эта софтина монопольно захватывает звуковой выход - ее аналогом в Линуксе принято считать Jack, а не Alsa

Извините если написал не то, что Вы хотели бы прочитать.

guamoko

Цитата: Padawan от 22 июля 2017, 01:07:39не нашел слова "асинхронный"
Он не асинхронный.
Цитата: Padawan от 22 июля 2017, 01:07:39RT в звуке на самом деле нужно для записи звука
RT мне нужно не столько для MPD, сколько для прерываний, участвующих в процессе. RTC, USB, cifs, ethernet и т. д.

bob1704

#6
Цитата: Padawan от 22 июля 2017, 01:07:39RT в звуке на самом деле нужно для записи звука (когда мы не знаем, что произойдет в следующий момент, и надо реагировать на событие), а не его воспроизведения из файла.
Если у Вас все хорошо работает на воспроизведение без RT - так оно Вам и не надо.


простите но это вообще чушь :(

Cообщение объединено 22 июля 2017, 14:47:09

guamoko почему джесси? Вы чем себя мотивировали? дл этого устройства и убунту есть а это свежие пакеты альсы, usb audio, кодеки, и библиотеки.
и еще, после смены ядра, пакеты alsa и systemd не переустанавливали?- я  бы попробовал :-[ 

guamoko

Цитата: bob1704 от 22 июля 2017, 12:55:01guamoko почему джесси? Вы чем себя мотивировали?
Официальным сайтом Beaglebone.
Ubuntu попробую. Спасибо!

bob1704

#8
Цитата: guamoko от 22 июля 2017, 19:29:14Спасибо!

Пожалуйста  :)А Вам спасибо за  первый аудиофильский пост на нашем форуме ;) если позволите напоследок хочу обратить Ваше внимание на тот факт что плеер развивается быстрее, чем патч, версия MPD имеет значение,я бы и здесь покопал ..... а вдруг ;D


Cообщение объединено 22 Июля 2017, 22:32:42

Цитата: guamoko от 22 июля 2017, 19:29:14Официальным сайтом Beaglebone.

сюда загляните 8)           http://mubox.voyage.hk/    http://mubox.voyage.hk/beagleboneblack       

guamoko

#9
Цитата: bob1704 от 22 июля 2017, 22:03:50А Вам спасибо за  первый аудиофильский пост на нашем форуме
Спасибо за понимание! Некоторые считают меня сумасшедшим.
Цитата: bob1704 от 22 июля 2017, 22:03:50сюда загляните
Уже читаю. Спасибо!
UPD. Поставил Ubuntu. Всё тоже самое. Высокая загрузка и, как следствие, артефакты в звуке. Увеличение буферов даёт лишь незначительное улучшение ситуации. Тут явно дело в другом.
UPD2. Похоже ответ найден. Нужно пересобрать ядро с отключенным параметром CONFIG_MUSB_PIO_ONLY, а это для меня смерти подобно. Сколько не пытался собрать ядро из исходников, постоянно какая-то фантастическая ошибка и я бросал  :(


guamoko

Цитата: Padawan от 24 июля 2017, 13:43:26Дам Вам тройку ссылочек на более специализированные ресурсы по ЗВУКУ:
Спасибо! Этот ресурс я проштудировал уже вдоль и поперёк. И готовые сборки попробовал.