Domando sua Biblioteca Musical

O Guia do id3v2 no Terminal

Você já transferiu uma música para o seu celular ou player automotivo e deu de cara com o temido “Artista Desconhecido” ou “Faixa 01”, mesmo o arquivo estando nomeado corretamente? O culpado é o metadado ID3.

No ecossistema Linux, o id3v2 é a ferramenta de linha de comando padrão ouro para resolver isso sem precisar abrir editores pesados. Vamos aprender a usá-lo como um profissional.

O que é o ID3v2?

Diferente do antigo padrão ID3v1 (que era limitado a 30 caracteres), o ID3v2 permite armazenar títulos longos, capas de álbum, letras e muito mais, tudo dentro do próprio arquivo .mp3. A ferramenta id3v2 permite manipular essas “etiquetas” de forma cirúrgica.

Instalação no Linux

Se você ainda não o tem:

# Debian/Ubuntu
sudo apt install id3v2

# Fedora
sudo dnf install id3v2

Principais Parâmetros e Comandos

A sintaxe básica:

id3v2 [opção] "valor" arquivo.mp3

Exemplos de Uso:

# -l Listar as tags existentes
id3v2 -l musica.mp3

# -a Define o Artista 
id3v2 -a "Daft Punk" musica.mp3

# -A Define o Álbum
id3v2 -A "Discovery" musica.mp3

# -t Define o Título da música
id3v2 -t "One More Time" musica.mp3

# -y Define o Ano
id3v2 -y "2001" musica.mp3

# -g Define o Gênero
id3v2 -g "Electronic" musica.mp3

# -D Remove todas as tags
ID3v1 e v2 id3v2 -D musica.mp3

Dica de Expert:

Use a opção -C para converter tags antigas de ID3v1 para ID3v2 automaticamente.

Automatizando com Script

Muitas vezes, nossos arquivos estão bem nomeados (ex: John Lennon – Imagine.mp3), mas as tags internas estão vazias. Em vez de editar um por um, podemos usar um script Bash para automatizar o processo.

O script abaixo percorre todos os arquivos .mp3 de uma pasta, remove a extensão do nome e aplica o resultado como o Título da música na tag ID3v2.

Script Bash

#!/bin/bash
# Define o interpretador Bash.

# Armazena o caminho passado como primeiro argumento ($1). 
# Se nenhum caminho for passado, usa o diretório atual (.).
DIRETORIO="${1:-.}"

# Verifica se o caminho fornecido é realmente um diretório válido.
if [ ! -d "$DIRETORIO" ]; then
    echo "[ERRO] O diretório '$DIRETORIO' não existe."
    exit 1 # Encerra o script com código de erro.
fi

# Inicia o processamento usando o 'find' para buscar arquivos .mp3 (case insensitive -iname).
# O -type f garante que buscaremos apenas arquivos, e não pastas.
# O loop 'while' com 'read' é mais seguro para nomes de arquivos com espaços ou quebras de linha.
find "$DIRETORIO" -type f -iname "*.mp3" | while read -r arquivo; do

    # Extrai apenas o nome do arquivo (sem o caminho da pasta) para processamento.
    base_nome=$(basename "$arquivo")
    
    # Extrai o caminho da pasta onde o arquivo está guardado.
    diretorio_pai=$(dirname "$arquivo")

    # Captura o Título ID3 ATUAL.
    # Usamos o id3v2 -l e tratamos o texto para pegar apenas o valor após o 'Title :'.
    TITULO_ANTIGO=$(id3v2 -l "$arquivo" | grep '^Title' | cut -d: -f2 | sed 's/^[[:space:]]*//')

    # Define o NOVO Título removendo a extensão .mp3 do nome base.
    nome_limpo="${base_nome%.*}"

    # --- Início do Log Visual ---
    echo "----------------------------------------------------------"
    # Mostra o caminho completo para você saber em qual subpasta o arquivo está.
    echo "Local: $diretorio_pai"
    echo "Arquivo: $base_nome"
    echo "  [ANTES]  Título: ${TITULO_ANTIGO:-<Vazio>}"
    
    # Executa a atualização da tag de título (-t).
    # O redirecionamento > /dev/null esconde a saída padrão do comando id3v2.
    id3v2 -t "$nome_limpo" "$arquivo" > /dev/null 2>&1

    # Captura o Título ID3 após a alteração para confirmar o sucesso.
    TITULO_NOVO=$(id3v2 -l "$arquivo" | grep '^Title' | cut -d: -f2 | sed 's/^[[:space:]]*//')
    
    echo "  [DEPOIS] Título: $TITULO_NOVO"
    # --- Fim do Log Visual ---

done # Finaliza o loop do 'find'.

# Mensagem final.
echo "----------------------------------------------------------"
echo "Varredura e atualização concluídas em: $DIRETORIO"

Como utilizar

  1. Salve o código acima em um arquivo chamado:
    tagger.sh
  2. Dê permissão de execução:
    chmod +x tagger.sh
  3. Mova o script para a pasta das músicas (ou aponte o caminho) e execute:
    ./tagger.sh.

Conclusão

Manter uma biblioteca organizada não precisa ser um trabalho manual exaustivo. Com o id3v2 e um pouco de lógica de terminal, você garante que sua experiência musical seja impecável em qualquer dispositivo.

Ilustrações

SVG REPO
Disponível em: https://www.svgrepo.com/svg/44854/mp3
Acesso em: 06 abr. 2026.

Referências

ID3.ORG
Disponível em: https://id3.org/id3v2.3.0
Acesso em: 06 abr. 2026.

Rolar para cima