Eu herdei cerca de 2000 arquivos MP3. Para a maioria deles, suas tags ID3 são exibidas ilegíveis no Amarok. Preciso de um software que atualize as tags ID3 para o tipo v2.4 $03
(ou seja, codificação UTF-8), remova quaisquer tags v1 e também seja inteligente em descobrir a codificação original caso a caso (provavelmente uma das Windows-1252, UTF-16 ou GB18030 sem BOM).
Antes de começar a programar isso sozinho sobre o TagLib, já existe uma solução tão completa que eu poderia usar?
Não recomendo o Musicbrainz - ele é fortemente influenciado pelas músicas publicadas nos Estados Unidos e quase inútil para mim. Não recomendo o software geral de identificação ID3 sem testá-lo primeiro contra meus requisitos - a maioria deles
- não suporta v2.4
- francamente, dissemos idéias retardadas sobre a codificação de caracteres
- não possui recursos de automação (não quero gastar meu tempo editando manualmente).
Também não estou interessado apenas em software de limpeza de tags, renomeação em massa ou categorização; Primeiro, realizo o passo de normalização acima mencionado.
mid3v2
é apenas metade da solução. Depois de tentar, definitivamente não é bom com as codificações mal identificadas das quais estou sofrendo, ou seja, uma tag ID3 atualizada ainda é exibida incorretamente no Amarok. O mutagênico falha na minha exigência de "inteligente em descobrir a codificação original"; ele assume alegrementeLatin1
/Windows-1252
, que é compatível com o padrão, mas inútil para o mundo real confuso. Estou inclinado a não aceitar esta resposta agora; Darei mais alguns dias para outras respostas. Se nada de bom vier, você será aceito.mid3v2
não é muito clara e que não me surpreende ... mas acho que o python tem alguns módulos de codificação de caracteres (talveziconv
ou similares) que são mais inteligentes e podem ser úteis para um DIY- er.Não acho que você encontre um aplicativo independente que conserte sua seleção específica de codificações marcadas incorretamente. Ter uma mistura de cp1252, UTF-16 e GB-18030 é bastante incomum e não acho que o software existente possa resolvê-lo automaticamente.
Então, eu baixava o Mutagen e escrevia um script Python personalizado para automatizar suas próprias decisões sobre como corrigir codificações desconhecidas. Por exemplo:
O script acima faz algumas suposições:
Somente as tags marcadas como codificando 0 estão incorretas. (Codificar ostensivamente 0 é ISO-8859-1, mas na prática geralmente é uma página de código padrão do Windows.)
Se uma tag estiver marcada como sendo na codificação UTF-8 ou UTF-16, será considerada correta e simplesmente convertida em UTF-8, se ainda não estiver. Pessoalmente, nunca vi ID3s marcados como UTF (codificações 1-3) antes. Felizmente, a codificação 0 é fácil de recuperar em seus bytes originais, pois ISO-8859-1 é um mapeamento direto de 1 para 1 dos valores de bytes ordinais.
Quando uma tag de codificação 0 é alcançada, o script tenta reformulá-la primeiro como GB18030; depois, se não for válida, retornará à página de códigos 1252. Codificações de byte único como cp1252 tenderão a corresponder à maioria das seqüências de bytes, por isso é melhor colocá-las. no final da lista de codificações para tentar.
Se você tiver outras codificações como cp1251 cirílico ou muitos nomes de arquivos cp1252 com vários caracteres acentuados em uma linha, que se confundem com GB18030, precisará de algum tipo de algoritmo de adivinhação mais inteligente. Talvez veja o nome do arquivo para adivinhar que tipo de caracteres provavelmente estará presente.
fonte
Que tal o Mp3Tag com o Wine ?
Recursos (entre outros):
fonte
Foobar tem um suporte de marcação bastante completo . É executado sob vinho.
fonte
há também EasyTag
você também pode querer saber que o id3v2.3 geralmente é o formato preferível, porque o Windows Media Player não suporta 2.4
fonte