So wandeln Sie MP3 in Base64 um
- Legen Sie eine
.mp3-Datei auf dem Feld ab oder wählen Sie sie über die Dateiauswahl. - Hören Sie in der Vorschau, ob es der richtige Clip ist.
- Lassen Sie Ausgabe als für HTML und JavaScript auf Data-URI, oder wechseln Sie für eine API zu Reines Base64 oder JSON.
- Drücken Sie Ausgabe kopieren, oder bei langen Dateien Als .txt speichern.
Länge je Bitrate
Die Größe einer MP3 ist Bitrate mal Dauer, und Base64 macht sie ein Drittel länger. Die Werte unten gelten nur für die Audiodaten, ohne Tags:
| Bitrate | 1 Sekunde | 10 Sekunden | 1 Minute |
|---|---|---|---|
| 64 kbit/s | 10.668 Zeichen | 106.668 Zeichen | 640.000 Zeichen |
| 128 kbit/s | 21.336 Zeichen | 213.336 Zeichen | 1.280.000 Zeichen |
| 192 kbit/s | 32.000 Zeichen | 320.000 Zeichen | 1.920.000 Zeichen |
| 320 kbit/s | 53.336 Zeichen | 533.336 Zeichen | 3.200.000 Zeichen |
Für einen Benachrichtigungston oder eine gesprochene Ansage reichen meist 64 kbit/s mono, und die Zeichenkette bleibt kurz. Ist der Clip länger als nötig, exportieren Sie ihn vor dem Kodieren in einem Audio-Editor mit niedrigerer Bitrate neu.
Das ID3-Tag kann den Großteil der Datei ausmachen
MP3-Dateien aus Musikbibliotheken tragen am Anfang ein ID3v2-Tag, und dieses enthält oft ein eingebettetes Cover. Ein Soundeffekt von zwei Sekunden kann ein Coverbild mitbringen, das größer ist als das Audio selbst, und alles landet im Base64.
Bei einer Datei mit Tag beginnt die Ausgabe mit SUQz. SUQzBA bedeutet ID3 Version 2.4, SUQzAw Version 2.3. Ist die Datei für einen UI-Sound oder eine API gedacht, entfernen Sie die Tags mit einem Audio- oder Tag-Editor und kodieren dann die bereinigte Datei. Die Anzeige unter der Ausgabe zeigt den Unterschied.
Eine Base64-MP3 verwenden
In HTML:
<audio controls src="data:audio/mpeg;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2..."></audio>
In JavaScript funktioniert eine Data-URI überall, wo eine URL funktioniert:
const ping = new Audio("data:audio/mpeg;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2...");
document.querySelector("#send").addEventListener("click", () => ping.play());
play() muss nach einer Nutzeraktion wie einem Klick laufen, sonst blockiert der Browser es.
Für JSON-APIs verwenden Sie Reines Base64, sofern die API keine Data-URI dokumentiert. Besonders Speech-to-Text-Dienste wollen meist reines Base64 und ein separates Feld für das Audioformat.
Häufige Probleme
- Der Player bleibt stumm. Prüfen Sie, ob die Data-URI mit
data:audio/mpeg;base64,beginnt und ob URL-sicher und Umbruch bei 76 ausgeschaltet sind. URL-sichere Zeichen sind in einerdata:-URL ungültig, und Zeilenumbrüche beenden ein String-Literal in JavaScript. - Die Dauer stimmt nicht oder das Spulen springt. MP3s mit variabler Bitrate ohne passenden Header können Player verwirren. Das liegt an der Datei selbst; exportieren Sie sie mit einem Audio-Editor neu.
- Sie brauchen die Datei zurück. Base64 in MP3 dekodiert die Zeichenkette und lässt Sie sie abspielen oder herunterladen. Für andere Formate siehe Audio in Base64.
Häufige Fragen
Welcher MIME-Typ ist für eine MP3 in Base64 richtig?
audio/mpeg. In manchem Code sehen Sie audio/mp3, der registrierte Typ ist aber audio/mpeg, und APIs, die den Typ prüfen, erwarten genau diesen.
Warum beginnt das Base64 meiner MP3 mit SUQz?
SUQz ist ID3, der Anfang eines ID3v2-Tags mit Titel, Interpret und eventuell Cover. MP3-Dateien ohne Tag beginnen direkt mit einem Audio-Frame, der zu // plus einem Buchstaben kodiert wird, etwa //uQ oder //OQ.
Wie viele Zeichen hat eine Minute MP3 in Base64?
Bei 128 kbit/s ist eine Minute Audio 960.000 Bytes groß, kodiert also 1.280.000 Zeichen. Bei 64 kbit/s ist es die Hälfte. Tags und Cover kommen noch hinzu.