オーディオファイルを指定された長さのチャンクに分割する

オーディオファイルを指定された長さのチャンクに分割する

長いオーディオ ファイル (それぞれ 80 分、m4a) がいくつかあり、それを 5 分または 10 分の部分に分割したいと考えています。

オーディオ ファイルを長い休止やトーンなどで分割する方法に関する質問は多く見かけますが、この簡単な操作に関する質問は見つかりません。これを行う簡単な方法を知っている人はいませんか?

もちろん、自動化されたものやコマンドラインでも問題ありません。むしろ好ましいです。

前もって感謝します!

答え1

最近のffmpeg(静的ビルドをダウンロード)ここから):

ffmpeg -i in.m4a -f segment -segment_time 300 -c copy out%03d.m4a

これはセグメント マルチプレクサーを使用してビットストリームをコピーします。ファイルにオーディオ ストリームとビデオ ストリームが含まれている場合は、 を使用してビデオ ストリームを無効にすることができます-vn


ここにワンライナーがあります。ルビーそしてFFmpegインストール済み:

ruby -e '(0..4500).step(300) { |x| system "ffmpeg -ss #{x} -i in.m4a -c copy -t 300 out-#{x}.m4a"}'

同じフォルダでそれを実行するだけですin.m4a。オーディオ ビットストリームがコピーされるので、実行にはおそらく数秒もかかりません。

説明する:

  • 4800 秒はオーディオ ファイルの長さ (80 分 × 60 秒) なので、最後の分割は 4500 (4800 - 300 秒) になります。
  • 0 から 4500 まで進み、300 秒ごとに分割します (5 分 × 60 秒)。
  • FFmpegは指定された時間に開始されます-ss
  • そして、指定された時間だけコピーされます-t
  • と呼ばれる複数の出力ファイルが書き込まれますout-<x>.mp4。ここで、<x>は開始時刻 (秒単位) です。

答え2

私は自分自身でこの解決策を探していました。私が見つけた最も簡単な方法は、MP4ボックス:

mp4box -split 300 infile.m4a

ここで、「300」は秒単位の時間です。MP4Box は自動的に番号付きの出力ファイルを書き込みます。

(大きな GPAC アプリケーション全体をインストールする必要はありません。動作させるためにアーカイブから抽出できるファイルは次のとおりです: js.dll、libeay32.dll、libgpac.dll、MP4Box.exe、ssleay32.dll)

答え3

この質問がなされてからしばらく経ちましたが、Ruby と ffmpeg をいろいろ試してみた結果、Windows 内でこれを行うより簡単な方法があるはずだと思い、実際にその方法があることを発見しました。

Audacityをダウンロードしてインストールする

見つけやすい場所にテキスト ファイルを作成し、次の文字列を貼り付けます: (300 秒間隔、つまり 5 分、10 分の場合は 600 間隔など)

0       300  
300     600  
600     900  
900     1200  
1200    1500  
1500    1800  
1800    2100  
2100    2400  
2400    2700  
2700    3000  
3000    3300  
3300    3600  
3600    3900  
3900    4200  
4200    4500  
4500    4800  
4800    5100  
5100    5400  
5400    5700  
5700    6000  
6000    6300  
6300    6600  
6600    6900  
6900    7200  
7200    7500  
7500    7800  
7800    8100  
8100    8400  
8400    8700  
8700    9000  
9000    9300  
9300    9600  
9600    9900  
9900    10200  
10200   10500  
10500   10800  
10800   11100  
11100   11400  
11400   11700  
11700   12000  
12000   12300  
12300   12600  
12600   12900  
12900   13200  
13200   13500  
13500   13800  
13800   14100  
14100   14400  
14400   14700  
14700   15000  

間隔の数がオーディオ ファイルの合計の長さよりも大きいことを確認してください。私が作成したこのファイルは 3 時間以上実行され、私のニーズには十分な長さです。ニーズに合わせてさらに追加してください。

オーディオファイルをAudacityにインポートし、バランス調整やその他の編集を行い、ファイル>ラベル>ラベルのインポートをクリックします。

テキスト ファイルを選択し、ラベル トラックとオーディオ トラックを同時に選択して、[ファイル] > [複数のエクスポート] をクリックします。

エクスポートするファイルタイプを変更し、設定を調整してから、保存先フォルダーを選択します。

私は常に番号付けパターンを「ファイル名プレフィックスの後の番号付け」に変更し、ボックスに希望のファイル名を入力すると、プログラムが番号を追加し、「エクスポート」をクリックするだけで完了です。

答え4

MP4Box は完璧に動作します。ターミナルから作業を完了できると、いつでも便利です。より高速な方法です。

ダウンロードページはこちらです: https://gpac.wp.imt.fr/downloads/gpac-nightly-builds/ プログラムをインストールすると、ターミナルから作業できるようになります。それ以上何もする必要はありません。

テスト済み、コマンド dfkt は完璧に動作するとのこと: mp4box -split 59 infile.m4a

私の場合は、Google の音声テキスト変換を簡単に使用できるように、1 分未満の m4a に分割したいと考えました。

Audacity は問題なく動作しますが、私の場合はグラフィカル UI よりもコマンドで作業することを常に好みます。mp4box の場合、最適なソリューションです。新しい情報を提供しているわけではありません。dfkt に感謝します (ありがとう)。私は、これが優れたソリューションであることを検証しているだけです。

関連情報