タグを使用してwavをflacに変換する

タグを使用してwavをflacに変換する

簡単に言うと:flacファイルの曲のタイトルタグにファイル名(拡張子減算)を配置している間、wavファイルをflacに変換するスクリプトが必要です。

私は約1200個のオーディオCDを持っており、それをテラバイトドライブにロスレスで保存することにしました。十分なスペースがあるため、圧縮ステップをスキップすると時間がかかりにくいと思い、k3bを使用してwavファイルに抽出しました。まあ、それは本当ですが、バグを発見する前にかなり多くの部分を破った。 Rhythmboxなどのプレーヤーにインポートしようとすると、タグ(メタデータ)がなく、識別して並べ替える方法がありませんでした。正しく。問題を避けるために、残りの部分をflacに変換しましたが、戻ってこのCDをすべて再マウントすることなくエラーを修正したいと思います。どんな提案がありますか?

答え1

flac同じ名前のパッケージからコマンドをインストールして実行します。

#!/bin/bash
find . -name '*.wav' |
while read file # eg stuff/artist/album/title.wav
do      file="$PWD/${file#./}" # make absolute to get more info
        album=${file%/*}    # stuff/artist/album
        artist=${album%/*}  # stuff/artist
        album=${album##*/}  # album
        artist=${artist##*/} # artist
        title=${file##*/}   # title.wav
        title=${title%.wav} # title
        flac -s --best --delete-input-file \
         --tag="TITLE=$title" \
         --tag="ALBUM=$album" \
         --tag="ARTIST=$artist" \
         "$file" # creates .flac removes .wav
done

Titleは.wavサフィックスを引いたファイルのデフォルト名、Albumはすぐ上のディレクトリ、Artistは上記のディレクトリです。この--delete-input-fileオプションは.wavを削除します。バラよりパラメータ拡張Bash のマニュアルページでは、変数 (${var#pattern}) の末尾または先頭から${var%pattern}glob パターン (たとえば and で構成) を削除します。 %% と ## バージョンは、最長の一致を削除します。* ?[...]

関連情報