mp3オーディオの速度を遅くする

mp3オーディオの速度を遅くする

私はオーディオの再生速度を遅くするVLCオプションが好きです。

これで、mp3ファイルをポータブルプレーヤーに転送して再生したいと思います。残念ながら、プレイヤーにはスピードダウンオプションはありません。

VLCを使用してmp3をゆっくり再生したように聞こえるように変換する方法は?

私はコマンドラインツールを好みますが、GNU / Linux用の他のフリーソフトウェアツールも受け入れます。

答え1

使用することをお勧めしますソックスこのように:

sox <input> <output> tempo 0.5

これにより、速度が2倍ほど遅くなり、<input>結果が<output>

--show-progress関連情報と進行状況を表示するオプションを追加できます。

SoX は、<input>isnormal.wav<output>is の場合、half-tempo.ogg独自にさまざまなオーディオエンコーディングを検出します(該当するセクションの詳細な制御については、以下を参照してくださいman sox)。

このアルゴリズムはVLCモジュールと同様の結果をtempo提供する必要があります。scaletempoしかし、代替stretchアルゴリズムを試してみることができます。

sox <input> <output> stretch 2

結果がより包括的であると予想し(man sox詳細についてはもう一度お読みください)、パラメータが指定されたパラメータの逆数であることに注意してくださいtempo(この例では2ありません)。0.5

SoXは、オプションでより多くの時間操作性を提供し、簡単にナビゲートすることができspeedますpitchbend

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互換レコーダーを使用する方法があります。

答え2

次のスクリプトは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

これはおそらく単純化されますが、2つのffmpegコマンドを1つにまとめる方法はわかりません。

私はこの方法の出力がsoxによって提供された2つのアルゴリズムの結果よりはるかに優れていることを知りました。私にとって、これはYouTubeのインターフェースでオーディオの速度を遅くするのと同じくらい良いようです。

答え3

ffmpeg -i "audio.mp3" -filter:a "atempo=0.5" "output_audio.mp3"

for %f in (*.mp3) do ffmpeg -i "%f" -filter:a "atempo=0.5" "output\slow_%f"

関連情報