最初の15秒を抽出し、フォルダ内の複数のファイルの名前を変更するSOXバッチスクリプトを作成する

最初の15秒を抽出し、フォルダ内の複数のファイルの名前を変更するSOXバッチスクリプトを作成する

10〜15秒分のオーディオを抽出する必要がある複数のMP3ファイルを含むフォルダがあります。また、example-(name).mp3を追加して変換されたファイルの名前を変更したいと思います。

シェルスクリプトを介してこれをどのように実行しますか?

ベストアンサー1

使用したい場合や使用する必要がある場合は、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-...コンテンツを別々に保持するには、事前にディレクトリを指定する必要があります。

おすすめ記事