Python NumPy - БПФ и обратный БПФ?
Таким образом, я работал с FFT, и в настоящее время я пытаюсь получить звуковую форму сигнала из файла с FFT (изменить его в конце концов), но затем вывести этот измененный сигнал обратно в файл. Я получил БПФ звуковой волны, а затем использовал обратную функцию БПФ, но выходной файл вообще не звучит правильно. Я не проводил никакой фильтрации по форме волны - я просто проверял получение частотных данных и затем помещал их обратно в файл - они должны звучать одинаково, но звучит совершенно по-другому. Есть идеи?
-- РЕДАКТИРОВАТЬ --
С тех пор я немного работал над этим проектом, но пока не получил желаемых результатов. Выводимый звуковой файл является шумным (как более громким, так и дополнительным шумом, которого не было в исходном файле), и звук из одного канала просачивался в другой канал (который ранее был бесшумным). Входной звуковой файл представляет собой стереофонический 2-канальный файл со звуком, поступающим только с одного канала. Вот мой код:
<code> import scipy import wave import struct import numpy import pylab from scipy.io import wavfile rate, data = wavfile.read('./TriLeftChannel.wav') filtereddata = numpy.fft.rfft(data, axis=0) print (data) filteredwrite = numpy.fft.irfft(filtereddata, axis=0) print (filteredwrite) wavfile.write('TestFiltered.wav', rate, filteredwrite) </code>
Я не совсем понимаю, почему это не работает ...?
РЕДАКТИРОВАТЬ: Я заархивировал проблему .py файл и аудио файл, если это может помочь решить проблемуВот.