初めに
開発環境
- cuda:12.2.0
- ubuntu22.04
詳細
以下のコードにて、指定したフォルダ内にあるflacファイルをwavファイルに変換します。このとき -j $(nproc)
でCPUの最大コア数を指定しているのため、必要に応じて変更してください
#!/bin/bash # 引数から音声ファイルがあるパスを取得 input_dir="$1" # 変換後のwavファイルを保存するフォルダを作成 mkdir -p convert_wav # 並列処理の関数を定義 convert_file() { file="$1" output_file="convert_wav/$(basename "${file%.flac}.wav")" echo "Converting file: $file" ffmpeg -i "$file" -acodec pcm_s16le -ar 44100 -ac 2 "$output_file" if [ $? -eq 0 ]; then echo "Conversion successful: $output_file" else echo "Conversion failed: $file" fi } # GNU Parallelを使用して並列処理を実行 export -f convert_file find "$input_dir" -maxdepth 1 -name "*.flac" | parallel -j $(nproc) convert_file {} echo "Conversion complete."
上記は以下のように実行します
./convert.sh output_flac/