10〜15秒のオーディオを抽出する必要があるいくつかのMP3ファイルを含むフォルダーがあります。また、変換されたファイルにsample-(name).mp3を追加して、これらの名前を変更したいと思います。
シェルスクリプトを介してこれを行うにはどうすればよいですか?
これにsox
を使用したい/必要がある場合は、そのtrim
コマンドを使用できます。
for i in *.mp3
do
sox "$i" sample-"$i" trim 0 10
done
mp3splt の一部であるコマンドラインユーティリティを使用して分割することもできます。出力ファイルを-o
で明示的に設定するので、オリジナルは変更されません。使い終わったら削除するだけです。これにより、ファイルで定義されたタグをsox
よりも出力名に組み込むことができます(現時点では必要ないと思われるもの)。
for i in *.mp3
do
mp3splt "$i" 00.00.00 00.10.00 -o sample-"${i%.mp3}"
done
-o
は通常@
ベースのディレクティブと連携して、出力名にタグ要素を含め、.mp3
を追加することに注意してください。 。 ${i%.mp3}
がないと、.mp3.mp3
ファイルを取得できます。
時間はドットで区切られています。代わりに:
を使用しないでください。十分な分割ポイントがないという、役に立たないエラーメッセージが表示されます。
スクリプトが機能することをテストするまで、入力ファイルは削除しません。また、途中で停止したり、後でファイルを追加したりすると、最初にsample-
ファイルを削除しないと再実行できないことに注意してください。物事を区別するために、sample-...
の前にディレクトリを指定することをお勧めします。