Каков простой способ вывода домашнего синтезированного звука в Unix?

StackOverflow https://stackoverflow.com/questions/2117574

  •  22-09-2019
  •  | 
  •  

Вопрос

Я хочу выполнить синтез звука в Mac OS X (и, в идеале, в других Unix-подобных ОС), используя ANSI C.

Это сделано в целях обучения, а не «Мне нужно решение, любое решение, быстро!»

Скажем, в моей программе на C есть 8-битный буфер, который я обновляю 22050 раз в секунду.Как я могу заставить мои динамики выводить это в виде сигнала?

Это было полезно?

Решение

Не существует аудио API POSIX или чего-то подобного.Так что, если вам нужна поддержка звука в Linux, OSX и т. д.вам нужна библиотека, которая охватывает собственные звуковые API различных ОС.Взгляните на это ТАК вопрос.Он не запрашивает OSX напрямую, но большинство ответов также должны работать и для него, за исключением, возможно, libao.По крайней мере, я не нашел на их домашней странице ничего, что говорило бы о том, что они поддерживают OSX.

Другие советы

SDL может воспроизводить звуковые буферы.Но PortAudio может работать лучше. PA вызовет ваш обратный вызов C, когда ему потребуется больше данных, и тогда вы сможете передать ему следующий буфер.На самом деле это довольно легко.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top