Pull to refresh

Comments 69

Так просто 8-)
Я думал будет больше возни. Спасибо за информацию.

PS
Немного погуглив нашел бесплатный аналог программы для Windows — TagScanner.
Добавил в топик.
Это оказалось действительно очень просто, но в сумме проблема у меня оставалась в течение нескольких лет :)
Для Windows ещё есть mp3Tag — тоже простая и удобная софтина. Ставил именно для смены кодировки, но потом ещё не раз пригодилась в других случаях.
UFO just landed and posted this here
Даже не знал об этом скрипте. Спасибо.
Да, я тоже ожидал увидеть здесь этот скрипт а не изитег.
Хотя, с личного опыта, ИзиТег перекодирует на порядок быстрее.
Между 3 и 10 секундами для одноразовой операции большая разница?
На 80 гигах музыки, из которых 30 кирилические — да.
Этот скрипт обламывается на файлах, полный путь к которым вместе с названием файла превышает некоторую длину, по-моему 255 символов.
а если в этой папке музыка в перемешку с utf-8 кодировкой?
нормально перекодирует? не хочется самому экспириментировать:)
Easytag у меня не попортил нормальный UTF-8.
К таким файлам просто не было написано «Applying changes to file file.mp3».
НО!
всегда делайте резервные копии. Вдруг чо :)
Он делает проверки пофайлово и предлагает для конвертирования только файлы с кодировкой в cp1251 или koi8r.
Сегодня прогнал свою коллекцию скриптом на питоне, скрипт затронул только нужное, то что уже в utf-8 пропускалось автоматически… Кстати по времени заняло это отсилы секунд 10. В папках вперемешку находились как mp3, так и flac файлы, все выжило…
Я уже привык к mid3iconv -f cp1251 *.mp3, но как правило, приходится править еще много всего, кроме кодировки, для этого я использую Ex Falso. В следующий раз попробую EasyTeg, там все в одном флаконе, может окажется удобнее :)
К сожалению, mid3iconv мне не помог.
Я пробовал такой вариант:
find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1

Я где-то читал, что если в пути к файлу есть точка — способ не помогает.
ИзиТег вообще крутая софтина, у нее также весьма мощные механизмы автозаполнения тегов, и ручной работы с тегами в множестве файлов.
Посмотрите выше, пожалуйста. Мне почему-то мутаген не помог :(
Отлично, спасибо очень пригодилось. А как можно автоматизировать добавление обложек к файлам?
К сожалению, не в курсе, использую плагин к amarok, который скачивает обложки автоматически.
Как насчет такого метода?
find -iname '*.mp3' -print0 | xargs -0 mid3iconv -e CP1251 --remove-v1
К сожалению, mid3iconv мне не помог. Я где-то читал, что если в пути к файлу есть точка — способ не помогает.
Под винду сколько видел прог — Tag & Rename — ИМХО самая удобная. Она и теги конвертит и инфу на cddb находит и обложки на амазоне и еще много всего. Единственный минус — она платная. Под Макось лично я использую CoverScout для обложек, а для тэгов — MPFreaker.
А под линукс вот как-то так, как автор написал.
Это не решение проблемы. Решение проблемы — это правильный детект кодировок. Горе тому плееру который умеет работать только с утф8. Почему с винампом, с фубаром никогда не было и нет таких проблем?
Тут не дело в не-умении. Тут позиция разработчиков, которая называется „utf8 и не*бет“.
И я ее поддерживаю.
С каких это пор винамп научился определять кодировки?
Я потому от него и отказался, что он мне кракозябры показывал
По стандарту id3 v2 в тегах не может быть cp1251. Либо iso-8859-1, либо юникод в разных видах (UTF8, UTF16).
про v2 не спорю. но v2 в файле может и не быть и насколько мне известно, для v1 нет никаких ограничений по кодировке. поправьте если не прав
Нет, там однобайтовая кодировка. К тому же в v1 очень мало места для текста, так что оно не актуально сейчас.
cat echo '35 6 * * 7 root python tag2utf.py /path/to/music/dir' >> /etc/crontab
Как то так, надо на досуге скорректировать да добавить, и не нужно кучи библиотек для поддержки старых форматов/кодировок…
Небольшой комментарий, для тех, кто не в теме: вышенаписанное запускает tag2utf.py раз в месяц в воскресенье в 6:35. Кстати то же самое можно скорее всего можно сделать и через планировщик виндовса (до этого видел запуск по расписанию скриптов на перле, еще в убогом планировщике ХР). Дамаю что так и сделаю, надо только отключить сообщения скрипта, после, о кодировке можно в принципе забыть.
>Решение проблемы — это правильный детект кодировок.

Решение проблемы — это правильная кодировка в тегах. Для этого есть соответствующий стандарт, и этот стандарт — юникод. Стандарты для того и принимаются, чтобы не было проблем, понимаете?
А «детект кодировок» — это не «решение проблемы», а всего лишь вынужденный костыль, придуманный из-за некоторых «умников», которые создали эту самую проблему своим наплевательством на принятые стандарты.

Вы ещё скажите, что решение проблемы криво свёрстаных сайтов — это «правильный детект» и имитирование того кривописанного браузера, под который точился тот или иной сайт. Мол, браузеры должны сами определять, что такой-то криворукий Васисуалий заточил этот сайт под ИЕ6, поэтому надо имитировать его поведение и рендерить так, как это сделал бы он. Так, по-Вашему?
то о чем вы говорите — практически невозможная задача. а детект кодировок весьма простая и тем более уже имеющая готовые решения(которые нужно только правильно использовать) задача.
Нужно лечить не симптомы, а причину болезни. И уж тем более не называть лечение симптомов «правильным решением», как это делаете Вы.
Причина «болезни» (кракозябр) — несоответствие стандарту. Правильное решение — описано в топике.
>Почему с винампом, с фубаром никогда не было и нет таких проблем?

Да, насчёт «не было и нет проблем»: а Вы им пробовали скармливать файлы с тегами в koi8-r? Попробуйте для разнообразия — не будете больше такие смешные вещи рассказывать :)
Может вопрос немного не по теме, по как я могу быстро, а то в ручную лень, добавить теги к 5 дискам? Можем можно сделать какой нибудь скрипт… чтобы он из текстового файла читал данные

title,artist и добавлял их. Структуда дисков… CD1/, CD2/,… CD5/. В ручную ну очень лень. Очень очень.

Альбом — www.amazon.co.uk/101-Running-Songs/dp/B002NXNZRC

если под windows, то помжет программа Mp3Tag. Там есть возможность брать теги из текстового файла с треклистом.
допустим в каждой директории файлы песен пронумерованы (1.mp3, 2.mp3, 3.mp3 и так далее) и есть файл tracks примерно такого содержания:

1. Don't Stop Me Now — Queen
2. The Rockafeller Skank — Fatboy Slim
3. Hey Ya! — Outkast


теперь можно считывая файл tracks переименовать пронумерованные mp3 файлы этой командой:

while read; do mv ${REPLY%%.*}.mp3 "${REPLY}.mp3"; done < tracks

для подстройки и экспериментов лучше всего сначала запускать с echo вместо mv, то есть так:

while read; do echo ${REPLY%%.*}.mp3 "${REPLY}.mp3"; done < tracks

собственно это просто переименует пронумерованные файлы в такие, какие прописаны в файле tracks. затем стоит прибегнуть к услугам easytag, который отлично парсит теги из названий файлов, а затем…
EasyTag — действительно полезная вещь. Тем более, когда объем музыки переваливает за 100 Гб. Единственный неприятный момент, с которым столкнулся: если музыка находится на диске ntfs, то EasyTag не всегда в состоянии сохранить изменения.
Вот у меня как раз на диске NTFS. Около 80 гигов. Посмотрим что будет. Думаю бекапить на диск-сосед или нет.
Можно и не бэкапить. Не потрет ничего. Если сомневаетесь, скормите сначала небольшую папочку и посмотрите, что произойдет.
Тоесть, он трогает только заголовок с ID-тегами?
Сегодня поищу в портежах или из сурцов соберу.
считаю что тег ID3v1.x нужно удалять от греха, а не записывать в кодировке CP1251, как это показано на картинке
что за бред?
пользуюсь однострочным скриптом, находит mp3 файлы в папках и конвертирует в теги юникод

nymin :~$ cat /usr/bin/tagconv
#!/bin/bash
find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v
Не хочется в третий раз отвечать одно и то же, прочтите комментарии.

ps забыли единицу в конце команды.
Извините за небольшой оффтоп, но может быть кто-то знает, чем в линуксе можно понизить битрейт mp3-файлов с сохранением тегов?
Понижение невозможно. Только перекодировка.
Извращенец…
Возможна схема: открытие, сохранение в другом битрейте. Но имхо это бред.
Можно скриптом сделать, но все равно. Вам уши не жалко?
Проблема в том, что треки с высоким битрейтом быстрее сажают батарейку плеера и занимают много места, а на слух разницу между 192 и 320 я определить не могу, поэтому и перекодирую песни для плеера в более низкий битрейт.
Честно говоря, разница сильная, как мне кажется.
Вот изврещений с FLAC я никогда не понимал, да, но 320 битрейт — это комфортный.

Про батарейку плеера истину глаголите, но COWON D2 заставить посадиться достаточно сложно :) Маленький пиар cowon получился.
С другой стороны это портативный плеер. На нем можно и с флаком разницы не почувствовать, если бы он его играл. Теперь понятно почему человек хочет это сделать.
Спасибо, наконец то привел базу в порядок!
Я очень рад тому, что статья Вам пригодилась. Пожалуйста.
заплюсовал бы, да заряда не хватает :)
Поправил немножко. Спасибо.
спасибо за статью. как раз на днях обновления стёрли мою либу которая понимала русские тэги, так что это как раз то что нужно.
Не подскажете название либы? :)
Вы знаете, я почти уверен, что библиотека от ленни и сейчас будет работать. Попробуйте. В Убунте все работало вплоть до версии нового амарока, на всех версиях.
работать будет. да, но у меня тестинг, я часто обновляюсь. и темболее я уже всё перекодировал в утф8. пусть будет так :) кстати мои 8,6к файлов уже сутки редактирует, загрузка на процессор 50%. проц: Intel® Pentium® D CPU 2.80GHz
храню музыку на сетевом хранилище, сталкнулся с проблемой тегов в линухе и винде.
если совсем убрать IDv1 то WMP «ослепнет».
если сделать IDv1 и IDv2 то амарок и wmp работает нормально, а rhythmbox показывает закарючки…
пока забил на rhythmbox.
Согласен, большую базу музыки удобно конвертнуть через EasyTag, но когда надо добавлять музыку отдельными альбомами этот способ не удобен.
Для этого я использую скрипт для наутилуса forum.ubuntu.ru/index.php?topic=15605.msg126303#msg126303
Правый клик по файлам -> Сценарии -> mp3tag_to_utf
Sign up to leave a comment.

Articles