работа в линукс со звуком в realtime
в какую сторону начать смотреть вообще?
нужно читать поток с линейного входа, (обрабатывать), выводить на линейный выход.
подскажите направление хотя бы для начала.
я так понимаю есть некие API, вроде alsa, oss - так ли это и если так, то есть ли какие ресурсы или доступная литература на тему програмимрования аудио в линукс?
работа с аудио ((alsa, oss ?))
Модератор: Модераторы разделов
-
Doka
- Сообщения: 715
- Статус: ASIC Design Engineer
- ОС: RHEL4
работа с аудио
Never stop thinking..................................................................
-
Doka
- Сообщения: 715
- Статус: ASIC Design Engineer
- ОС: RHEL4
Re: работа с аудио
нашел тут в сети Open Audio Library
но там немного в сторону 3D и игровой направленности - хотя само по себе существование подобного стандарта порадовало: даже типы даных обособленные (для библиотеки) заведены!
но там немного в сторону 3D и игровой направленности - хотя само по себе существование подобного стандарта порадовало: даже типы даных обособленные (для библиотеки) заведены!
Never stop thinking..................................................................
-
Doka
- Сообщения: 715
- Статус: ASIC Design Engineer
- ОС: RHEL4
Re: работа с аудио
тут посоветовали вот:
но это не совсем подходит - во-первых, это шелл, а не Си, во-вторых, как сделать рилтайм в этом случае - непонятно (даже если другое рилтайм прилжение будет обмениваться блоками звука через семафоры на ЖД)
чтобы выводить звук на колонки достаточно перенаправить raw-поток на /dev/dsp
но это не совсем подходит - во-первых, это шелл, а не Си, во-вторых, как сделать рилтайм в этом случае - непонятно (даже если другое рилтайм прилжение будет обмениваться блоками звука через семафоры на ЖД)
Never stop thinking..................................................................
-
Doka
- Сообщения: 715
- Статус: ASIC Design Engineer
- ОС: RHEL4
Re: работа с аудио
хорошо. задам вопрос иначе:
как вообще работают с аудио в рилтайме, те, кто этим занимается ?
какой язык, какие API, какая IDE?
как вообще работают с аудио в рилтайме, те, кто этим занимается ?
какой язык, какие API, какая IDE?
Never stop thinking..................................................................
-
diesel
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: работа с аудио
что ты понимаешь под "программированием аудио" "работа с аудио в реал-тайме"? Ты чего программировать хочешь? Оччень широкая тема, однако.
Вот есть вот такая штука, например: http://jackaudio.org/ можно к нему "клиенты" писать.
-
Doka
- Сообщения: 715
- Статус: ASIC Design Engineer
- ОС: RHEL4
Re: работа с аудио
нужно:
1) читать аудио-поток с линейного входа (в идеале - функцией на Си, что-то вроде get_raw_audio(); c регистрацией каллбэк-функции на заполнение входного буфера),
2) обрабатывать алгоритмом, представленных Си-процедурой (это написано уже и есть),
3) выводить аудио-поток на линейный выход (в идеале - функцией на Си, что-то вроде put_raw_audio(); c регистрацией каллбэк-функции на опустошение выходного буфера).
вроде ничего сложного
"JACK is a low-latency audio server..." - как-то пугающе звучит))))diesel писал(а): ↑17.04.2008 14:27Вот есть вот такая штука, например: http://jackaudio.org/ можно к нему "клиенты" писать
и я так понимаю он может работать только в одну сторону? вывод звука?
Never stop thinking..................................................................
-
diesel
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: работа с аудио
Doka писал(а): ↑17.04.2008 17:16"JACK is a low-latency audio server..." - как-то пугающе звучит))))diesel писал(а): ↑17.04.2008 14:27Вот есть вот такая штука, например: http://jackaudio.org/ можно к нему "клиенты" писать
и я так понимаю он может работать только в одну сторону? вывод звука?
нет. в обе стороны.
Вот тут краткий обзор того как оно работает: http://www.linux.ru/articles/linux-music/
В меру моего понимания процесса и того что Вы написали, если использовать jack то надо написать только собственно фильтр который у вас пп2, остальное он берет на себя.