Я работаю над приложением, которое применяет фильтры к звуковым файлам, фильтры применяются в частотной области, поэтому я получаю образцы из .wav-файла, используя библиотеку NAudio с этим кодом:Float массив образцов в формате WAV
после применения предыдущего кода, теперь у меня есть образцы как массив float, тогда я применяю кратковременное преобразование Фурье на образцах, получающих данные в частотной области, а затем фильтры применяются в частотной области данные.
, а затем обратное кратковременное преобразование Фурье применяется к данным частотной области, чтобы преобразовать его обратно во временную область, которая должна быть аналогична исходным выборкам, но с примененными фильтрами.
шаги снова:
- Получить образцы (данные временной области) массив из файла WAV.
- Применить кратковременное преобразование Фурье на выборках для получения данных в частотной области.
- Применение фильтров для данных частотной области.
- Применять обратное кратковременное преобразование Фурье на данные частотной области для получения выборок (данные временной области).
- Конвертировать образцы в wav-форму обратно, чтобы сохранить и воспроизвести его.
Теперь проблема в последнем шаге, у меня есть массив с плавающей точкой образцов (данные во временной области), как мне преобразовать его в WAV-файл и воспроизвести его?
Вы должны быть в курсе, что вы можете здесь: http://stackoverflow.com/questions/19715553/double-array-to-wav - или здесь: http://stackoverflow.com/questions/9805407/normalizing-audio-how-to-convert-a-float-array-to-a-by-array - у него есть несколько дополнительных шагов, но я думаю, что к концу он имеет все, что необходимо для создания вашего wav-файла. – gmiley