Да, некоторые из нас могут это сделать, вы можете ускорить или замедлить, не влияя на высоту, некоторые ребята называют это приложениями Time Stretch, есть разные способы сделать это, вы можете сделать это в частотной области или во временной области, вам нужно будет выбрать что лучше для вас, вы найдете некоторые преимущества и недостатки каждого из них.
Область времени:
В Time Domain вы можете попробовать некоторые методы, такие как:
- TDHS (Гармонический сакалинг во временной области)
- SOLA (синхронное добавление с перекрытием)
- PSOLA (Pitch Synchronous Overlap Add)
- WSOLA (добавление перекрытия формы волны)
Плюсы: это быстро, некоторые алгоритмы просты для понимания, хорошего качества в монофонических звуках.
Минусы: Как правило, вам понадобится очень хорошая дорожка основного тона, чтобы соединить в правильном положении, это трудно сделать :-(, поэтому, если ваш дорожка основного тона не работает или не работает в полифонических звуках, эти алгоритмы будут давать много глюков / артефактов. в выходной звук.
Частотная область:
Все временные интервалы, которые я знаю в частотной области, основаны на методах фазового вокодера .
Плюсы: будут работать в полифонических или монофонических звуках.
Минусы: Может быть больно понимать всю математику, реализация немного сложна, не так быстро, как коды временной области, для голоса я предпочитаю результаты во временной области, некоторые приемы по улучшению результата стандартного фазового вокодера не передаются.
Я могу сказать, что окно и размер прыжка являются одними из ключевых для качества фазового вокодера, обычно мы выбираем 4x
перекрытие для повторного синтеза 4096
, мне достаточно одного окна размера Hann (конечно, если у вас есть вычислительная мощность для этих размеров) стандартный вокодер фазы может добавить некоторые реверберирующие эффекты, чтобы попытаться избежать такого рода проблем, которые вам, возможно, понадобятся для блокировки фазы.
Для datailed взглянуть в Миллер Пакетт и Portnoff бумаги