Ищу простой спобов генерации синусоидальных звуковых волн на звуковуху.
Можно на C/C++ или любом скриптовом языке.
Гуглил около часа, но ниче не нашел, кроме либы OpenAL, которая имхо слишком сложная для такой простой задачи,
во всяком случае простого рабочего примера мне найти не удалось.
Задача такая: параллельно генерировать несколько синусоидальных звуковых волн разной(и произвольной) частоты и громкости с учетом того что меняться кол-во, громкость и частота волн может каждые 20-25ms. То есть например вариант с какой нить утилитой консольной врядли прокатит потому что, что бы изменить частоту придется ее(утилиту) перезапускать скорее всего(с новыми параметрами), что возможно приведет к обрыву звука на 5-10ms, а у нас всего длинна одного периода звука может быть всего 25ms.
З.Ы. Нужно все это что бы управлять внешним устройством подключенном к звуковухе, управляемым менно звуковыми волнами, а точнее их частотой и громкостью.
Audio: генерация звуковых волн (ищу простой способ генерации звуковых волн)
Модератор: Модераторы разделов
-
VisualN
- Сообщения: 213
- ОС: Gentoo Linux
Audio: генерация звуковых волн
Nothing ever changes...
-
RasenHerz
- Сообщения: 1341
- ОС: Arch Linux amd64
Re: Audio: генерация звуковых волн
а использовать запись в /dev/dsp?
может это поможет.
может это поможет.
-
VisualN
- Сообщения: 213
- ОС: Gentoo Linux
Re: Audio: генерация звуковых волн
Запись в /dev/dsp не подходит, так как вызов write в /dev/dsp занимает довольно много времени, точно не засекал, но на слух заметно - если write звука длинной 25ms(писк например) пихнуть в цикл то слышно паузы между воспроизведеним.
С учетом того что мы не знаем заранее какой звуковой сигнал надо будет подать уже через 25ms, придется каждые 25ms юзать write, что делает задачу невыполнимой из-за этих пауз, звук не должен прерываться.
Задача оказалась не такая простая, из-за ограничений по временным параметрам, щас ковыряюсь с OpenAL, думаю получится.
С учетом того что мы не знаем заранее какой звуковой сигнал надо будет подать уже через 25ms, придется каждые 25ms юзать write, что делает задачу невыполнимой из-за этих пауз, звук не должен прерываться.
Задача оказалась не такая простая, из-за ограничений по временным параметрам, щас ковыряюсь с OpenAL, думаю получится.
Nothing ever changes...