1 つのファイルにマージしたい mp3 ファイルがたくさんあります。コマンドライン方式を使用しました
copy /b 1.mp3+2.mp3 3.mp3
しかし、それらがたくさんあり、それらの名前が一貫していない場合は苦痛です. 時間も決して正しくないようです。
ファイルを連結するだけでID3タグが内部に散らばるというDavidの答えは正しいです(ただし、これは通常再生には影響しないため、「copy /b」またはUNIXでは「cat a.mp3 b.mp3> combined.mp3」を実行できます)ピンチで)。
ただし、mp3wrap は、複数の MP3 を 1 つの「クリーンな」ファイルに結合するだけの適切なツールではありません。ID3 を使用するのではなく、実際に独自のカスタム データ形式を MP3 フレーム (「ラップ」部分) に挿入するため、特に iTunes や iPod での再生に問題が発生します。ファイルを最初から最後まで実行させればファイルは問題なく再生されますが (プレーヤーはこれらの任意の非 MPEG バイトをスキップするため)、ファイルの長さとビットレートが正しく報告されず、シークが中断されます。また、mp3wrap はカバー アートを含むすべての ID3 メタデータを消去し、正しいファイル長で VBR ヘッダーを更新できません。
mp3catは単独で適切な連結データ ファイルを生成しますが (したがって、mp3wrap よりも優れています)、ID3 タグも削除し、結合されたファイルの正しい長さで VBR ヘッダーを更新できません。
これらの問題と、MP3 ファイルを結合し、元のメタデータをそのままにして「クリーンな」最終結果を生成する方法 (実際には 2 つ)の適切な説明を次に示します。コマンドラインなので、Mac/Linux/BSD などで動作します。次を使用します。
Windows GUI ツールについては、Merge MP3を見てください。すべてを処理してくれます。(VBRFix も GUI 形式で提供されますが、結合は行いません。)
Thomas Owensが指摘したように、ファイルを単純に連結すると、結果の連結ファイル全体に複数のID3ヘッダーが散在するため、時間/ビットレート情報が大幅に間違ってしまいます。
オーディオデータを組み合わせることができるツールを使用する必要があります。
mp3wrapはこれに理想的です-データをデコードして再エンコードする必要なしにMP3ファイルを結合するように設計されており(オーディオ品質が低下します)、ID3タグもインテリジェントに処理します。
結果のファイルは、mp3spltツールを使用してそのコンポーネントパーツに分割することもできます。mp3wrapはIDv3コメントに情報を追加して、これを可能にします。
ffmpeg または同様のツールを使用して、すべての MP3 を一貫した形式に変換します。
ffmpeg -i originalA.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateA.mp3
ffmpeg -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
時間の問題は、MP3 ファイルの ID3 ヘッダーに関係しています。これは、ファイル全体がコピーされるため、メソッドでは考慮されていません。
使用したい選択言語はありますか、それとも問題ではありませんか? これは、必要な操作をサポートする利用可能なライブラリに影響します。
MP3ファイルには、尊重する必要のあるヘッダーがあります。
オープンソースオーディオライブラリプロジェクトのようなライブラリを使用して、その周りにツールを作成することができます。または、 Audacityのようなmp3ファイルを理解するツールを使用することもできます。
私が本当に欲しかったのは、それらを並べ替えて 1 つのファイルとして出力する GUI でした。
Playlist Producerはまさにそれを行い、それらをデコードし、結合された MP3 に再エンコードします。ミックス テープや単純なポッドキャストの作成用に設計されていますが、便利な場合があります。
(情報開示: 私はソフトウェアを作成しました。Pro Edition を購入すると利益が得られます。Lite Edition は無料バージョンで、いくつかの制限があります)。
David が言うように、mp3wrapが最適です。しかし、オーディオの長さのヘッダーが修正されていないことがわかったので、すべてのデータがそこにあるにもかかわらず、iTunes はファイル全体の再生を拒否しました。(3 つの 7 分のファイルをマージしましたが、最初の 7 分までしか表示されませんでした。)
これを修正する方法と、元のファイルから ID3 タグをコピーする方法を説明しているこのブログ投稿を掘り下げました(mp3wrap はそれ自体で ID3 タグを削除します)。または、( id3lib からid3cpを使用して) タグをコピーするには、次のようにします。
id3cp original.mp3 new.mp3
以前に mp3wrap について聞いたことがありません。素晴らしく見える。誰かがどこかでGUIにもしたと思います。しかし、元の投稿への返信として、COPY /b メソッドを実行する GUI を作成しました。そのため、裏では、太陽の下で新しいことは何もありませんが、プログラムは、マージするファイルがたくさんある場合にプロセスの苦痛を軽減することを目的としています...そして再エンコードしたくないファイルの各セットマージするのは同じビットレートです。それを持っている場合 (そして Windows を使用している場合) は、Mp3Merge ( http://www.leighweb.com/david/mp3merge ) をチェックして、それが探しているものかどうかを確認してください。
これを行うには Winamp を使用します。1 つにマージしたいファイルのプレイリストを作成し、Disk Writer 出力プラグインを選択し、ファイル名を選択すれば完了です。取得するファイルは正しい MP3 ファイルで、ビットレートなどを設定できます。
コマンドラインを使用する代わりに
コピー /b 1.mp3+2.mp3 3.mp3
代わりに、"The Rename"を使用して、すべての MP3 フラグメントの名前を、ある種のカウンターに基づいて順番に並べられた一連の名前に変更することができます。次に、同じコマンドライン形式を使用できますが、少し変更して次のようにします。
copy /b *.mp3 出力名.mp3
これは、これらのフラグメント MP3 をすべて同時にリッピングし、それらのオーディオ設定が同じであると仮定した場合です。.aa で持っていたオーディオ ブックを 1 つの .mp3 に変換するときに、うまく機能しました。すべての .aa ファイルを 9 枚の CD に焼き付け、9 枚の CD をすべてリッピングする必要があり、約 90 個の mp3 が残っていました。本当にa55の痛み。
個人的には、-oac copy などのオプションを使用して、オーディオ パスで mplayer のようなものを使用します。