Я довольно новичок в python и в FFT, поэтому заранее извиняюсь - я пытаюсь взять WAV-файл и воссоздать его только с определенными частотами (отфильтровать нежелательные частоты)
Я могу построить все визуально, но изо всех сил пытаюсь воссоздать воспроизводимый WAV-файл из результата. Я минимизировал свою проблему - если я беру оригинальный сигнал, я могу воссоздать файл WAV, хорошо. Если я запускаю сигнал через rfft, а затем сразу через irfft и пытаюсь воссоздать WAV-файл из результата, файл создается, когда я пытаюсь его воспроизвести (Windows 10), я получаю ошибку
Этот элемент был закодирован в формате, который не поддерживается.
Код, который я использую (уменьшен до минимума)
fs_rate, signal = wavfile.read(filename)
FFT = scipy.fft.rfft(signal)
recreated_signal = scipy.fft.irfft(FFT)
scipy.io.wavfile.write('recreated file1.wav',fs_rate,signal)
scipy.io.wavfile.write('recreated file2.wav',fs_rate,recreated_signal)
Я заметил одну вещь: что первый созданный файл равен 5619 КБ (чуть меньше размера исходного файла), а второй созданный файл - 22 473 КБ
Чего мне не хватает?