Comment convertir un MP3 en Base64
- Déposez un fichier
.mp3dans la zone ou choisissez-le avec le sélecteur de fichiers. - Écoutez l’aperçu pour vérifier l’extrait.
- Laissez Sortie en sur Data URI pour le HTML et le JavaScript, ou passez à Base64 brut ou JSON pour une API.
- Appuyez sur Copier la sortie, ou sur Enregistrer en .txt pour les longs fichiers.
Longueur selon le débit
La taille d’un MP3 est son débit multiplié par sa durée, et Base64 l’allonge d’un tiers. Les chiffres ci-dessous concernent les seules données audio, sans balises :
| Débit | 1 seconde | 10 secondes | 1 minute |
|---|---|---|---|
| 64 kbit/s | 10 668 car. | 106 668 car. | 640 000 car. |
| 128 kbit/s | 21 336 car. | 213 336 car. | 1 280 000 car. |
| 192 kbit/s | 32 000 car. | 320 000 car. | 1 920 000 car. |
| 320 kbit/s | 53 336 car. | 533 336 car. | 3 200 000 car. |
Pour un son de notification ou une invite vocale, 64 kbit/s en mono suffit généralement et garde la chaîne courte. Réexportez l’extrait à un débit plus faible dans un éditeur audio avant l’encodage s’il est plus long que nécessaire.
La balise ID3 peut représenter l’essentiel du fichier
Les fichiers MP3 issus de bibliothèques musicales portent une balise ID3v2 au début, et cette balise contient souvent une pochette intégrée. Un effet sonore de deux secondes peut être accompagné d’une image de pochette plus lourde que l’audio lui-même, et tout cela se retrouve dans le Base64.
La sortie d’un fichier balisé commence par SUQz. SUQzBA signifie ID3 version 2.4 et SUQzAw version 2.3. Si le fichier est destiné à un son d’interface ou à une API, supprimez les balises avec un éditeur audio ou un éditeur de tags, puis encodez le fichier nettoyé. Le compteur sous la sortie montre la différence.
Utiliser un MP3 en Base64
En HTML :
<audio controls src="data:audio/mpeg;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2..."></audio>
En JavaScript, une data URI fonctionne partout où une URL est acceptée :
const ping = new Audio("data:audio/mpeg;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2...");
document.querySelector("#send").addEventListener("click", () => ping.play());
play() doit s’exécuter après un geste de l’utilisateur comme un clic, sinon le navigateur le bloque.
Pour les API JSON, utilisez Base64 brut, sauf si l’API documente une data URI. Les services de reconnaissance vocale, en particulier, veulent généralement du Base64 seul, plus un champ séparé pour le format audio.
Problèmes courants
- Le lecteur reste muet. Vérifiez que la data URI commence par
data:audio/mpeg;base64,et que URL-safe et Couper à 76 sont désactivés. Les caractères URL-safe ne sont pas valides dans une URLdata:, et les sauts de ligne terminent une chaîne littérale JavaScript. - La durée est fausse ou la navigation saute. Les MP3 à débit variable sans en-tête correct peuvent dérouter les lecteurs. Le problème vient du fichier lui-même ; réexportez-le avec un éditeur audio.
- Vous voulez récupérer le fichier. Base64 en MP3 décode la chaîne et vous permet de l’écouter ou de la télécharger. Pour les autres formats, voir Audio en Base64.
FAQ
Quel est le bon type MIME pour un MP3 en Base64 ?
audio/mpeg. On voit audio/mp3 dans certains codes, mais le type enregistré est audio/mpeg, et les API qui valident le type l’attendent.
Pourquoi le Base64 de mon MP3 commence-t-il par SUQz ?
SUQz correspond à ID3, le début d’une balise ID3v2 avec le titre, l’artiste et parfois une pochette. Les fichiers MP3 sans balise commencent directement par une trame audio, qui s’encode en // suivi d’une lettre, comme //uQ ou //OQ.
Combien de caractères fait une minute de MP3 en Base64 ?
À 128 kbit/s, une minute d’audio fait 960 000 octets, qui s’encodent en 1 280 000 caractères. À 64 kbit/s, c’est la moitié. Les balises et la pochette s’ajoutent par-dessus.