Как определить конкретную частоту звукового сигнала в аудиофайлах (.Wav, .Mp3)?C#

Место общения программистов C#
Ответить
Anonymous
 Как определить конкретную частоту звукового сигнала в аудиофайлах (.Wav, .Mp3)?

Сообщение Anonymous »

У меня возникла проблема: у меня есть набор данных аудиофайлов, и мне нужно разрезать каждый из них на две части: одну часть после и одну перед определенным звуковым сигналом.
Например, я проверил некоторые аудиофайлы с помощью инструмента Audacity и обнаружил, что звуковой сигнал раздается на частоте 425 Гц, как показано ниже.
Изображение

[img]https:/ /i.sstatic.net/jmpObJFd.png[/img]

Сначала я попробовал использовать функцию DtmfDetection, но безуспешно. Я использовал конфигурацию по умолчанию, меняя только порог. Это работает;

Код: Выделить всё

var mycfg = new Config(threshold: 425, sampleBlockSize: 205, sampleRate: 8000, normalizeResponse: false);
Затем я использовал NAudio, чтобы получить числовой массив из аудиофайла, и он дал мне значение от -1 до 1 для каждой позиции (столбец «Амплитуда» на снимке экрана ниже). Этот массив содержит 10 000 позиций на каждую секунду реального звука. Таким образом, каждая позиция означает 0,1 миллисекунды звука.
Я использовал этот инструмент Fast_Fourier_Transform для построения своего числового массива, и он выглядит правильно. Если я построю там свой массив, изображение будет выглядеть так, как и ожидалось для исходного звука.
Я просто не знаю, что теперь делать. Звуковой сигнал длится около 0,8 секунды. Какими должны быть мои следующие действия, чтобы узнать время, в течение которого звуковой сигнал звучит в аудиофайле? Есть предложения?
Изображение


Подробнее здесь: https://stackoverflow.com/questions/792 ... es-wav-mp3
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»