BlogPesquisa

MP3 prejudica a transcrição de música? Medimos WAV e MP3

As mesmas gravações em três mecanismos de transcrição, sem perdas, em MP3 e AAC, ao lado de uma mudança que ninguém ouve. O que mudou e qual arquivo enviar.

Escrito por
Publicado
Atualizado
Tamanho
8 min de leitura

A resposta curta

Não a 320 kbit/s, então envie o arquivo que você já tem. Em 5 de outubro de 2026, transcrevemos as mesmas gravações como áudio sem perdas e de novo depois de uma ida e volta por MP3 e AAC, com três mecanismos: o Basic Pitch, do Spotify, em 12 gravações de violão, um modelo de piano solo em 50 execuções de piano e o Mirelo em uma música de banda. O MP3 a 320 kbit/s mudou o F1 de ataque de cada mecanismo em no máximo 0,002, numa escala de 0 a 1, poucas notas em alguns milhares, e manteve a duração de todos os arquivos até a amostra. O MP3 a 192 kbit/s e o AAC a 256 kbit/s mudaram as pontuações em até 0,008, tantas vezes para cima quanto para baixo, e os arquivos AAC voltaram até 733 amostras mais longos.

Por que o MP3 mudaria as notas?

O MP3 e o AAC descartam detalhes que o ouvido dificilmente percebe, em geral sons baixos ao lado de sons mais altos e frequências agudas. Modelos como o Basic Pitch leem uma imagem tempo-frequência do áudio, e nada garante que ignorem os mesmos detalhes que um ouvinte ignora. Assim, uma nota perto do limiar de um modelo pode aparecer ou sumir quando o espectro muda um pouco.

Trabalhos anteriores apontam um efeito pequeno. Urbano e colegas constataram que os atributos MFCC são estáveis sob codificação com perdas a partir de cerca de 160 kbit/s e que os atributos de chroma, que acompanham as classes de altura, quase não são afetados pelo codec nem pela taxa de bits (ISMIR 2014). Eles mediram atributos do áudio, e nós queríamos saber das notas transcritas.

Também tínhamos um motivo prático. Cópias sem perdas das gravações e da reprodução delas respondiam por 77% do armazenamento das nossas partituras, e só queríamos cópias menores se não custassem nada em precisão.

Como testamos

Cada gravação passou por cada codec com o FFmpeg 8.1.1 (LAME a 320 ou 192 kbit/s constantes, o codificador AAC do próprio FFmpeg a 256 kbit/s) e depois foi decodificada pelo mesmo código que lê um arquivo enviado. Como controle, alteramos o áudio sem perdas em 0,01 dB, algo que ninguém ouve, para ver quanto as medidas variam sem codec nenhum. Os três mecanismos são determinísticos: a mesma entrada gera as mesmas notas.

Os mecanismos e as gravações
MecanismoGravaçõesNotas de referência
Basic Pitch, como o ScoreStarling o usa para um instrumento12 gravações do GuitarSet (um solo e um acompanhamento de cada um de seis violonistas), os primeiros 60 segundos de uma música de banda do Slakh2100 e uma peça de banda de 58 segundos que nós mesmos escrevemos e sintetizamosAs anotações dos conjuntos de dados
O modelo de piano solo de Kong e colegas25 peças de piano (24 partituras de domínio público e uma que nós escrevemos), cada uma tocada duas vezes com rubato diferente e renderizada com um piano SoundFont e pedal de sustentação: 50 execuçõesAs notas tocadas
Audio-to-MIDI do Mirelo (a2m-1.1)A mesma música de banda de 60 segundos do Slakh, só sem perdas e em MP3 320O MIDI da música

O F1 de ataque (onset) conta uma nota transcrita como certa quando a altura dela está a até 50 cents e o início a até 50 ms de uma nota de referência. Ele penaliza do mesmo modo as notas que faltam e as que sobram, e 1,0 é perfeito. Nosso artigo sobre a precisão explica a medida por completo.

O que mudou com um instrumento?

Quase nada. Nas 12 gravações de violão, o F1 de ataque do Basic Pitch ficou entre 0,761 e 0,764 em todos os formatos, enquanto o arquivo estéreo encolheu para entre 14% e 23% do WAV.

As mesmas 12 gravações do GuitarSet em cinco formatos: o F1 de ataque quase não muda, enquanto o arquivo encolhe para um quarto ou menos. Os valores estão na tabela abaixo.
Basic Pitch como o ScoreStarling o usa, por formato (5 de outubro de 2026)
MedidaSem perdasControleMP3 320AAC 256MP3 192
F1 de ataque, violão0.76260.76270.76110.76440.7616
F1 de ataque e fim da nota, violão0.52240.52220.52120.52280.5210
F1 de ataque, música do Slakh0.52040.52100.52040.52400.5227
F1 de ataque, nossa peça de banda0.71360.71360.71230.70890.7054
Notas encontradas, de 3.8932,7412,7422,7392,7442,737
Notas encontradas que mudaram—1101714
Tonalidade como anotada10 de 1210 de 1210 de 1210 de 1210 de 12
Andamento inalterado—14 de 1414 de 1414 de 1414 de 14
Mudança de duração, em amostras—00+16 a +7330
Relação sinal-ruído, dB (mediana)—58.453.239.430.3
Tamanho, mono / estéreo100%100%45% / 23%23% / 17%27% / 14%

A pontuação sem perdas é 0,763, e não os 0,744 do nosso artigo de 3 de outubro, porque desde 4 de outubro o ScoreStarling escreve um instrumento como uma única linha, o que mudou cinco dos solos. As duas rodadas usam o Basic Pitch 0.4.0.

E para piano solo?

O modelo de piano ouviu as mesmas notas em todos os formatos. O F1 de ataque dele em relação às notas tocadas foi 0,9427 sem perdas, 0,9426 no controle, 0,9428 no MP3 320 e 0,9433 no MP3 192, e ele encontrou cerca de 92,2% das notas escritas em todos os formatos.

A etapa que lê a pulsação e as barras de compasso a partir dessas notas foi menos estável, e o codec não era a causa. Ela colocou as barras de compasso de forma diferente em 5 das 50 execuções depois do controle inaudível e em 7 depois do MP3 320, quatro delas as mesmas execuções do controle. Essa etapa reage a qualquer mudança, então a contamos como ruído na medida, e não como custo do MP3. Não rodamos AAC no piano.

E para uma banda completa?

Fizemos uma comparação paga com o Mirelo, na música de banda de 60 segundos. Tanto o arquivo sem perdas quanto o MP3 voltaram com 842 notas e toques de bateria, e 829 delas (98,5%) começaram a até 50 ms das da rodada sem perdas.

Audio-to-MIDI do Mirelo em uma música de banda de 60 segundos
MedidaSem perdasMP3 320
F1 de ataque, notas com altura definida (703 na música)0.67070.6687
F1 de ataque da bateria (423 toques)0.69830.7023
F1 de ataque do baixo / guitarra / piano0.455 / 0.681 / 0.8270.471 / 0.678 / 0.832
Andamento, BPM133.0133.0

Por que algumas notas mudaram?

Qualquer mudança na entrada move algumas notas que estão bem no limiar de um modelo. Das cerca de 2.740 notas que o Basic Pitch encontrou, o controle inaudível mudou uma, o MP3 320 mudou 10, o AAC 17 e o MP3 192 14, nunca mais de 7 em uma mesma gravação. O MP3 320 ficou ligeiramente abaixo em três das cinco comparações (por 0,0013 a 0,0020), igual em uma e ligeiramente acima em outra. O AAC e o MP3 192 subiram no violão ou na música do Slakh e caíram na nossa peça de banda sintetizada, em até 0,008. Um codec que custasse precisão de verdade mostraria uma queda clara em toda parte, e nenhum mostrou.

O que um codec muda, sim, é a temporização nas bordas. Os codificadores AAC acrescentam amostras de silêncio (priming) no começo e completam o fim até um frame inteiro; a Apple documenta um atraso de 2112 amostras. Nossos arquivos AAC foram decodificados com 16 a 733 amostras a mais. O FFmpeg grava o MP3 com um cabeçalho Xing/LAME que registra o atraso do codificador, e nossos arquivos MP3 foram decodificados com a duração original exata. Isso importa quando uma partitura toca em sincronia com a gravação.

Qual arquivo você deve enviar?

  • O arquivo que você já tem. Converter um WAV em MP3 antes não traz ganho nenhum, e converter um MP3 de volta em WAV não devolve nada.
  • Se precisar comprimir, o MP3 a 320 kbit/s foi o que mais se aproximou do original pela relação sinal-ruído e manteve a duração exata.
  • Não medimos taxas de bits baixas. Paramos em 192 kbit/s, então confira o que o seu app de gravação salva.
  • A forma como você grava importa muito mais do que o formato: uma única parte bem clara, pouco reverb, nenhuma música de fundo. Nosso guia de gravação de voz mostra o que conferir.

O ScoreStarling agora funciona assim. Desde 5 de outubro de 2026, um arquivo WAV, AIFF ou FLAC enviado é guardado como MP3 de 320 kbit/s e transcrito a partir dessa cópia, o que armazena uma gravação estéreo com 23% do tamanho do WAV. Arquivos MP3, M4A, Ogg e de vídeo são guardados como chegaram; portanto, para converter um MP3 em partitura, envie o arquivo que você tem.

O que este teste não consegue dizer

  • Uma música de banda para o Mirelo e piano sintetizado em vez de pianos gravados.
  • Nenhum canto. Nossas gravações reais são privadas e já eram arquivos AAC, então não serviam de referência sem perdas.
  • Um codificador por formato e nenhuma taxa de bits abaixo de 192 kbit/s.
  • O F1 de ataque diz se uma nota foi ouvida, não se a partitura escrita se lê bem.

Fontes

  1. What Is the Effect of Audio Quality on the Robustness of MFCCs and Chroma Features? — Urbano, Bogdanov, Herrera, Gómez e Serra, ISMIR 2014
  2. GuitarSet 1.1.0 — Xi, Bittner, Pauwels, Ye e Bello, Zenodo (CC BY 4.0)
  3. Slakh2100 — Manilow, Wichern, Seetharaman e Le Roux, Zenodo (CC BY 4.0)
  4. A Lightweight Instrument-Agnostic Model for Polyphonic Note Transcription and Multipitch Estimation — Bittner et al., Spotify, 2022 (Basic Pitch)
  5. High-resolution Piano Transcription with Pedals by Regressing Onset and Offset Times — Kong, Li, Song, Wan e Wang, 2020
  6. mir_eval.transcription — documentação do mir_eval
  7. FFmpeg formats: the mp3 muxer — documentação do FFmpeg
  8. TN2258: AAC Audio, Encoder Delay and Synchronization — Apple

Perguntas e respostas

Devo enviar WAV ou MP3 para transcrição?

Qualquer um dos dois. No nosso teste de 5 de outubro de 2026, um MP3 a 320 kbit/s ficou a até 0,002 de F1 de ataque (onset) do WAV de origem, com três mecanismos diferentes. Envie o arquivo que o seu gravador ou editor gera e não o converta antes. Um MP3 a 192 kbit/s e um arquivo AAC a 256 kbit/s ficaram dentro de 0,008. Não testamos taxas de bits menores.

Uma taxa de bits menor no MP3 muda as notas?

Algumas, nos dois sentidos. A 192 kbit/s, 14 das cerca de 2.740 notas correspondentes mudaram em 14 gravações, contra 10 a 320 kbit/s e 1 com uma mudança de volume inaudível. O F1 de ataque variou em até 0,008 a 192 kbit/s e em no máximo 0,002 a 320 kbit/s. Não medimos taxas de bits abaixo de 192 kbit/s.

Por que um arquivo AAC sai um pouco mais longo que o WAV?

Os codificadores AAC acrescentam amostras de silêncio (priming) no começo e completam o fim até um frame inteiro; a Apple documenta um atraso de priming de 2112 amostras. Se o player ou o decodificador não as remove, o áudio sai um pouco mais longo. No nosso teste, os arquivos AAC foram decodificados com 16 a 733 amostras a mais. O MP3 gravado pelo FFmpeg com o cabeçalho Xing/LAME foi decodificado com a duração exata.

O ScoreStarling converte meu WAV em MP3?

Sim. Desde 5 de outubro de 2026, um arquivo WAV, AIFF ou FLAC enviado é guardado como MP3 de 320 kbit/s, a configuração medida aqui, e transcrito a partir dessa cópia. Arquivos MP3, M4A, Ogg e de vídeo são guardados como chegaram.

Converter MP3 em partitura