27
September

Если MP3-плеер не понимает русский язык (mp3-player java-utility)

Posted in: Java technologies, J2SE, Полезные программы |

MP3 плеер вещь хорошая и полезная…
К сожалению, иногда он “расставляет все точки над i”, равно как и над e, и над о, и так далее, в названиях песен. А все потому, что не понимает русский (и/или украинский) язык.
Хорошо, если на сайте производителя есть множество софта, в частности для перепрошивки и загрузки шрифтов. А если нет?
Тогда вы попали туда, куда нужно.

Решением описанной проблемы может быть переименование файлов и директорий, например, в транслит.
Вот так и появилась идея маленькой полезной программки (написал на Java).
Скачать ее совершенно бесплатно можно здесь - interpreter.zip (7 Kb).
Запустите interpreter.bat со следующим параметром: полный путь к директории, с которой нужно начать переименование. Пример:

interpreter.bat D:/mp3/Музыка

Если мой манер перевода слов в транслит вам не нравится, создайте свой словарь и укажите полный путь к нему в качестве второго параметра (если словарь находится в той же директории, что и bat-файл, достаточно указать только имя), например:

interpreter.bat D:/mp3/Музыка slovarik.txt

Словарь составляется следующим образом:

  • правило замены имеет вид [цепочка символов для замены]=[результирующая цепочка];
  • каждое правило начинается с новой строки;
  • последовательность символов для замены должна быть уникальна в пределах словаря;
  • результирующие цепочки не обязаны быть уникальными и могут быть пустыми;
  • чем длиннее цепочка для замены, тем выше она находится в файле словаря.

Вот фрагмент для лучшего понимания правил создания словаря:

  ье=ye
  б=b
  г=g
  ь=
  я=ya
  ...

Очевидно, что предельно старательные люди могут добиться дословного перевода названий песен с русского языка на английский и наоборот :).

Пока что единственный обнаруженный недостаток утилиты - работа со словарем только в кодировке windows-1251. Если будут положительные отзывы от пользователей, обязуюсь расширить возможности программки.
Всего вам хорошего.

Updated (24.05.2006):
По многочисленным просьбам читателей стараюсь понемногу улучшать утилиту.
Теперь она умеет проверять mp3 файлы на наличие ID3v1 тэгов (и переводить их в транслит). Кроме этого был немного улучшен механизм обработки исключительных ситуаций.
Скачать новую версию можно по ссылке в начале статьи. Параметры запуска утилиты остались прежними. Если что-то работает не так или же у вас появились идеи для дальнейшего улучшения программы, буду рад выслушать вас.

18 Comments »

RSS feed for comments on this post. TrackBack URI



May 18, 2006 #

Отличная идея! Еще бы сделать правку ID3 тэгов - было бы вообще рулез!

wert2all
May 18, 2006 #

>>Отличная идея! Еще бы сделать правку ID3 тэгов - было бы вообще рулез!

А я где-то видел программку, которая и такое может сделать.

+ тэги тоже можно править - там формат файла открытый, кажется в начале mp3 или в конце есть все ID# тэги

May 18, 2006 #

2wert2all & lucker: Будет время, обязательно этим займусь.
2Oleg: Да там и смотреть-то не на что. Как вы наверное заметили, словарь - это не что иное, как файл с properties, которые вычитываются в инстанс одноименного класса Properties. Начиная с некоторой директории осуществляется рекурсивный обход директорий и файлов с их переименованием.

May 18, 2006 #

wert2all: Ну такие проги и я видел и пользую, тока иногда хочется по-тупому програть все фалы в директории и сконвертировать и названия и ID3 тэги. А у этих прог все сильно наворочено (читай неудобно) и приходится оченьго долго тыкаться, патаясь добиться результата.

May 24, 2006 #

Уже ID3v1 тэги работают, с остальными пока не разобрался. Читайте выше дополнение к статье.

jinn
July 8, 2006 #

very nice..
только одна проблемка - хотелось бы убирать некоторые символы совсем.. например, номер трека в начале песни.

July 8, 2006 #

Учту это. Нужно, наверное, опцию добавить.

Ilja
July 16, 2006 #

Программа понравилась, но есть замечания.
В базовой версии рубит все заглавные буквы даже в случае если оригинальное имя было на английском. Зачем перекодировать файлы если уже видно что там все латиницей?
Попробую составить пользовательский словарь, может тогда она начнет обходить стороной английские песни ;).

July 17, 2006 #

Дельное замечание. Спасибо.
Все будет исправлено в скором времени, осталось только это время найти )).

mig
August 26, 2006 #

Хорошая програмка, спасибо.
Но не нашел инструкций как перегнать в транслит тэги?

lexa
January 21, 2008 #

а на русс можно потом вернуть!

January 21, 2008 #

1. Теги переводятся в транслит автоматически.
2. На русский язык можно вернуть в случае, если создать словарь правил перехода с английского на русский. Постараюсь как-нибудь выложить его демо-версию. Но учтите, что это далеко не тривиальная задача и во многих случаях перевод будет неправильным.
Как вариант в процессе миграции можно создавать файл с меппингом переходов. Тогда можно будет вернуть исходные имена файлов. Но вообще-то, лучше копировать музыку на плеер и запускать программу, указав корневую папку на файловой системе плеера.

gavenkoa
April 6, 2008 #

Hi! Рекомендую при транстите использовать ISO 9.
Этого
http://en.wikipedia.org/wiki/ISO_9
будет достаточно.

Удачи.!!!

Trofei
July 2, 2008 #

c0nst здравствуйте! Сейчас столкнулся с проблемой непонимания плеером русской раскладки. По поиску попал к вам, но я в программировании не разбираюсь вообще. Не могли бы вы обьяснить поподробнее, как пользоваться вашей программой. Конкретно не понятен пункт: “Запустите interpreter.bat со следующим параметром: полный путь к директории, с которой нужно начать переименование”. Я не знаю, куда нужно вписать “interpreter.bat D:/mp3/Музыка”. А при запуске interpreter.bat, выдает сообщение: “Java” не является внутренней или внешней командой.

July 6, 2008 #

Здравствуйте.
Для того, чтобы воспользоваться программой, необходимо, чтобы на компьютере была установлена Java (минимум JRE).
Скачать можно тут - JDK и JRE.
Выполнить “interpreter.bat D:/mp3/Музыка” нужно в командной строке в Far`e или Commander`е (ну или в Windows->Пуск->Выполнить).
Если возникнут вопросы, пишите мне на мыло.
А я как-нибудь напишу подробный мануал как делать перевод с помощью программы.

Trofei
July 8, 2008 #

Здравтсвуйте! Попытался написать на почту, но выдало, что адресс не правильный. Делаю следующее: установил Java (на компьютере имелся JRE) создал папку mp3 (на D: диске), в ней папку Музыка, закинул туда файлы interpreter.bat и interpreter.jar, далее через комманду Выполнить (в меню Пуск) указал путь для файла interpreter.bat и ОК. При запуске окно быстро проскакивает и при этом выдает следующее:

D:\mp3\Музыка>java -jar interpreter.jar
Not enought input parametrs.
Usage: interpreter.bat []

Пробывал вышеописанное и на mp3-плеере - выдает тоже самое.

Подскажите, что я делаю не то. Как писал ранее, с программирование практически не знаком.

mail: maximus_pit[.dog.]list.ru

Trofei
July 8, 2008 #

Usage: interpreter.bat

[]

Владимир
September 29, 2008 #

Спасибо, скачал, заработала с пол пинка, переименовывает то что надо!

Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>