No Windows, você pode usar o Mp3tag : livre, processo em lote e marcação após o nome do arquivo.
Eu tenho algumas músicas em uma pasta na qual gostaria de adicionar os itens de metadados de artista, título, gênero e álbum. Eu gostaria de obter as informações de metadados para o título e artista do próprio nome do arquivo.
Por exemplo: Eu tenho um arquivo de música chamado Melvv - Glide.mp3
. Gostaria de pegar o nome do artista Melvv
e o título da música Glide
do nome do arquivo e adicioná-lo como MetaData. Para o álbum e o gênero, adicionarei isso em mim mesmo.
bash
ou python
? No Windows, você pode usar o Mp3tag : livre, processo em lote e marcação após o nome do arquivo.
Este é um trabalho típico que eu costumava fazer usando Foobar2000 . Funciona bem com o vinho.
Abra os arquivos no Foobar2000, abra o menu de contexto e procure por "Tagging", "Manage Scripts". Em seguida, procure a ação "Adivinha valores de nomes de arquivos".
Como o padrão de suposição tomou algo como "% artista% \% álbum% \% número_de_caminho% -% título%", se por exemplo seus arquivos (nomeados com número, espaço, traço, espaço e título) estiverem em pastas para cada álbum que eles mesmos estão em pastas para cada artista.
Eu faço algo assim, embora eu não esteja adicionando as mesmas informações (tudo que estou adicionando é a arte do álbum).
Você precisa do pacote eyeD3
.
Para meu uso particular, eu uso a seguinte linha de comando (eu incorporei em um script bash, você certamente poderia usar python):
eyeD3 --genre= --to-v2.3 --no-tagging-time-frame --remove-comments --add-image=$BASEPATH/$RELPATH/folder.jpg:OTHER:folder.jpg $SONG.mp3"
Aqui estou removendo qualquer configuração de gênero existente, certificando-se de que o formato seja ID3v2.3, removendo comentários e adicionando a arte do álbum. Eu já assegurei que o diretório de origem de cada álbum contém um arquivo chamado folder.jpg
, que contém a arte do álbum. eyeD3
suporta todos os metadados que você quer na linha de comando, você pode personalizar tudo o que quiser.
for i in *.mp3 do
SONG='basename "$i" .mp3'
ARTIST='echo $SONG | awk -F " - " '{print $1}''
TITLE='echo $SONG | awk -F " - " '{print $2}''
eyeD3 --artist $ARTIST --title $TITLE $SONG.mp3
done