Я хочу написать приложение для транспонирования ключа, в который играет wav-файл (для удовольствия, я знаю, что есть приложения, которые уже делают это) ... мое основное понимание того, как это может быть выполнено, чтобыпреобразование Фурье к транспонированию ключа wav-файла
1) нарезать аудио файл в очень маленьких блоков (скажем 1/10 секунды)
2) запустить БПФ на каждом блоке
3) фазовый сдвиг частоты пространства вверх или вниз в зависимости от того, какой ключ я хочу
4) использовать обратный БПФ для возвращать каждый блок временной области
5) склеить все блоки вместе
Но теперь я задаюсь вопросом, если преобразованные блоки больше не быть непрерывным, когда я пытаюсь склеить их вместе. Есть ли идеи, как я должен это делать, чтобы гарантировать непрерывность, или я просто не беспокоюсь ни о чем?
Я думаю, что микшер, вероятно, больше того, что ищет ОП. Но если есть задействованный фильтр, трюк FFT с перекрытием-сбрасыванием действительно хорош. См. Http://en.wikipedia.org/wiki/Overlap-save_method для получения более подробной информации. Если вы все сделаете правильно, вам также не потребуется окно - окно больше для приложений анализа. – mtrw
@larry Я не вижу, как это устраняет разрыв. Похоже, что результирующие сигналы обычно не соответствуют фазе с прошлым блоком. Что касается частотного смешивания синусоидальной волны, я не знаком с этим подходом. – tbischel
@mtrw спасибо за ссылку, я просмотрю ее – tbischel