Как с помощью fft ускорить звук

от admin

Speeding up/slowing down video

The speed of a video stream can be changed by changing the presentation timestamp (PTS) of each video frame. This can be done via two methods: using the ​ setpts video filter (which requires re-encoding) or by erasing the timestamps by exporting the video to a raw bitstream format and muxing to a container while creating new timestamps.

Note that in the following examples, the audio stream is not changed, so it should ideally be disabled with -an .

raw bitstream method

This method is lossless and apart from changing the timestamps, copies the video stream as-is. Use this if you require no other changes to your input video.

First, copy the video to a raw bitstream format.

Then generate new timestamps while muxing to a container:

Change the value of -r to the desired playback frame rate.

setpts filter

To double the speed of the video with the setpts filter, you can use:

The filter works by changing the presentation timestamp (PTS) of each video frame. For example, if there are two succesive frames shown at timestamps 1 and 2, and you want to speed up the video, those timestamps need to become 0.5 and 1, respectively. Thus, we have to multiply them by 0.5.

Note that this method will drop frames to achieve the desired speed. You can avoid dropped frames by specifying a higher output frame rate than the input. For example, to go from an input of 4 FPS to one that is sped up to 4x that (16 FPS):

To slow down your video, you have to use a multiplier greater than 1:

Smooth

You can smooth out slow/fast video with the ​ minterpolate video filter. This is also known as «motion interpolation» or «optical flow».

Speeding up/slowing down audio

You can speed up or slow down audio with the ​ atempo audio filter. To double the speed of audio:

The atempo filter is limited to using values between 0.5 and 2.0 (so it can slow it down to no less than half the original speed, and speed up to no more than double the input). If you need to, you can get around this limitation by stringing multiple atempo filters together. The following with quadruple the audio speed:

Using a complex filtergraph, you can speed up video and audio at the same time:

With the raw bitstream method example from above, there is no need for a complex filtergraph. You can slow down a 30 fps video and audio at the same time with:

Как выполнить FFT на данных файла WAV?

Я пытаюсь проанализировать качество звука в файле, обнаружив наивысшую частоту (сжатый звук обычно фильтруется с частотой менее 20 кГц).

Я читаю данные файла WAV, используя класс из библиотеки soundstretch, который возвращает сэмплы PCM в виде чисел с плавающей точкой, а затем выполняю FFT для этих сэмплов с помощью библиотеки fftw3. Затем для каждой частоты (с округлением до ближайшего кГц) я суммирую амплитуду для этой частоты.

Поэтому для файла низкого качества, который не содержит частоты выше 16 кГц, я ожидал бы, что амплитуда выше 16 кГц будет отсутствовать или будет очень мала, однако я не получаю ожидаемых результатов. Ниже мой код:

Может компилироваться с: — (вам понадобится библиотека soundtouch и библиотека fftw3)

И вот спектральный анализ файла, на котором я тестирую:

Как вы можете видеть, он работает на частоте 16 кГц, однако мои результаты таковы:

Я ожидаю, что не будет никакой амплитуды на 16 кГц, я делаю это правильно?
Правильный ли мой расчет частоты? (Я отнял у него другой ответ на стеке)
Может быть, это связано с наличием двух каналов, а я не разделяю каналы?

Приветствия за любую помощь, ребята.

Решение

Вы, вероятно, измеряете разницу между двумя стереоканалами, которые могут включать в себя высокие частоты из-за неравного микширования и панорамирования. Повторите попытку, разделив каналы или смешав их до моно, и используйте функцию плавного окна, чтобы уменьшить артефакты по краям апертуры БПФ, которые также могут создавать небольшое количество высокочастотного шума из-за прямоугольного окна.

Другие решения

Основополагающим требованием БПФ является одинаковое расстояние между образцами и их соответствие.
В вашем случае подача стереосигнала по алгоритму БПФ удваивает количество выборок, не связанных между собой. Математически видно естественную разность фаз между двумя каналами, но, что более важно, две выборки, которые из-за несвязанности могут иметь такую ​​большую разницу, чтобы ошибочно представлять прямоугольную волну (во временной области она будет представлена ​​чрезвычайно высокая скорость нарастания сигнала).
В качестве решения вы должны разделить два канала и выполнить БПФ на одной серии семплов или на двух разных БПФ.
Я не думаю, что могут быть какие-либо проблемы с наложением, потому что это обычно связано с процессом выборки и выполняется с использованием аналогового фильтра, имеющего полосовую частоту < 1/2 частоты дискретизации (фильтр Найквиста или сглаживания). Если эта фильтрация пропущена, практически невозможно удалить призраков (псевдоним спектра) после.

Читать:
Как обновить ворд 2003 на компьютере на новую версию

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

Представьте себе идеальную прямоугольную волну. Вы никогда не слышали идеальную прямоугольную волну, потому что для мгновенного перехода источника звука из одного положения в другое потребовался бы источник звука, продолжая толкать частицы воздуха.

Вы также не можете описать прямоугольную волну с конечным числом гармоник. Тем не менее, вы можете тривиально описать прямоугольную волну с любой частотой звука PCM. Поэтому любой источник звука PCM может содержать бесконечное количество гармоник.

То, что вы, вероятно, можете сделать, это просто сесть на верхушку Найквиста и сказать, что если входной аудиосигнал N МГц, то самая высокочастотная часть, которая может быть реальным сигналом, составляет N / 2 МГц; поэтому вы можете повторно сэмплировать входную волну до удвоенной первой частоты, меньшей или равной N / 2 МГц, которая показывает значительный сигнал без потери значимого содержимого.

Изменить скорость звука

Увеличьте или уменьшите скорость воспроизведения любого аудиофайла

  • Google Drive
  • Dropbox
  • Ввести адрес

Изменить скорость онлайн

Что делать, если вы пытаетесь заставить музыку играть быстрее или медленнее? Например, вы выбираете новую мелодию, но с трудом это делаете? Наше онлайн-приложение поможет вам лучше слышать каждую ноту вашей музыки! Или ускорьте звук для создания ремикса или для достижения особого «космического» эффекта.

Любой формат файла

Наш преобразователь скорости звука поддерживает все распространенные форматы аудио и файлов — MP3, FLAC, MP4, AIFF или WAV. Это также поможет вам изменить входной формат вашего музыкального файла — просто выберите нужный формат из списка доступных.

Надежно и надежно

Несмотря на то, что вы загружаете свои файлы в наши онлайн-аудио инструменты, не нужно беспокоиться о конфиденциальности. Мы используем SSL-сертификаты для создания зашифрованного канала между пользователем и сервером. Никто никогда не сможет вмешаться в ваш процесс изменения скорости звука.

Даже большие файлы

Файлы большого размера (до 10 ГБ ) можно загружать в наше онлайн-приложение для обработки музыкальных файлов. Нет необходимости архивировать ваши большие mp3-файлы, чтобы замедлить или ускорить воспроизведение музыки.

Доступ из любого места

К нашему программному обеспечению для управления звуком можно получить доступ из любого места и не требует установки каких-либо плагинов или расширений. Этот онлайн-сменщик темпа используется как онлайн-инструмент для работы с вашими аудиофайлами. Обрабатываемые аудиофайлы могут поступать с URL-адреса, Google Диска, Dropbox и т. Д.

Больше, чем просто изменение скорости

Мы предлагаем другие полезные функции для ваших файлов MP3 — преобразование их в другой формат, изменение высоты звука, обрезку или вырезание музыкальных файлов.

Ускорить или замедлить музыку

Меняйте темп ваших аудиофайлов, сохраняя их музыкальный строй, с помощью этого бесплатного инструмента для изменения скорости музыки. Замедляйте песни, чтобы подыгрывать мелодии и улучшать свои навыки игры на инструменте!

Скачать файл

Спасибо, что используете Audio Trimmer!

Легкость использования

Audio Speed Changer прост в использовании и подходит для мобильных устройств. Просто загрузите аудиодорожку, выберите настройку темпа и нажмите кнопку «Изменить скорость». Приложение обработает аудио и позволит вам скачать его за считанные секунды!

Поддерживаемые аудиоформаты

  • mp3
  • wav
  • wma
  • ogg
  • m4r
  • 3gpp
  • ape
  • m4a
  • aac
  • amr
  • flac
  • aif
  • opus

Транскрибируйте песни с легкостью!

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

С помощью этого бесплатного онлайн-инструмента вы можете замедлить любую музыкальную дорожку до комфортного темпа и начать играть! Установка программного обеспечения не требуется!

Ускорьте звук так, чтобы это не звучало смешно!

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

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

Похожие статьи