LINUX.ORG.RU

Выбор библиотеки для работы со звуком

 


0

1

Изначально изучив в общем виде как работает звук в Linux, понял, что самая близкая к железу библиотека это ALSA. После я искал по ней документацию. Ситуация с документацией меня немного напугала - мне кажется её мало.

Думаю узнать - а вообще на правильном ли я пути? Идея такова - сделать приложение работающее со звуком в Linux в режиме стрима - без остановки, на лету обрабатывать звук и использовать его в дальнейшем.

Насколько для этой цели подойдёт ALSA? И есть ли достойные конкуренты? Может JACKit? Слышал там больше документации и API более дружелюбное.


Лучше используй OSS, там намного проще все. Не надо трахаться с альзовскими извращениями. А интерфейс тебе даст альзовский модуль-посредник

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Harald

обрабатывать на ходу получаемые с например с микрофона данные: фильтровать, распознавать

Gudsaf
() автор топика
Ответ на: комментарий от Eddy_Em

не знаю к сожалению/радости, но нет

Gudsaf
() автор топика
Ответ на: комментарий от Medar

чтобы иметь минимальные задержки. А то выйдет какая-нибудь каша в стиле: А обратилось в Б, Б узнало у В, В спросило Г и Д, Д промолчало а Г вывело к устройству и всё вернуло через В и Б в А.

Gudsaf
() автор топика

так что есть ещё какие мысли?

Gudsaf
() автор топика

Ситуация с документацией меня немного напугала - мне кажется её мало.

С документацией всё нормально, её более чем достаточно для написания обвязок. API тоже простое, ничего сверх обычного для таких интерфейсов.

Что же лучше использовать зависит от много чего, но не от кол-ва документации и видимой «дружелюбности» API. Если нужны минимально возможные задержки, то лучше работать прямо с alsa-lib. С другой стороны придётся учитывать некоторые нюансы, например не все драйверы/железо имеют аппаратную многоканальность, это значит что одновременно со звуковухой через alsa-lib не сможет работать несколько приложений.

В любом случае добавить поддержку почти всего упомянутого в этом треде не проблема, должно быть значительно проще чем сама обработка потока.

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

В ALSA немало моментов, которые могут дать пару десятков незабываемых часов отладки. Например, асинхронный режим работы. (Кстати, разобраться помогла статья Поттеринга об ALSA). Или иногда ни с того ни с сего отваливающийся поллинг.

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