Время на прочтение
2 мин
Количество просмотров 8.1K
Не секрет, что многие, до сих пор, прописывают тэги во всяких cp1251 и KOI-8R — после чего их не понимают ни телефоны, ни плееры (некоторые) и с проигрывателями под linux бывает много проблем.
Больше всего неприятно, то что при загрузке новой музыки, ты не можешь быть уверен в какой кодировке идут тэги и вот добавив в свой проигрыватель ты обнаруживаешь нечитаемые символы вместо названия трека, исполнителя и альбома. А ведь оно еще и на last.fm скроблится в таком виде.
Можно использовать EasyTag и прочие редакторы тэгов.
Но чаще всего, мне надо только поправить кодировку, а тэги прописаны верно.
До этого, я всегда пользовался простым shell скриптом, но решил немного облегчить задачу.
Вот решение:
Нам понадобится пакет python-mutagen
sudo aptitude install python-mutagen
создадим shell скрипт
$ touch mp3.sh
$ nano mp3.sh
и добавим в него следующее:
#!/bin/sh
FILE=`zenity --file-selection --directory --title="Выберите путь к крякозябрам"`
case $? in
0)
echo "Выбран "$FILE".";;
1)
echo "Файл не выбран.";;
-1)
echo "Файл не выбран.";;
esac
cd "$FILE" || exit;
(find -iname '*.mp3' -print0 | xargs -0 mid3iconv -e KOI8-R --remove-v1; find -iname '*.mp3' -print0 | xargs -0 mid3iconv -e CP1251 --remove-v1)|zenity --progress --pulsate --auto-close --text "идет процесс" --title "Меняем кодировку"
zenity --info --text="теперь у Вас православный UTF"
Необходимо дать права на выполнение скрипта
chmod u+x mp3.sh
Вот и всё, можете запускать ($ sh mp3.sh
) и указать папку где требуется исправить кодировку.
Перед вами предстанет диалоговое окно с выбором каталога, в котором надо навести порядок — остается выбрать и нажать «ок»
Для удобства, я предлагаю сделать еще пару движений:
sudo mv mp3.sh /usr/bin/mp3
И теперь в любой момент, мы нажимаем заветный alt+F2 и набираем mp3
Можно и кнопку запуска переделать.
P.S. Это первый опыт в написании shell скрпта, для себя — немного облегчить жизнь.
Если кому-то еще пригодится — буду рад.
Наверняка этот код не совершенен.
Буду признателен за любые советы. Например как сделать окно с выбором директории на QT
Некорректное отображение кириллического шрифта — это один из основных раздражителей коллекционера музыки. Хочется послушать песню, но приходится искать её по всему альбому. Что же нужно сделать для того, чтобы избавится от этих проблем. Нужно скачать и установить программу Mp3tag, которая с легкостью исправит некорректные теги.
1. Запускаем файл с песней на любом плеере и видим “кракозяблы” вместо названия.
2. Открываем этот же файл в программе. Как видим, Mp3tag сразу может определить правильные теги.
3. Заходим в “Дополнительно” и щелкаем по пункту “Настройки”, чтобы попасть в меню опций.
4. Слева во вкладке “Теги” есть пункт “Mpeg”. Открываем его и отмечаем ID3v2 и ID3v2 UTF-8. Закрываем настройки нажатием на “ОК”.
5.Выделяем наш файл и заходим в менб “Действия”. Видим там пункт “Case conversion” и жмём на него.
В результате видим информационное окно, сообщающее нам результаты проделанной работы. Как видим, всё прошло успешно.
6. Теперь открываем файл снова в плеере и наслаждаемся. Название песни и группы отображается правильно.
Так же можно конвертировать теги и целых альбомов, только нужно сразу в программе открыть и выделить целую папку.
Содержание
Так исторически сложилось, что все русскоязычные музыкальные файлы хранят свои теги в кодировке CP1251. Поэтому в аудиоплеерах в Linux (и в Ubuntu в частности) такие файлы отображаются некорректно.
Настройка переменных окружения
Для фреймворка GStreamer можно сообщить какую кодировку MP3 (ID3) тэгов использовать по умолчанию. Для этого откройте файл .profile, находящийся в домашней директории
gedit ~/.profile
и добавьте в конец следующую строчку
export GST_ID3_TAG_ENCODING="windows-1251"
Для применения изменений нужно завершить свой сеанс (Log out) и начать новый. Очень вероятно что придется также сбросить все настройки и базу тегов в Rhythmbox (~/.cache/rhythmbox и ~/.local/share/rhythmbox).
Это должно исправить кодировку во всех плеерах и программах, использующих GStreamer: Totem, Rhythmbox, вкладка «Аудио» в менеджере файлов Nautilus.
Это решение хорошо сочетается с уже имеющимися у вас MP3 с тегами в Unicode (перекодированные с помощью EasyTag, mutagen и другими), т. к. указанная кодировка будет применяться только при считывании не-unicode тэгов.
Патч от проекта RusXMMS
В Ubuntu есть пакет libtag1-rusxmms — в нем содержится taglib с патчем от RusXMMS, taglib используется достаточно большим количеством плееров.
После установки этой библиотеки кодировка в тегах будет определятся автоматически, а при изменении записываться в кодировке utf8
Установка пакета EasyTAG
EasyTAG является программой просмотра и редактирования тегов файлов форматов MP3, MP2, FLAC, Ogg Vorbis, MusePack, и Monkey’s Audio. Программа характеризуется простым и привлекательным GTK+ интерфейсом.
Для установки необходимо открыть терминал и ввести следующую команду:
sudo aptitude install easytag
Необходимые настройки пакета EasyTAG
В настройках во вкладке «Настройки тегов ID3» установить следующие значения:
-
в подразделе «ID3v2 tags» поставить галочку «Записывать тег ID3v2» и выставить в «Charset» значение «UTF8»;
-
в подразделе «ID3v1 tags» поставить галочку «Записывать тег ID3v1.х» и выставить в «Charset» значение «Киррилица (Windows 1251)»;
-
в подразделе «Character Set for reading ID3t tags» поставить галочку и выбрать в выпадающем меню «Киррилица (Windows 1251)»;
-
В левом части экрана «Дерево» выбираем директорию с музыкой. Начнется сканирование содержания поэтому подождите окончания сканирования;
-
Нажимаем 2 кнопки — выделить все файлы, сохранить все файлы.
-
Далее Вам останется только обновить базу музыкальных файлов в Вашем аудио проигрывателе.
Однострочные скрипты
Скрипты предназначены для запуска через терминал, для их выполнения необходимо открыть терминал Ctrl+Alt+T, перейти в каталог с музыкой:
cd ~/Музыка
и выполните одну из приведенных ниже команд:
find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1
Ссылки
Бывает, что закинув новую музыку на свой плеер, в названиях русских песен ты видишь странные значки, похожие на помесь греческого с иероглифами. Такие странные символы часто называют кракозябрами. И совершенно невозможно терпеть, когда милые сердцу песни называются не пойми как с китайским акцентом.
Не буду вдаваться в подробности, почему возникают кракозябры. Любознательные могут сами почитать про это в Википедии. Для тех, кто до сих пор ничего не понял, то выглядят кракозябры так:
Если вы видите такое на своем mp3-плеере, на любимой аудио магнитоле или запустив музыку на Android смартфоне — то эта статья для вас.
Убираем кракозябры на компьютере с Windows
Если у вас под рукой ноутбук или компьютер с Windows, то проблему легко решить с помощью программы Mp3tag (mp3tag_file.exe). Скачиваем, устанавливаем и запускаем приложение. Сразу стоит убедиться, что настройки выставлены верно.
Указываем папку, где хранится музыка.
Устанавливаем курсор на список файлов и выделяем все, нажав CTRL+A. После этого запускаем сохранение.
Ждем завершения работы и радуемся.
Убираем кракозябры на Android смартфоне или планшете
Если кракозябры застали вас с телефоном в руках, то немедленно ставьте приложение AudioTagger (AudioTagger+Pro+6.2.9.apk).
Переходим в настройки и выбираем каталог с музыкой.
Возвращаемся на главный экран и нажимаем кнопку “Искать аудио”. В списке выделяете папки и файлы, где притаились кракозябры. Если не охота искать, можно просто выбрать все. Нажимаем кнопку “Тег” и попадаем в редактор тегов. Здесь все оставляем как есть и нажимаем кнопку “ОК”.
Ждем завершения и радуемся.
Кстати, Mp3Tag и AudioTagger могут не только корректировать отображение mp3 тегов, но и позволяют их отредактировать, скачать обложки альбомов из интернета и привести вашу музыкальную коллекцию в порядок.
3 пользователям понравился пост
Я очень люблю музыку, как и многие из вас. У всех, кто любит музыку и активно скачивает её из интернета, часто возникает проблема — неправильная кодировка в тегах mp3. Дело в том, что чаще всего музыкальные файлы адаптированы для пользователей Windows, где используется русская кодировка CP1251.
В Linux же используется кодировка UTF8. И когда вы скачиваете музыку с русскими mp3 тегами, то вам видны одни крякозябры. Как всё исправить?
Если у вас проблема лишь с несколькими песнями, скачанными с интернета, то исправить мп3 теги можно вручную, использую музыкальный проигрыватель. Я использую замечательный проигрыватель Clementine. Установим этот плеер, если вы этого ещё не сделали (или скачайте с сайта по этой ссылке).
sudo add—apt—repository ppa:me—davidsansome/clementine |
sudo apt—get install clementine |
Открываем в плеере проблемный альбом:
Теперь, чтобы починить mp3 тег, нужно выделить его мышкой, нажать F2 и переименовать в ручную. Не сложно узнать настоящие название, так как в плеере отображается так же название песни, которое идентично названию тега.
Но понятно, когда у вас несколько альбомов в неправильной кодировке, перекодировать mp3 теги таким способом очень трудоёмко.
2. Как исправить мп3 теги в массовом порядке?
Для этой цели мы будем использовать терминал. Понадобиться для этого всего одна команда. Потребуется возможно установить одну программку, если она у вас вдруг не стоит:
sudo apt—get install python—mutagen |
Теперь нужно перейти в папку с музыкой. Если у вас папка Музыка лежит в домашней папке, то вам нужно ввести команду:
А дальше вводим одну команду:
find —iname ‘*.mp3’ —print0 | xargs —0 mid3iconv —eCP1251 —remove—v1 |
Ну вот, процесс исправления mp3 тегов пошёл:
У меня кстати иногда возникала проблема, что некоторые папки с музыкой имели права доступа, не позволяющие изменять файлы. Чтобы это исправить, нужно выполнить перед конвертированием mp3 тегов такую команду:
sudo chmod —R 777 /home/Музыка |
Теперь нужно обновить библиотеку песен в плеере, и видим результат:
Вот такими простыми способами можно исправить кодировку mp3 тегов. Кстати, если не исправлять mp3 теги, то невозможно найти обложку к альбому, а это тоже минус.