不思議なことに、私がWindows 7 OSの友人から得た一部の音楽のエンコーディングが、nautliusで誤ったエンコーディングで表示されます。私はすでにそれを試しました
convmv --notest -r -f windows-1255 -t utf-8 *
しかし、それはそれを修正しませんでした。それはむしろ別の間違ったエンコーディングです。 latin1とlatin3でも試してみました。元のエンコーディングが何なのかわからないし、それがわからないので、自分のオプションは何なのか疑問に思っています。
どんなアドバイスでもThx。
すべてのエンコーディングを試すには、mychosenfile.mp3mなどのファイルの1つを選択してから、すべてのエンコーディングをループします。運が良ければ、問題ないように見えます。これは、可能な新しい名前をリストするだけです:
file=mychosenfile.mp3
for enc in $(convmv --list)
do echo $enc: $(convmv --parsable -f $enc -t utf-8 "$file")
done
または、ファイルの名前をid3タグから取得した曲のトラックとタイトルに変更できます(ある場合)。たとえば、(これはmvコマンドのエコーです):
find mydir -name '*.mp3' |
while read file
do if newname="$(id3info "$file" |
awk -F': ' '
/^=== TRCK/{ track = $2 }
/^=== TIT2/{ title=$2;gsub(" ","_",title) }
END { if(title!="")printf "%02d_%s.mp3\n",track,title }
')"
then dir=$(dirname "$file")
echo mv "$file" "$dir/$newname"
fi
done
すべてのファイル名から特殊文字を削除するには、detox
を使用します。
detox -r -v -s utf8 /path/to/files/
-n
を渡して、何が行われるかを確認し、適切に聞こえることを確認することもできます。
音楽タグに従ってすべてのファイルの名前を変更するには、lltag
を使用します。
lltag -R --mp3v2 --mp3read=21 --rename '/new/path/%a/%A/%n %t' /path/to/files
何が行われるかを確認するには、最初の呼び出しに--dry-run
を渡すことを検討する必要があります。 --yes
を渡します。質問に答えるのに飽きたら(タグがない場合など、新しい名前の品質に影響する可能性があります)。
詳細はman detox
とman lltag
にあります。