ли я просто вложить их (iff(fft(audio))
) или попробовать окно за окном (window
аудио, сделать fft
, сделать ifft
, затем инвертировать окно, заменив ноль на eps, затем объединить сэмплы обратно (пробуя abs
здесь и там в трубопроводы)) я получаю только шум.
Я знаю, что ifft
является обратным только fft
с бесконечной точностью арифметики, бесконечным количеством выборок и т. д. (верно?) Я работаю с 64-битной плавающей запятой и частотой дискретизации 44 кГц. но я ожидаю, что смогу хотя бы услышать исходный звук.
моя ошибка практическая или теоретическая? Я могу дать код, если это ошибка.
ifft
вернет сложные числа с плавающей запятой. В зависимости от библиотеки, которую вы используете, она может просто сбросить буфер памяти массива на диск в виде .wav без повторного приведения обратно к числам с плавающей запятой. Во всяком случае, это один из способов получить полный мусор в качестве вывода... Попробуйте написатьifft(fft(audio)).real
илиabs(ifft(fft(audio)))
и посмотрите, изменит ли это что-нибудь. - person Joe Kington   schedule 29.01.2013scipy.io.wavfile.write()
. я уже пробовал оба, проблема заключалась в том, чтобы получить правильныйdtype
(см. ниже). - person sam boosalis   schedule 29.01.2013