BlogRecherche

Le MP3 nuit-il à la transcription musicale ? WAV et MP3 mesurés

Les mêmes enregistrements passés dans trois moteurs de transcription en audio sans perte, en MP3 et en AAC, avec une modification que personne ne peut entendre. Ce qui a bougé, et quel fichier importer.

Écrit par
Publié
Mis à jour
Longueur
8 min de lecture

La réponse courte

Pas à 320 kbit/s : importez donc le fichier que vous avez déjà. Le 5 octobre 2026, nous avons transcrit les mêmes enregistrements en audio sans perte, puis de nouveau après un aller-retour par le MP3 et l’AAC, avec trois moteurs : Basic Pitch de Spotify sur 12 enregistrements de guitare, un modèle de piano seul sur 50 interprétations au piano, et Mirelo sur un morceau de groupe. Le MP3 à 320 kbit/s a décalé le F1 sur les attaques de chaque moteur de 0,002 au plus sur une échelle de 0 à 1, soit une poignée de notes sur quelques milliers, et a conservé la durée de chaque fichier à l’échantillon près. Le MP3 à 192 kbit/s et l’AAC à 256 kbit/s ont décalé les résultats de 0,008 au plus, aussi souvent à la hausse qu’à la baisse, et les fichiers AAC sont revenus jusqu’à 733 échantillons plus longs.

Pourquoi le MP3 changerait-il les notes ?

Le MP3 et l’AAC suppriment des détails que l’oreille a peu de chances de remarquer, surtout les sons faibles à côté de sons plus forts et les hautes fréquences. Des modèles comme Basic Pitch lisent une image temps-fréquence de l’audio, et rien ne garantit qu’ils ignorent les mêmes détails qu’un auditeur. Une note proche du seuil d’un modèle peut donc apparaître ou disparaître quand le spectre change un peu.

Des travaux antérieurs indiquent un effet faible. Urbano et ses collègues ont trouvé que les descripteurs MFCC restent stables sous compression avec perte à partir d’environ 160 kbit/s, et que les descripteurs de chroma, qui suivent les classes de hauteurs, ne sont presque pas affectés par le codec ni par le débit (ISMIR 2014). Ils ont mesuré des descripteurs ; nous voulions savoir ce qu’il en est des notes transcrites.

Nous avions aussi une raison pratique. Les copies sans perte des enregistrements et de leur lecture représentaient 77 % de l’espace de stockage de nos partitions, et nous ne voulions des copies plus petites que si elles ne coûtaient rien en précision.

Comment nous avons testé

Chaque enregistrement est passé dans chaque codec avec FFmpeg 8.1.1 (LAME à un débit constant de 320 ou 192 kbit/s, l’encodeur AAC propre à FFmpeg à 256 kbit/s), puis a été décodé par le même code que celui qui lit un fichier importé. Comme témoin, nous avons modifié l’audio sans perte de 0,01 dB, ce que personne ne peut entendre, pour voir de combien les indicateurs bougent sans aucun codec. Les trois moteurs sont déterministes : une même entrée donne les mêmes notes.

Les moteurs et les enregistrements
MoteurEnregistrementsNotes de référence
Basic Pitch, tel que ScoreStarling l’exécute pour un instrument12 enregistrements GuitarSet (un solo et un accompagnement pour chacun des six interprètes), les 60 premières secondes d’un morceau de groupe de Slakh2100, et un morceau de groupe de 58 secondes que nous avons écrit et synthétiséLes annotations des jeux de données
Le modèle de piano seul de Kong et ses collègues25 pièces pour piano (24 partitions du domaine public et une que nous avons écrite), chacune jouée deux fois avec un rubato différent et rendue avec un piano SoundFont et la pédale de sustain : 50 interprétationsLes notes jouées
Audio-to-MIDI de Mirelo (a2m-1.1)Le même morceau de groupe Slakh de 60 secondes, en sans perte et en MP3 320 seulementLe MIDI du morceau

Le F1 sur les attaques (onset F1) compte une note transcrite comme juste quand sa hauteur est à 50 cents près et son début à 50 ms près par rapport à une note de référence. Il pénalise de la même façon les notes manquantes et les notes en trop, et 1,0 est le résultat parfait. Notre article sur la précision explique cet indicateur en détail.

Qu’est-ce qui a changé pour un seul instrument ?

Presque rien. Sur les 12 enregistrements de guitare, le F1 sur les attaques de Basic Pitch est resté entre 0,761 et 0,764 dans tous les formats, alors que le fichier stéréo se réduisait à une taille comprise entre 14 % et 23 % de celle du WAV.

Les mêmes 12 enregistrements GuitarSet en cinq formats : le F1 sur les attaques bouge à peine alors que le fichier se réduit au quart de sa taille ou moins. Les valeurs figurent dans le tableau ci-dessous.
Basic Pitch tel que ScoreStarling l’exécute, par format (5 octobre 2026)
IndicateurSans perteTémoinMP3 320AAC 256MP3 192
F1 sur les attaques, guitare0.76260.76270.76110.76440.7616
F1 sur les attaques et les fins de notes, guitare0.52240.52220.52120.52280.5210
F1 sur les attaques, morceau Slakh0.52040.52100.52040.52400.5227
F1 sur les attaques, notre morceau de groupe0.71360.71360.71230.70890.7054
Notes trouvées, sur 3 8932,7412,7422,7392,7442,737
Notes trouvées qui ont changé—1101714
Tonalité conforme à l’annotation10 sur 1210 sur 1210 sur 1210 sur 1210 sur 12
Tempo inchangé—14 sur 1414 sur 1414 sur 1414 sur 14
Écart de durée, en échantillons—00+16 à +7330
Rapport signal sur bruit, dB (médiane)—58.453.239.430.3
Taille, mono / stéréo100%100%45% / 23%23% / 17%27% / 14%

Le résultat sans perte est de 0,763, et non de 0,744 comme dans notre article du 3 octobre, parce que depuis le 4 octobre ScoreStarling écrit un instrument sous la forme d’une seule ligne, ce qui a modifié cinq des solos. Les deux séries utilisent Basic Pitch 0.4.0.

Et pour le piano seul ?

Le modèle de piano a entendu les mêmes notes dans tous les formats. Son F1 sur les attaques par rapport aux notes jouées était de 0,9427 en sans perte, 0,9426 pour le témoin, 0,9428 pour le MP3 320 et 0,9433 pour le MP3 192, et il a trouvé environ 92,2 % des notes écrites dans tous les formats.

L’étape qui déduit la pulsation et les barres de mesure à partir de ces notes était moins stable, et le codec n’en était pas la cause. Elle a placé les barres de mesure autrement dans 5 des 50 interprétations après le témoin inaudible, et dans 7 après le MP3 320, dont quatre étaient les mêmes interprétations que pour le témoin. Cette étape réagit à n’importe quel changement, donc nous la comptons comme du bruit dans les résultats, et non comme un coût du MP3. Nous n’avons pas fait passer d’AAC sur le piano.

Et pour un groupe complet ?

Nous avons fait une comparaison payante avec Mirelo, sur le morceau de groupe de 60 secondes. Le fichier sans perte comme le MP3 ont donné 842 notes et coups de batterie, et 829 d’entre eux (98,5 %) commençaient à moins de 50 ms de ceux de l’essai sans perte.

Mirelo Audio-to-MIDI sur un morceau de groupe de 60 secondes
IndicateurSans perteMP3 320
F1 sur les attaques, notes de hauteur déterminée (703 dans le morceau)0.67070.6687
F1 sur les attaques de la batterie (423 coups)0.69830.7023
F1 sur les attaques, basse / guitare / piano0.455 / 0.681 / 0.8270.471 / 0.678 / 0.832
Tempo, BPM133.0133.0

Pourquoi des notes ont-elles changé ?

Toute modification de l’entrée déplace quelques notes situées juste au seuil d’un modèle. Sur les quelque 2 740 notes trouvées par Basic Pitch, le témoin inaudible en a déplacé une, le MP3 320 en a déplacé 10, l’AAC 17 et le MP3 192 14, jamais plus de 7 dans un même enregistrement. Le MP3 320 est ressorti à peine plus bas dans trois des cinq comparaisons (de 0,0013 à 0,0020), identique dans une et à peine plus haut dans une. L’AAC et le MP3 192 ont monté sur la guitare ou le morceau Slakh et baissé sur notre morceau de groupe synthétisé, de 0,008 au plus. Un codec qui coûterait une vraie précision montrerait une baisse nette partout, et aucun ne l’a fait.

Ce qu’un codec change vraiment, c’est le timing aux extrémités. Les encodeurs AAC ajoutent des échantillons de silence d’amorçage au début et complètent la fin jusqu’à une trame entière ; Apple documente un délai de 2 112 échantillons. Nos fichiers AAC ont été décodés avec 16 à 733 échantillons de plus. FFmpeg écrit le MP3 avec un en-tête Xing/LAME qui enregistre le délai de l’encodeur, et nos fichiers MP3 ont été décodés à la durée d’origine exacte. Cela compte quand une partition est lue en synchronisation avec son enregistrement.

Quel fichier importer ?

  • Celui que vous avez déjà. Convertir d’abord un WAV en MP3 n’apporte rien, et reconvertir un MP3 en WAV ne ramène rien.
  • Si vous devez compresser, le MP3 à 320 kbit/s est celui qui s’est le plus approché de l’original d’après le rapport signal sur bruit, et il a conservé la durée exacte.
  • Nous n’avons pas mesuré les bas débits. Nous nous sommes arrêtés à 192 kbit/s : vérifiez donc ce que sauvegarde votre application d’enregistrement.
  • La façon d’enregistrer compte bien plus que le format : une seule partie claire, peu de réverbération, pas de musique de fond. Notre guide du mémo vocal détaille ce qu’il faut vérifier.

ScoreStarling fonctionne désormais ainsi. Depuis le 5 octobre 2026, un WAV, un AIFF ou un FLAC importé est conservé en MP3 à 320 kbit/s et transcrit à partir de cette copie, ce qui stocke un enregistrement stéréo à 23 % de la taille de son WAV. Les fichiers MP3, M4A, Ogg et vidéo sont conservés tels quels : pour convertir un MP3 en partition, importez simplement le fichier que vous avez.

Ce que ce test ne peut pas vous dire

  • Une seule chanson de groupe pour Mirelo, et un piano synthétisé plutôt que de vrais pianos enregistrés.
  • Pas de chant. Nos vraies prises enregistrées sont privées et étaient déjà des fichiers AAC : elles ne pouvaient donc pas servir de référence sans perte.
  • Un seul encodeur par format et aucun débit inférieur à 192 kbit/s.
  • Le F1 sur les attaques dit si une note a été entendue, pas si la partition écrite se lit bien.

Sources

  1. What Is the Effect of Audio Quality on the Robustness of MFCCs and Chroma Features ? — Urbano, Bogdanov, Herrera, Gómez et Serra, ISMIR 2014
  2. GuitarSet 1.1.0 — Xi, Bittner, Pauwels, Ye et Bello, Zenodo (CC BY 4.0)
  3. Slakh2100 — Manilow, Wichern, Seetharaman et 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 et Wang, 2020
  6. mir_eval.transcription — documentation de mir_eval
  7. FFmpeg formats : the mp3 muxer — documentation de FFmpeg
  8. TN2258 : AAC Audio, Encoder Delay and Synchronization — Apple

Questions et réponses

Faut-il importer un WAV ou un MP3 pour la transcription ?

L’un comme l’autre. Lors de notre test du 5 octobre 2026, un MP3 à 320 kbit/s a obtenu un F1 sur les attaques à 0,002 près de celui du WAV dont il provenait, avec trois moteurs différents. Importez le fichier que vous donne votre enregistreur ou votre logiciel de montage audio, sans le convertir d’abord. Un MP3 à 192 kbit/s et un fichier AAC à 256 kbit/s sont restés à moins de 0,008. Nous n’avons pas testé de débits plus bas.

Un débit MP3 plus faible change-t-il les notes ?

Quelques-unes, dans les deux sens. À 192 kbit/s, 14 des quelque 2 740 notes trouvées ont changé sur 14 enregistrements, contre 10 à 320 kbit/s et 1 pour une modification de volume inaudible. Le F1 sur les attaques a bougé de 0,008 au plus à 192 kbit/s et de 0,002 au plus à 320 kbit/s. Nous n’avons pas mesuré de débits inférieurs à 192 kbit/s.

Pourquoi un fichier AAC ressort-il un peu plus long que le WAV ?

Les encodeurs AAC ajoutent au début des échantillons de silence d’amorçage et complètent la fin jusqu’à une trame entière ; Apple documente un délai d’amorçage de 2 112 échantillons. Si le lecteur ou le décodeur ne les retire pas, l’audio ressort un peu plus long. Dans notre test, les fichiers AAC ont été décodés avec 16 à 733 échantillons de plus. Un MP3 écrit par FFmpeg avec son en-tête Xing/LAME a été décodé à la durée exacte.

ScoreStarling convertit-il mon WAV en MP3 ?

Oui. Depuis le 5 octobre 2026, un WAV, un AIFF ou un FLAC importé est conservé en MP3 à 320 kbit/s, le réglage mesuré ici, et transcrit à partir de cette copie. Les fichiers MP3, M4A, Ogg et vidéo importés sont conservés tels quels.

Convertir MP3 en partition