Замедлите mp3 аудио

Да просто создают ~/bin каталог и затем создает ссылку. Я сомневаюсь, что это должно быть там, но это обычно - лучшая практика в системах Unix для создания a ~/bin поддержать посторонние исполняемые файлы, которые требуется использовать в персональной среде.

Дополнительно необходимо будет удостовериться, что этот каталог находится также на ПУТИ (echo $PATH) так, чтобы можно было выполнить эту команду от любого местоположения в системе, без должны явно вызвать его как:

$ ~/bin/subl
2
22.07.2014, 12:03
2 ответа

Я рекомендую использовать SoX следующим образом:

sox <input> <output> tempo 0.5

Это замедляет темп в 2 раза и записывает результат в .

Вы можете добавить опцию --show-progress для отображения соответствующей информации и процента прогрессии.

Обратите внимание, что если - это, например, normal.wav, а - half-tempo.ogg, SoX сам определит разную аудиокодировку (для большего контроля над этой частью читайте man sox).

Алгоритм tempo должен дать результаты, аналогичные модулю scaletempo VLC. Однако вы можете попробовать альтернативный алгоритм stretch:

sox <input> <output> stretch 2

Результат ожидается более синтетическим (опять же, читайте man sox для подробностей) и имейте в виду, что параметр является обратным тому, который задается в tempo (2 вместо 0.5 в этом примере).

SoX предлагает еще больше возможностей манипуляции временем через speed, pitch и bend, которые можно легко изучить.

Чтобы установить SoX с помощью apt-get:

sudo apt-get install sox

Чтобы включить дополнительные кодеки (включая MP3), добавьте эту библиотеку:

sudo apt-get install libsox-fmt-all

В качестве последнего замечания, я бы вернулся к VLC, поскольку вы можете воспроизвести ваш файл замедленным из командной строки таким образом:

cvlc --rate 0.5 <input>

Таким образом, может быть способ попросить VLC сохранить результат в какой-нибудь файл, или вывести аудио в JACK, а затем использовать JACK совместимый рекордер.

7
27.01.2020, 21:52

Следующий сценарий делает это с помощью ffmpeg.

#!/bin/sh

# Usage:
#   slow_down.sh infile.mp3 outfile.mp3 0.75
#   Can't slow down more than by a factor of 0.5 (limitation of ffmpeg).

if [ $# -lt 3 ]; then
  echo 1>&2 "$0: not enough arguments"
  exit 2
fi

rm -f $2 temp.mp4
ffmpeg -i $1 -filter_complex "[0:a]atempo=$3[a]" -map "[a]"  -c:a aac temp.mp4
ffmpeg -i temp.mp4 -ar 48000 $2
rm -f temp.mp4

Вероятно, это можно было бы упростить, но я не смог понять, как объединить две команды ffmpeg в одну.

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

0
08.03.2021, 22:38

Теги

Похожие вопросы