Portaudio: Импорт звукового примера в мой буфер

Я снова нуждаюсь в вашей помощи.

Краткая версия: можно ли импортировать звуковые клипы в Portaudio? Если нет, то где я могу получить «реалистичные» звуковые примеры, которые преобразуются в дискретные значения, которые я могу сохранить в своих звуковых буферах?

Длинная версия: В рамках мини-проекта я решил внедрить HRTF. Для этого я использую PortAudio (http://www.portaudio.com/), библиотеку C/C++ для управления звуком. В рамках этого я пытаюсь смоделировать ITD (внутреннюю разницу во времени). Для этой цели PortAudio генерирует синусоиду и сохраняет ее в буфере, хотя синусоиду проблематично использовать для тестирования. Вот почему мне нужен «реалистичный» звуковой пример. Проблема в том, что я не могу найти какую-либо функцию PortAudio, которая позволяет мне импортировать звуковые клипы и сохранять их в моем буфере. В качестве второго варианта я мог бы найти звуковой клип, который преобразуется в дискретные значения и сохраняется в массиве. Затем я мог бы скопировать этот массив в свой собственный буфер, хотя я понятия не имею, где искать такие массивы, и я даже не знаю, существуют ли они.

Так вот вопрос: позволяет ли PortAudio импортировать собственный звуковой клип, и если нет, то где найти массивы, в которых звуковые клипы хранятся дискретными значениями.

Если есть вопросы по моему вопросу, спрашивайте. С уважением - Марк Пилгаард


person Marc Pilgaard    schedule 05.06.2012    source источник


Ответы (1)


PortAudio — это просто библиотека для воспроизведения/записи аудио. Он не манипулирует звуком и не предоставляет никаких средств для загрузки/сохранения звуков. Он просто реализует буфер --> динамик и микрофон --> буфер.

Если я вас правильно понимаю, вы ищете библиотеку, которая позволит вам загружать файлы wav или mp3 в буфер, который, в свою очередь, может воспроизводиться portaudio. Поскольку вы уже находитесь в мире C, лучшим шагом будет использование libsndfile, который в основном имитирует стандартный интерфейс доступа к файлам C для загрузки и записи файлов PCM, таких как wav.

person André Bergner    schedule 06.06.2012