Многие китайские магнитолы, даже современные (на момент конца 2025 г.) и продвинутые, совершенно не воспринимают кириллицу в именах файлов. То есть, при записи файлов с русскими именами на флэшку, магнитола их просто не видит. И кириллические папки не видит. И тэги внутри mp3-файлов.
И если для 1-DIN магнитолы это не очень большая проблема, достаточно переименовать все файлы во что-то вроде 001.mp3, 002.mp3 - всё равно на маленьком экранчике имена песен не показываются, то вот на большом экране хотелось бы видеть что-то более информативное, чем 001.mp3 . К сожалению, кроме транслита больше ничего придумать не получится.
Также, выяснилось, что при включении-выключении магнитолы может сбрасываться опция случайного выбора треков, и плеер начинает играть файлы по порядку, как на старых кассетных плеерах.
Вот для решения задачи по автоматическому переводу mp3-файлов в транслит и был написан этот скрипт. Он умеет:
- автоматически быстро и массово транслитерировать имена файлов в папке. Поддерживаются русский, украинский, польский, болгарский, немецкий языки - у каждого из них есть свои особенности. У прочих европейских языков диакритические символы преобразуются в обычные латинские (è -> e), этого достаточно.
- транслитерировать ID3-тэги внутри этих файлов. Позволяет магнитоле показывать имя песни и исполнителя, пусть и в таком урезанном виде.
- добавлять к именам файлов и перегенерировать числовые префиксы. Такой некий искусственный рандом, чтобы после каждого поворота ключа зажигания каждый раз не лазить в меню магнитолы и включать случайный выбор.
Теги, после их переименования остаются совершенно валидными, Winamp, AIMP, MP3tag их без проблем читают. Картинки альбомов тоже остаются на месте (технически это тоже теги).
Для работы скрипта нужны:
- Python 3. Качается с официального сайта: https://www.python.org/downloads/ и устанавливается очень просто, Далее-Далее-Далее-Готово.
- модуль mutagen для работы с ID3-тегами в mp3-файлах. Для установки достаточно написать pip install mutagen в консоли Python
- ну и сам скачанный этот скрипт music_transliterate.py
Изменение имён и тегов файлов проще всего делать на самой флэшке, после копирования файлов на неё. Не забывайте, что если направите переименование на свою коллекцию, откат вам придётся делать вручную, и чтобы этого избежать, лучше сразу работать только с копиями mp3-файлов на флэшке.
Запуск:
python music_transliterate.py <путь_к_папке>
Тут обратите внимание, что в Windows разделитель пути - обратный слэш \ , а в Python используется прямой /
То есть, для запуска на флэшке в папке D:\Music\ вы даёте команду:
python music_transliterate.py D:/Music/
Ну и помните, что папку на флэшке надо называть без русских букв, иначе магнитола вообще не увидит такую папку, всю целиком.
Для запуска в папке Music локального сервера с именем server1:
python music_transliterate.py //server1/Music
Для обновления псевдослучайных числовых префиксов - всё то же самое.