У меня есть wav-файл, и все, что мне нужно, - это выполнить функцию, когда замечательная интенсивность звука воспроизводится.Как получить амплитуду звука моего wav-файла относительно времени?
Например: если звук звуковой интенсивности 10 (предположительно) воспроизводится, так что я хочу, чтобы, когда уровень интенсивности звука увеличивается с 10, необходимо вызвать событие, чтобы сказать мне, что есть замечательный звук ,
Я попытался найти его и нашел, что если мы прочитаем байты wav-файла и прочитаем блок данных (после 44-го байта), мы получим пользовательские данные (звуковые данные). но когда я анализирую эти данные, я запутался, потому что есть те же данные, где нет звука.
Надеюсь, мой вопрос совершенно ясен. , пожалуйста, мне нужны ваши предложения/идеи и рекомендации.
, пожалуйста, уточните эту строку: «Я бы предложил использовать период, скажем, 10 мс = 441 образец при частоте дискретизации 44,1 кГц». – azeem
Простой - вы просто вычисляете power_RMS по каждому блоку из N выборок в вашей форме волны. Я предложил использовать N = 441, если у вас есть частота дискретизации 441 кГц, но вы можете поэкспериментировать с размером блока, в зависимости от вашего конкретного приложения. –
позвольте мне попробовать. – azeem