Программирование звука на си. Поиск API

Решил тут вернутся к написанной статье habrahabr.ru/post/133320/ про генератор случайных чисел из звуковой карты, и заюзать его как хороший «живой» генератор случайных чисел, распределённых по нормальному закону (со всеми артефактами, которые мне и нужны).

image
Артефакты сигнала

На Ubuntu 12.04 решил запустить данную программу, но столкнулся с тем, что программа ругнулась на отсутствие /dev/dsp

Попытки установить модули, пакеты не привели к появлению данного устройства в системе. И я понял, что стоит менять подход в работе со звуком. Надо работать не с устройством, а с универсальным API.

Начав ковырять по теме, ушёл в дебри гугления и понял что старые статьи по программированию звука побились, а новые ещё не были написаны. В гугле забанен… Не нашлось ничего полезного, в особенности в плане захвата звука.

Не подскажите хороший пример современного API работы со звуком? Мне по сути просто получать сырые данные с микрофонного входа, и далее уже я буду их кушать.
  • Вопрос задан
  • 6276 просмотров
Решения вопроса 1
silvansky
@silvansky
Я обошёл это использованием sox.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Eddy_Em
Поищи на stackexchange: только сегодня подобный вопрос видел. Плюс там еще похожих уйма!

Если тебе нужны не обертки, а именно «низкоуровневые» библиотеки, то это либо OSS4 (как раз тот, который /dev/dsp создает), либо ALSA. Есть и другие, но на них либо забили, либо они неудобны.

Под ALSA программировать звук низкоуровнево — геморрой тот еще. Однако, не надо расстраиваться, если у тебя есть ALSA, но нет OSS4: достаточно загрузить модуль snd_pcm_oss, чтобы получить эмуляцию OSS средствами ALSA. Я так и делал.

Если интересно, могу скинуть тебе куда-нибудь свои старые программулинки (я в свое время пытался звуковушку в качестве элементарного АЦП/ЦАП использовать, но т.к. не нашел ни одной очень старой звуковухи, а в новых везде гальваническая развязка на АЦП «вшита» в чип, забросил это дело). Еще у меня была генерация звука по простенькой картинке (начинал было делать тестилку для tip-tilt зеркала, но тоже забросил).
Ответ написан
@xaoc80
ffmpeg умеет работать с различными источниками звука. Можно попробовать его API
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы