Anleitung
- Fügen Sie das Base64-Audio oder eine Data-URI wie data:audio/mpeg;base64,... in das Eingabefeld ein.
- Prüfen Sie das erkannte Format und starten Sie die Wiedergabe im Audio-Player.
- Laden Sie die Datei mit „Herunterladen“ herunter. Sie erhält eine zum erkannten Format passende Endung, etwa .mp3 oder .wav.
Text-to-Speech-Ausgaben dekodieren
Text-to-Speech-Dienste, die mit JSON antworten, können keine binären Audiodaten in die Antwort packen und kodieren sie deshalb. Google Cloud Text-to-Speech liefert die Sprachausgabe zum Beispiel als Base64-String in einem Feld namens audioContent, und zwar in der angeforderten Kodierung wie MP3 oder OGG Opus. Andere Sprach- und Chatbot-APIs verwenden Felder wie audio, data oder audio_base64.
Fügen Sie den Wert hier ein, um sich das Ergebnis anzuhören, während Sie Stimmen, Sprechgeschwindigkeiten oder Prompts vergleichen. Kopieren Sie nur den String zwischen den Anführungszeichen. Wenn Sie das JSON zuerst parsen, vermeiden Sie, versehentlich Anführungszeichen oder maskierte Zeichen wie \/ mitzukopieren.
Erkannte Audioformate
Das Format wird an den ersten Bytes der dekodierten Daten erkannt, ein fehlender oder falscher MIME-Typ spielt also keine Rolle:
| Format | Signatur | Base64 beginnt mit |
|---|---|---|
| MP3 | ID3-Tag oder ein MPEG-Frame-Header | SUQz oder meist // |
| WAV | RIFF ... WAVE | UklGR |
| OGG (Vorbis, Opus) | OggS | T2dnUw |
| FLAC | fLaC | ZkxhQ |
| M4A (AAC) | ftyp-Box mit der Kennung M4A | unterschiedlich (beginnt mit einem Größenfeld) |
Rohes PCM: wenn sich das Audio nicht abspielen lässt
Manche Sprach-APIs, besonders Echtzeit- und Streaming-APIs, senden rohe PCM-Samples ohne Dateiheader, oft 16 Bit mono mit 16 oder 24 kHz. Telefonie-Streams übertragen ähnlich headerloses μ-law-Audio mit 8 kHz. Ohne Header verrät nichts in den Bytes, worum es sich handelt: Das Format kann nicht erkannt werden, Browser können die Daten nicht abspielen, und dieses Tool kann Abtastrate und Kanalanzahl nicht erraten. Sie können die dekodierten Bytes trotzdem herunterladen. Um sie anzuhören, müssen Sie jedoch mit den Parametern aus der API-Dokumentation einen WAV-Header hinzufügen:
# FFmpeg: 16 Bit Little Endian, 24 kHz, mono
ffmpeg -f s16le -ar 24000 -ac 1 -i speech.pcm speech.wav
# Python
import base64, wave
with wave.open('speech.wav', 'wb') as w:
w.setnchannels(1)
w.setsampwidth(2) # 16-Bit-Samples
w.setframerate(24000)
w.writeframes(base64.b64decode(pcm_base64))
Klingt das Ergebnis zu schnell, zu langsam oder nur nach Rauschen, passen Abtastrate, Sample-Größe oder Byte-Reihenfolge nicht zu den Daten. Sobald es abgespielt wird, kann Audio zu Base64 die WAV-Datei wieder kodieren, falls Sie sie als String benötigen.
Häufig gestellte Fragen
Warum kann das Tool mein Audio nicht abspielen?
Entweder sind die Daten rohes PCM ohne Header (siehe oben), oder Ihr Browser unterstützt den Codec nicht. Im zweiten Fall ist die heruntergeladene Datei trotzdem korrekt und lässt sich in einem Mediaplayer wie VLC öffnen.
Meine API sendet das Audio in vielen Base64-Teilstücken. Wie füge ich sie zusammen?
Dekodieren Sie jedes Teilstück zu Bytes und hängen Sie diese der Reihe nach aneinander. Die Base64-Strings vorher zu verketten funktioniert nur, wenn jedes Teilstück außer dem letzten ein Vielfaches von 3 Bytes kodiert, und darauf können Sie sich meist nicht verlassen. Dieses Tool dekodiert jeweils einen String, fügen Sie gestreamte Teilstücke daher in Ihrem eigenen Code zusammen.
Ist das dekodierte Audio identisch mit dem Original?
Ja. Base64 ist verlustfrei, die Datei enthält also exakt die Bytes, die kodiert wurden, mit derselben Qualität und Bitrate. Das Tool kodiert oder konvertiert das Audio nicht neu.
Kann ich eine Data-URI einfügen?
data:audio/...;base64, ein oder reines Base64 ohne Präfix. Das Format wird in beiden Fällen anhand der dekodierten Bytes erkannt.Wird mein Audio an einen Server gesendet?
Nein. Dekodierung, Formaterkennung und Wiedergabe finden vollständig in Ihrem Browser statt.