web-dev-qa-db-ja.com

複数のMP3ファイルを結合する(ロスレス)

複数のMP3ファイルを1つに結合するにはどうすればよいですか? 「cat」と「mp3wrap」は非標準のMP3ファイルを生成するため、適切ではありません。大胆さを使用できることは知っていますが、1つに結合するために数千のMP3ファイルがある場合、時間がかかりすぎます。

助言がありますか?

6
oshirowanen

ffmpeg または同様のツールを使用して、すべてのMP3を一貫した形式に変換します。

ffmpeg -i originalA.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateA.mp3ffmpeg -i originalB.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateB.mp3

次に、実行時にファイルを連結します。

cat intermediateA.mp3 intermediateB.mp3 > output.mp3

最後に、ツール MP3Val を使用してそれらを実行し、完全な再エンコードを強制せずにストリームエラーを修正します。

mp3val output.mp3 -f -nb
(ソース)

6
Nifle

これは、 ffmpeg 's concat demuxer を使用してプログラムで実行できます。

まず、inputs.txtというファイルを次のような行で作成します

file '/path/to/input1.mp3'
file '/path/to/input2.mp3'
file '/path/to/input3.mp3'

...等。次に、次のffmpegコマンドを実行します。

ffmpeg -f concat -i inputs.txt -c copy output.mp3

Bashforループを使用してinputs.txtを簡単に生成することができます(これはおそらくWindowsバッチforループでも実行できます)。ファイルをアルファベット順にマージします。これは、作業ディレクトリのevery* .mp3と一致しますが、簡単に変更できます。

for f in ./*.mp3; do echo "file '$f'" >> inputs.txt; done
##  Alternatively
printf "file '%s'\n" ./*.mp3 >> inputs.txt

プロセス置換 で中間リストファイルを作成することを避けて、すべてを1行で実行することも可能です。

ffmpeg -f concat -i <(printf "file '%s'\n" ./*.mp3) -c copy output.mp3
12
evilsoup

Freemake Audio Converterは素晴らしいです:

http://www.freemake.com/free_audio_converter/

オーディオファイルを変換および/または結合します。

Freemakeをダウンロードしてインストールした後(Ad-Aware Web Companion、TuneUp Utilities、Operaをインストールしたり、Yahoo!をホームページとして設定したりしないように注意してください)、プログラムを起動します。ウィンドウの左上にある[+オーディオ]ボタンをクリックして、マージ/変換するファイルを選択します。

ウィンドウの右上にある[ファイルの結合]「スイッチ」をクリックします。

必要なオーディオタイプを選択します(おそらくロスレスの場合はFLAC)

オーディオ設定と出力フォルダをカスタマイズできます。準備ができたら、[変換]をクリックします。

1
Clefspeare13

あなたは無料を使うことができます mp3cat

mp3cat indir - > outfile.mp3
0
niutech

Goldwave いくつかのバッチ処理機能がありますが、フリーウェアではなくシェアウェアです。

0
Force Flow