Есть ли способ убрать шум из звукового файла в MATLAB, который находится в том же частотном диапазоне, что и говорящий человек?
У меня есть файл.wav, который представляет собой запись человека, произносящего предложение с небольшим количеством шума в нем. Сначала есть несколько секунд только шума, затем говорящий человек, затем секунда или две только снова шума. Я хотел посмотреть, смогу ли я отфильтровать шум с помощью MATLAB; Я слышал, что диапазон частот человеческого голоса составляет от 300 Гц до 3 кГц, поэтому я попытался создать фильтр нижних частот с частотой среза 3 кГц, а затем 4 кГц (потому что я видел небольшое количество сигнала вплоть до 8 кГц при построении графика Фурье преобразование файла), но ни один, казалось, не очень помог. Я думаю, что есть шум в частотном диапазоне, который человек говорит. Когда я попытался удалить шум с помощью Audacity, получив "профиль шума" из нескольких секунд только шума в записи, а затем попросив его удалить шум, файл был намного чище. Итак, мне было любопытно, если бы в MATLAB был не слишком сложный способ найти некоторые свойства раздела файла, где есть только шум и никто не разговаривает, и вынуть необходимое количество этих частот из всего файла?
Если нет простого или нормального способа сделать это, это нормально, потому что мы можем работать с файлами так, как они есть. Мне было просто любопытно, есть ли способ имитировать хороший результат Aduacity в MATLAB =)
Я не записывал эти файлы, кстати, я получил их из базы данных, поэтому я не знаю, как источник шума или что-то еще.