LINUX.ORG.RU

Кодировка тэгов в Amarok.


0

0

Проблема в следующем: недавно решил сменить xmms на amarok...Очень красивый и удобный плеер, но...У меня он криво читает тэги.(предположительно, искажение в сторону UTF). В опциях выставил кодировку - не помогло.

Дистр Gentoo, WM Gnome 2.10 , LC_MESSAGES="C" , остальное выставлено на ru_RU.koi8r.

Заранее спасибо.


Если речь идет о тэгах ID3v2 (а не v1) то проблема в следуюем: в этих тэгах есть специальный флаг указывающий кодировку, но 99% всехпрограм при записи тэгов его игнорируют. В результате проги типа амарок считают что тэг в latin1. Приемлемыми же кодировками являются UTF-16LE и, появившаяся в ID3v2.4 UTF-8. Лично я все тэги пишу с помощью eyeD3 в utf16-le (от id3v1 лучше избавится). amarok и rhymbox читают на ура, но xmms и beep-media-player с ними не дружит :(

svyatogor ★★★★★
()
Ответ на: комментарий от Mixer

> К сожалению, такой вариант меня не устроит - у меня ftp с 15 гектарами музыки.

Ну тогда оставайся на xmms/bmp. Вообще amarok хоть и красивы, удобный но несколько глючный. Хронически зависает, плохо подхватывает обновления в директориях.

Но если уж очень хочется, можешь написать скриптец, которые твои тэги конвертнет, использую eyeD3 (прога то консольная). Если знаешь питон, то совсем легко будет, т.к. у eyeD3 есть API для Python.

svyatogor ★★★★★
()
Ответ на: комментарий от svyatogor

>>Но если уж очень хочется, можешь написать скриптец, которые твои тэги конвертнет, использую eyeD3 (прога то консольная). <<

Но есть и нормальный, человеческий вариант. Для KDE есть прога Ktag, которая в МАССОВОМ порядке конвертит ВСЕ теги (и версии 1, и версии 2) указанных тобой песен, в указанной тобой кодировке - достаточно просто указать папку с музыкой и она её прошерстит (с подпапками) на предмет тегов в песнях, после этого автоматически выделит все песни с кривоватыми тегами, а после можешь жатьть опцию "Выбрать все треки" и, указав необходимую кодировку (я указывал UTF-8) и, если надо добавив опции типа "Заменять знаки "_" на пробелы" и тому подобные, конвертить ВСЮ свою массу песен :)

Очень быстро удобно и безгючно. Собаководы рекомендуют - я свою базу в 12 Гиг махом всю поправил :)

YagMort ★★
()
Ответ на: комментарий от Mixer

У балбесов, которые до сих пор сидят под Win95/98/Me - конечно не будут. А нормальные люди, перешедшие на Win2k/XP проблем иметь не будут - там системная локаль - UTF-16. Так что всё будет пучком. :)

YagMort ★★
()
Ответ на: комментарий от Mixer

Впрочем, у тебя системная локаль koi8-r, так что и теги тебе надо в koi8-r переделывать (хоть убей не пойму, зачем люди сознательно вместо нормального и универсального utf себе отмерший уже давно геморрой в виде koi8-r до сих пор ставят...). А значит, тут я тебе точно не скажу - может все винды koi8-r нормально схавают, а может - все на него положат... cp1251 было бы для виндов надёжнее, но тогда опять - будут поломаны теги для Линухов :) Так что самый лучший вариант - utf8 или utf16.

YagMort ★★
()

Ты хоть поиском пользовался перед тем как вопрос задавать. Какая версия amarok? Этот глюк уже давно пофиксили.

kenneth ★★★
()
Ответ на: комментарий от svyatogor

Как ты пишешь в юникоде c eyeD3?

Например:
eyeD3 --v2 -a "Дельфин" -A "Звезда" -Y 2004 *.mp3

Выдаёт.(Для одного трэка)

Чужой.mp3 [ 8.78 MB ]
--------------------------------------------------------------------------------
Time: 4:47 MPEG1, Layer III [ 256 kb/s @ 44100 Hz - Joint stereo ]
--------------------------------------------------------------------------------
No ID3 v2.x tag found!
Setting artist: Дельфин
Setting album: Звезда
Setting year: 2004
Writing tag...
ID3 v2.4:
title: artist: &#208;&#148;&#208;&#181;&#208;&#187;&#209;&#140; &#209;&#132;&#208;&#184;&#208;&#189;
album: &#208;&#151;&#208;²&#208;&#181;&#208;·&#208;&#18 0;&#208;° year: 2004
track: genre:


Почему он пишет в cp1251 ?
Кто виноват?


















kitov ★★★
()
Ответ на: комментарий от kitov

>Как ты пишешь в юникоде c eyeD3?

Блин!

$ eyeD3 --help | grep encoding --set-encoding=latin1|utf8|utf16-BE|utf16-LE Set the encoding that is used for _all_ text frames.

anonymous
()
Ответ на: комментарий от anonymous

Насколько я понимаю, этой командой выставляется тот самый "флаг", а чем-нибудь можно поставить его на cp1251, а не на utf?

Mixer
() автор топика
Ответ на: комментарий от kenneth

>Ты хоть поиском пользовался перед тем как вопрос задавать. Какая версия amarok? Этот глюк уже давно пофиксили.<

amarok 1.3_beta2

пробовал 1.2.4 -тоже не спасло.

Mixer
() автор топика
Ответ на: комментарий от anonymous

>$ eyeD3 --help | grep encoding

>--set-encoding=latin1|utf8|utf16-BE|utf16-LE Set the encoding that is >used for _all_ text frames.


У меня нет такой функции.
Обновлю версию.

kitov ★★★
()
Ответ на: комментарий от kitov

обновиля до 0.6.4(был 0.6.2)
полйт нормальный :-))

kitov ★★★
()
Ответ на: комментарий от Mixer

У меня amarok 1.2.4. Выставлена перекодировка в cp1251 тегов и метаданных. Все нормально отображает. taglib-1.3.1-1, может его обновить нужно?

kenneth ★★★
()
Ответ на: комментарий от kenneth

* media-libs/taglib Latest version available: 1.3.1 Latest version installed: 1.3.1

Mixer
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.