Если вы используете БПФ для преобразования данных временной области в данные частотной области, то вы можете использовать обратное БПФ или IFFT для преобразования данных сложной частотной области обратно во временную область.
Если у вас есть только комплексная подпрограмма FFT, то для комплексного вектора X длины N:
IFFT(X) = scale * complexConjugate(FFT(complexConjugate(X)))
где масштаб обычно равен 1 / N, 1 / sqrt (N) или 1,0, в зависимости от коэффициента масштабирования, используемого в прямом БПФ.
Обратите внимание, что заголовок волнового файла также содержит количество каналов. Возможно, вам придется выполнить некоторое (де) чередование данных, а также преобразование типов данных. Endianess также может быть проблемой в зависимости от ISA вашего компьютера.
ДОБАВЛЕНО:
Предполагая подходящий тип данных для каждого образца PCM и соответствующее чередование для стерео / моно, вы можете использовать это описание канонического формата файла .wav (RIFF) для добавления / удаления 44 байтов заголовка:
Формат звукового файла WAVE PCM