Сдвиг частоты без влияния на длину сигнала

Здесь не физик.

Из того, что я узнал в университете и что подсказывает здравый смысл, изменение частоты сигнала приводит к изменению его длины во времени. Например, если синусоидальный сигнал частоты ф и длина т переносится в частотную область, это ф деленное на 2 , а затем преобразуется обратно во временную область, длина сигнала будет 2 т .

Поправьте меня если я ошибаюсь! Но это вполне интуитивно. Если вы сделаете сигнал медленнее, он займет больше времени, и наоборот.

Это причина, по которой мне сказали, что невозможно изменить частоту потокового сигнала и выводить его с той же скоростью. Например, было бы невозможно взять речь мужчины и изменить ее так, чтобы она звучала как женская, не ускорив ее.

Теперь у меня были разные наблюдения:

  • В Coursera можно увеличить скорость курсовых лекций и звук тоже конечно ускорится. Однако повышения высоты тона голоса говорящего нет. На самом деле, динамик звучит очень похоже на обычный темп. Как возможно, чтобы изменение скорости сигнала не повлияло на его частоту?
  • У моего усилителя есть шкала для изменения высоты тона. Таким образом, во время игры вы можете здесь выводить звук с разной высотой тона. Опять же, как это возможно? Если усилитель повышает высоту тона, не должен ли его выход быть быстрее, чем его вход? (т.е. противоречие!) Я подозреваю, что это какой-то подвох, так как вывод звучит довольно "искусственно".

Кажется, что можно изменить частоту сигнала, не влияя на его длину. Один (теоретический) способ, который я могу придумать, состоит в том, чтобы понять текущие «ноты», играющие (т.е. разные частоты, создающие сигнал) через очень маленькие интервалы, изменить ноту и воспроизвести их в течение этого интервала.

Мой вопрос в том, во-первых, правильно ли я понимаю. В любом случае, существует ли математический способ изменения высоты тона сигнала без изменения его продолжительности во времени? Если нет, то как они могут это делать на практике?

На самом деле я не знаю ответа на этот вопрос (я подожду, чтобы на него ответил кто-то, у кого больше знаний в области обработки сигналов), но я сильно подозреваю, что применяется не просто простое растяжение частотно-временной области. Один из способов, которым вы могли бы увеличить высоту тона, не ускоряя процесс, состоял бы в том, чтобы разделить сигнал на небольшие фрагменты, чтобы сгенерировать спектрограмму, применить частотные растяжки к патчам, дублировать каждый патч, а затем преобразовать обратно во временную область. На практике я чувствую, что это будет иметь неприятные «краевые эффекты», поэтому, вероятно, потребуется более деликатная процедура.
Хитрость заключается в использовании преобразования Фурье. Вместо изменения высоты тона путем сжатия формы волны (что влияет на время воспроизведения) звук преобразуется в частотную область. Затем все тона сдвигаются вверх, и звук преобразуется обратно. Вы можете думать об этом как о нарезке звука на кучу крошечных временных окон. Затем сжатие каждого временного окна до половины времени (удвоение высоты тона), а затем воспроизведение каждого временного окна дважды.
-1; В предыдущей части вашего вопроса я не понимаю, что вы пытаетесь сказать. Насколько я знаю, вы полностью дезинформированы! Почему длина сигнала зависит от частоты? прежде всего, что вы подразумеваете под длиной сигнала? Интересно, в каком университете вы изучали эту неправильную вещь?
@RajeshD попробуйте представить, что произойдет, если вы проиграете кассету на половинной скорости. Изменится как длина сигнала, так и его высота. Вот почему между ними существует связь.
@Nathaniel: Из сообщения OP я цитирую: «сдвиг частоты сигнала приводит к изменению его длины во времени», у меня возникает соблазн сказать, что, черт возьми, происходит? что вы имеете в виду под частотным сдвигом? и длина? Вы совершенно неправы, сообщая о том, что собираетесь спросить.
@RajeshD мне кажется достаточно простым для понимания.
@RajeshD: OP говорит, что если вы просто FT аудиопоток, уменьшите частоты, а затем IFT, вы получите замедленную (и, следовательно, более длинную) версию.
@RajeshD, просто чтобы прояснить, как работает серия веб-сайтов * .SE.com, обычно задают вопрос, когда они чего-то не знают. Обычно дезинформация не является причиной для -1, так как это в первую очередь причина вопроса! -1 обычно применяется, когда вопрос очень низкого качества или не требует никаких усилий для поиска решения. Впрочем, никаких острых ощущений. Я просто хотел прояснить это.
@Shahbaz: В чем разница между частотой и высотой звука?
@RajeshD, у меня сложилось впечатление, что высота тона - это нетехнический термин для обозначения частоты. Только что читая онлайн, кажется, что высота тона относится к психологическому восприятию этой частоты.

Ответы (1)

Вы правы в том, что невозможно изменить частоту каждого компонента сигнала, (а) сохраняя все фазовые соотношения между частотами и (б) сохраняя длину сигнала. Однако, хотя математически невозможно сделать это точно, можно сделать то, что звучит очень похоже на человеческое ухо. Самые основные алгоритмы для этого довольно просты, но сделать это хорошо довольно сложно, и алгоритмы постоянно совершенствуются. Это называется «смещением высоты тона», если целью является изменение высоты тона, а не времени, и «растягиванием времени», если вы хотите изменить время, сохраняя высоту тона.

Это возможно потому, что ухо различает ритм и высоту тона как совершенно разные вещи. Последовательность щелчков будет звучать как последовательность щелчков, пока ее частота не превысит 20-30 Гц, после чего она превратится в жужжащий звук, который воспринимается как имеющий высоту тона. Из-за этого, как сказал DumpsterDoofus, вы можете нарезать звук на небольшие сегменты короткой продолжительности, изменить высоту каждого из них по отдельности, а затем снова сшить их вместе, повторяя вещи или оставляя пробелы там, где это необходимо.

Само по себе это звучит не очень хорошо, потому что вы слышите щелчок в конце каждого сегмента, где волны не совпадают. Его можно значительно улучшить, перекрывая «окна» звука, к каждому из которых применяется постепенное появление и исчезновение. Таким образом, вы не слышите щелчки на концах сегментов, но вы, как правило, слышите эффекты отмены фазы, когда окна снова складываются вместе. По этой причине этот метод требует небольшой настройки, чтобы он хорошо звучал на любом заданном входном звуке.

Как сказал Брэндон Энрайт, существуют также методы области Фурье. В них также обычно используются перекрывающиеся окна; Я предполагаю, что преимущество использования области Фурье заключается в том, что у вас больше контроля над фазовыми соотношениями. (Я не очень хорошо разбираюсь в этих методах.)

Довольно недавней разработкой является алгоритм «синхронного перекрытия-добавления основного тона» (PSOLA). При этом также используются перекрывающиеся окна, но синхронизируется длина окон с высотой входного звука. Из-за этого уху гораздо труднее воспринимать отдельные окна. Я называю это «алгоритмом, который разрушил музыку», потому что он ответственен за этот неприятный эффект «автонастройки», который чрезмерно использовался на вокале каждой поп-записи в течение последних десяти лет или около того. Однако у него есть и мирные применения, и регулятор высоты тона на вашем усилителе, вероятно, использует какую-то его версию.

Подробнее об этих алгоритмах вы можете узнать в Википедии .