Судя по форумам и т.д., многие уже сталкиваются с тем, что русские id3-тэги в mp3-файлах, заполненные под Windows, не читаются под Linux, и наоборот. Как показывает практика, чтобы теги везде (точнее, в наиболее распространенных проигрывателях обеих систем, а так же в мобильных утсройствах) читались правильно, нужно заполнять id3v1 в кодировке Win-1251, а id3v2 — в unicode...
Делается это легко и просто. Исходим из предположения, что стартовые теги или в Win-1251, или в unicode, или уже правильные. В подавляющем большинстве случаев это именно так. Проблемы могут возникнуть, если заполнение тегов происходило, например, в старых Linux'ах, но большинство поступающих в домашнюю коллекцию файлов почему-то кодированы под виндой...
Итак, пишем скрипт:
#!/bin/bash
for f in *; do
if [ -d "$f" ]; then
cd "$f";
mp3uni;
cd ..;
else
mp3unicode -s cp1251 -p -1 cp1251 -2 unicode "$f";
fi;
done;
И пихаем его куда-нибудь в пределы переменной PATH с именем mp3uni. Естественно, пакет mp3unicode должен быть предварительно установлен.