Base64-zu-Audio-Konverter

Fügen Sie Base64-Audio aus einer Text-to-Speech-Antwort, einer Data-URI oder JSON-Nutzdaten ein. Das Tool erkennt das Format, spielt den Ton im Browser ab und speichert ihn als Audiodatei.

Läuft vollständig in Ihrem Browser. Es wird nichts hochgeladen.

Anleitung

  1. Fügen Sie das Base64-Audio oder eine Data-URI wie data:audio/mpeg;base64,... in das Eingabefeld ein.
  2. Prüfen Sie das erkannte Format und starten Sie die Wiedergabe im Audio-Player.
  3. 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:

FormatSignaturBase64 beginnt mit
MP3ID3-Tag oder ein MPEG-Frame-HeaderSUQz oder meist //
WAVRIFF ... WAVEUklGR
OGG (Vorbis, Opus)OggST2dnUw
FLACfLaCZkxhQ
M4A (AAC)ftyp-Box mit der Kennung M4Aunterschiedlich (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?
Ja. Fügen Sie den vollständigen String 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.