web-dev-qa-db-ja.com

soxまたは類似のものを使用して、大規模なFLACをmp3にバッチ分割

約50x 1時間の長さのflacファイル(オーディオブック)があり、それぞれを便利な沈黙点(+または-30秒、10分の両側)で(約)10分の長さのセグメントにエンコードする必要があります。最後のセグメントは10分より短い場合があります(正確に1時間ではないflacファイルの場合)。

各flacのコマンドラインの提案に感謝します。これをbashスクリプトに追加できます。ありがとう。

2
abssorb

ただお知らせしておきます。これらのファイルにキューシートがある場合は、 キューシートによって提供される情報でそれらを分割 ファイルできます。


このジョブのGUIツールについては知りませんが、mp3splt過去のこのようなタスク。これらすべてのファイルをMP3またはVorbis(oggsplt)に変換してから、mp3splt

次に例を示します。

$ mp3splt -rS 5 hoaxcast122_versailles.mp3 
mp3splt 2.4.2 (13/05/12) - using libmp3splt 0.7.2
    Matteo Trotta <mtrotta AT users.sourceforge.net>
    Alexandru Munteanu <io_fx AT yahoo.fr>
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
 Processing file 'hoaxcast122_versailles.mp3' ...
 info: file matches the plugin 'mp3 (libmad)'
 info: found Xing or Info header. Switching to frame mode... 
 info: MPEG 1 Layer 3 - 44100 Hz - Mono - FRAME MODE - Total time: 41m.01s
 info: starting 'split in equal tracks' mode
   File "hoaxcast122_versailles_00m_00s__08m_12s_39h.mp3" created           
   File "hoaxcast122_versailles_08m_12s_39h__16m_24s_78h.mp3" created       
   File "hoaxcast122_versailles_16m_24s_78h__24m_37s_17h.mp3" created       
   File "hoaxcast122_versailles_24m_37s_17h__32m_49s_56h.mp3" created       
   File "hoaxcast122_versailles_32m_49s_56h__41m_01s_94h.mp3" created       
 Processed 94247 frames - Sync errors: 0
 split in equal tracks ok

パラメータrは無音検出を使用したトリムを表し、Sは等しい時間トラックまたはより適切な部分に分割することを表します(この場合5、この場合、ファイルごとに10分になります)。 。

変換されたmp3ファイルを含むプロジェクトフォルダーを作成し、次のbashスクリプトを実行してすべての.mp3ファイルは次のコマンドで分割されます:

for file in $(ls *.mp3); do mp3splt -rS 5 $file; done

私の知る限り、ファイルは再エンコードされず、分割して適切なコンテナーに再ラップします。

1
LiveWireBT