LINUX.ORG.RU

Как повысить приоритет выполнения ALSA-кода. Или я неправильно понимаю проблему.

 ,


0

1

Два примера: хром с ютубом и моё собственное приложение. Моё приложение гарантированно держит внутренний буфер ALSA-устройства (на 0.5 секунды) заполненным под завязку, поэтому картина объективна. Проявляется картина одинаково в обоих примерах.

Проблема в том, что при активном пожирании проца, в звуке слышится редкий треск - как будто кто-то не даёт коду драйвера звукового устройства времени на свои нужды, и даже несмотря на то, что у него там есть заполненный под завязку буфер он не успевает из этого буфера кормить свой ЦАП... ну или что-то в этом роде. Треск - как будто в потоке появляются нулевые семплы или ЦАП не успевает получать несколько семплов. На слух я бы оценил эти трески именно как единицы семплов.

Да, забыл сказать: звуковуха - внешняя USB 2.0 китайская коробочка с дыркой для наушников ( http://img.alibaba.com/img/pb/713/537/374/374537713_941.jpg ) - насколько я понял, в неё по USB постоянно льются пакеты и внутренней памяти у него особо нет. Если она молчит - значит в неё льются пакеты с нулями. Это проявляется в том, что даже если не работает никакой аудио-плеер что-то похожее на этот треск можно услышать, если активно мучать ЦП. Именно этот треск, а не «процессорные цифровые высокочастотные шумы». То есть складывается впечатление, что коробочка помнит единицы семплов и нуждается в бесперебойном равномерном их потоке.

Всё нормально было на старой системе (какая-то гента). Всё плохо стало на свежей убунте. Всё нормально, также, на встроенной в ноут звуковухе.

Отсюда я делаю вывод о том, что аудио-драйвер, который занимается этой коробочкой, работает с недостаточно крутым приоритетом ( snd_usb_audio? ).

Посоветуйте пожалуйста что-нибудь конкретно по этим симптомам, но не очень радикальное, типа «поставь ubuntu studio» (-;

★☆

Последнее исправление: kiverattes (всего исправлений: 3)

Эм. Может, передискретизация слишком тяжёлая для камня? Уменьши качество. Или увеличь буфер, что ли.

x3al ★★★★★
()

Выкинь pulseaudio, оно оборачивает alsa-lib в себя, срёт в звук и периодически его прерывает, а затем передаёт ядерной части. Вот в генте этого пукльсаудио не было.

anonymous
()

Отсюда я делаю вывод о том, что аудио-драйвер, который занимается этой коробочкой, работает в каком-то обычном приоритете ( snd_usb_audio? ).

А ведь одна звезда есть...

erfea ★★★★★
()
Ответ на: комментарий от anonymous

apt-get remove pulseaudio
killall -9 pulseaudio
pulseaudio: no process found

kiverattes ★☆
() автор топика
Ответ на: комментарий от ei-grad

Если сможете объяснить технический смысл увеличения буфера, а также указать какого именно буфера - попробую )

kiverattes ★☆
() автор топика

звуковуха - внешняя USB 2.0 китайская
Всё нормально, также, на встроенной в ноут звуковухе.

ну так ответ в самом вопросе же! разве можно желать качественного звука от китайской внешней (!) USBшной(!!) какашки?

Komintern ★★★★★
()
Последнее исправление: Komintern (всего исправлений: 1)
Ответ на: комментарий от kiverattes

Буфера ALSA, чтобы драйвер имел больше времени на получение данных из userspace перед отправкой их в USB.

Вот аналогичный пост: https://bugs.launchpad.net/ubuntu/ source/linux/ bug/129887

Такой большой буфер по-дефолту ставить не будут - большой буфер соответствует большой задержке звука. Но на таких карточках как твоя оно вроде должно помочь.

ei-grad ★★★★★
()
Ответ на: комментарий от ei-grad

Я не очень понимаю, почему это должно помоч. Проблема не в том, что буфер маленький, а в том, что буфер находится в ОЗУ компа, а не в самой коробочке. А коробочка хочет получать семплы очень ровным потоком без задержек. А эти задержки зависят не от размера буфера, а от того, успеет ли по USB уйти очередной кусочек этого буфера в коробочку или нет.

Пробовал разные размеры буферов - не спасло. Как и ожидалось. Эффекты те же.

kiverattes ★☆
() автор топика

Да, забыл сказать: звуковуха - внешняя USB 2.0 китайская коробочка с дыркой для наушников ( http://img.alibaba.com/img/pb/713/537/374/374537713_941.jpg ) - насколько я понял, в неё по USB постоянно льются пакеты и внутренней памяти у него особо нет.

что ты хотел от звуковой карты на основе копеечного usb-audio для телефонных гарнитур? кстати у меня звукаха на этом чипе прекрасно заикается и трещит под оффтопиком и вполне сносно работает под топиком.

exception13 ★★★★★
()
Ответ на: комментарий от exception13

Я хотел того же, что она давала в генте.

kiverattes ★☆
() автор топика
Ответ на: комментарий от Komintern

разве можно желать качественного звука

от внешней (!)

Внезапно.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.