Самый быстрый способ сэмплирования звука с использованием portaudio - PullRequest
0 голосов
/ 26 сентября 2019

Я устанавливаю программу, в которой в качестве входных данных воспроизводится звук через устройство по умолчанию на компьютере.Цель состоит в том, чтобы провести некоторый частотный анализ (ДПФ) и показать частоту, которая наиболее присутствует в любой момент времени.Я хотел бы отправить это на микроконтроллер, который управляет некоторыми светодиодными лентами.Мне удалось заставить частотный анализ работать с воспроизводимым звуком, но я заметил, что сэмплирование звука очень медленное (около 250 мс).

В качестве примера я использовал файл paex_record.c, причем большая его частьСкопировано (можно найти здесь: http://portaudio.com/docs/v19-doxydocs/paex__record_8c_source.html).. Пропущена только часть воспроизведения. Я использую частоту дискретизации 44,1 кГц, время выборки 0,04 с (дает основную частоту 25 Гц) и один каналКак я могу ускорить это? Я обнаружил, что portaudio doc говорит о задержке, но это не помогло мне (http://www.portaudio.com/docs/latency.html).

. Для DFT мне нужен массив выборок (амплитуд) за определенный промежуток времени., в данном случае 0,04 с.

С наилучшими пожеланиями и большое спасибо за ваше время!

...