Содержание
Так исторически сложилось, что все русскоязычные музыкальные файлы хранят свои теги в кодировке 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
Ссылки
Некорректное отображение кириллического шрифта – это один из основных раздражителей коллекционера музыки. Хочется послушать песню, но приходится искать её по всему альбому. Что же нужно сделать для того, чтобы избавится от этих проблем. Нужно скачать и установить программу Mp3tag, которая с легкостью исправит некорректные теги.
1. Запускаем файл с песней на любом плеере и видим “кракозяблы” вместо названия.
2. Открываем этот же файл в программе. Как видим, Mp3tag сразу может определить правильные теги.
3. Заходим в “Дополнительно” и щелкаем по пункту “Настройки”, чтобы попасть в меню опций.
4. Слева во вкладке “Теги” есть пункт “Mpeg”. Открываем его и отмечаем ID3v2 и ID3v2 UTF-8. Закрываем настройки нажатием на “ОК”.
5.Выделяем наш файл и заходим в менб “Действия”. Видим там пункт “Case conversion” и жмём на него.
В результате видим информационное окно, сообщающее нам результаты проделанной работы. Как видим, всё прошло успешно.
6. Теперь открываем файл снова в плеере и наслаждаемся. Название песни и группы отображается правильно.
Так же можно конвертировать теги и целых альбомов, только нужно сразу в программе открыть и выделить целую папку.
Время на прочтение
1 мин
Количество просмотров 44K
Здравствуй, уважаемый Хабр.
Если у Вас есть mp3-файлы с тегами в windows-1251 кодировке, то Amarok в своей базе данных такие файлы показывает криво.
Этот пост — для тех, кто ранее использовал Rus-Xmms
проект для быстрого и удобного избавления от головной боли, связанной с кодировкой mp3-тегов и получил ее снова с выходом KDE4 и
нового Amarok.
Этот пост — также для тех, кто не совсем понимает, как в Linux можно корректно и рекурсивно перекодировать теги у
множества mp3 файлов в юникод и версию ID3v2.4.
Постараюсь преподнести это максимально лаконично, поэтому не буду описывать установку программы в [здесь подставить
название Вашего любимого дистрибутива].
Рецепт приготовления прост и находится под катом.
1.
Устанавливаем EasyTag
2.
Заходим в настройки и выставляем значения, как на скриншоте(ALT+P).
3. В дереве выбираем директорию с музыкой.
4. Ждем.
5. Нажимаем 2 кнопки — выделить все файлы, сохранить все файлы.
6. Ждем. Заставляем Амарок пересканировать всю базу. Всё.
В качестве бонуса EasyTag поправит расширения у файлов в lowercase.
Спасибо за внимание.
upd1. Подумал и перенес в «Linux для всех».
upd2. Хабра-пользователь Miroling подсказал название аналогичного софта под Windows — TagScanner
upd3. krig подсказал проект tag2utf
upd4. Прислали на почту:
Меня выручал mp3unicode, рекомендую
mp3unicode.sourceforge.net
Я писал по нему статью, но НЛО не понравилась.
Alexander Prenko <prenko@gmail.com>
Я очень люблю музыку, как и многие из вас. У всех, кто любит музыку и активно скачивает её из интернета, часто возникает проблема — неправильная кодировка в тегах 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 теги, то невозможно найти обложку к альбому, а это тоже минус.
Тема статьи – конвертация mp3-тегов, созданных в кодировке windows-1251, в кодировку utf-8, под управлением операционной системы Linux.
В чем проблема
Причина возникновения такого вопроса заключается в том, что я уже достаточно давно стал поклонником аудио-книг. И передачи “Модель для сборки” – в частности. И хотя сама передача уже давно закрыта, ее архивы в Интернете доступны для скачивания.
Дома у меня имеются только две операционные системы – Mac OS X 10.10 и Linux Mint 17 Cinnamon. И вот тут возникает небольшая проблема, связанная с тем, что Audacious под Linux и iTunes под Mac не отображают правильно мета-информацию проигрываемых mp3-файлов аудио-книг, если эти файлы созданы под Windows.
Другими словами, аудио-проигрыватель “читает” аудио-книгу, но вот понять визуально – какую, нельзя. Не видно названия книги, ее автора, имени чтеца. Происходит это потому, что оба вышеназванных проигрывателя не могут правильно отображать мета-данные mp3-файлов, если эти мета-данные созданы в кодировке windows-1251.
Как решить проблему
Решением вопроса является перекодировка мета-данных mp3-файлов, перевод символов из кодировки windows-1251 в кодировку utf-8, с которой умеют работать Audacious и iTunes.
Решение оказалось на удивление простое и “под рукой”. Популярный редактор mp3-тегов под Linux с названием EasyTAG в два счета справляется с задачей. Главное – нужно правильно настроить чтение mp3-тегов этой программой.
-
Устанавливаем программу EasyTAG
-
Переходим в настройки программы EasyTAG – “Edit – Preferences”
-
К окне настроек программы EasyTAG переходим на вкладку “ID3 Tag Settings”
-
Устанавливаем параметры программы EasyTAG так, как это показано на скриншоте:
Если описать двумя словами, то необходимо для “ID3v1 tags” выбрать кодировку Windows-1251, для “ID3v1 tags” выбрать кодировку utf-8. Для поля “Character Set for reading ID3 tags” также выбрать кодировку windows-1251.
Конвертация в программе EasyTAG
Когда программа EasyTAG настроена, то процесс конвертации mp3-тегов из кодировки windows-1251 в кодировку utf-8 выполнить проще простого.
-
Открываем в программе EasyTAG папку с коллекцией mp3-файлов, которые необходимо обработать (переконвертировать).
-
Выделяем в окне программы EasyTAG все эти файлы.
-
Сохраняем их.
Да, именно так – “открыл-сохранил”, ничего больше. И теперь Audacious вместе с iTunes прекрасно читают обработанные файлы музыки (и аудио-книг).
На этом все.