Как измерить интенсивность звука в реальном времени? - PullRequest
0 голосов
/ 18 февраля 2012

Мне нужно запрограммировать функцию, которая записывает звуковой ответ, но когда голос говорящего достигает определенной интенсивности, мне нужно знать его в режиме онлайн. В настоящее время я использую это для записи:

PsychPortAudio('GetAudioData')  

Я не могу анализировать интенсивность голоса (используя, например, норму) в режиме онлайн.

1 Ответ

1 голос
/ 18 февраля 2012

Вы должны быть в состоянии сделать это с помощью команды analoginput.

AI = analoginput('winsound');
addchannel(AI,1);

Затем используйте:

x = getdata(AI, t);

, чтобы собрать его.Вам нужно будет установить некоторую длину буфера (скажем, 1 секунду) и получить данные, а затем выполнить любой анализ амплитуды, который вы хотите.

...