Audio in Text umzuwandeln (auch als Speech to Text bekannt) ist mit der OpenAI-API sehr einfach: Lade einfach eine Audiodatei in einem dieser Formate hoch: mp3, mp4, mpeg, mpga, m4a, wav oder webm. Und die API gibt dir den String zurück.
Transkription - Delphi-Beispiel
OpenAI verlangt, dass du einen Request baust, in dem du die Audiodatei, das Modell und die Temperature übergibst (für mehr oder weniger zufällige Ausgabe). Unten findest du eine Liste der verfügbaren Parameter.
- Filename: (Pflicht) Die zu transkribierende Audiodatei, in einem dieser Formate: mp3, mp4, mpeg, mpga, m4a, wav oder webm.
- Model: (Pflicht) ID des zu verwendenden Modells. Aktuell ist nur whisper-1 verfügbar.
- Prompt: Ein optionaler Text, um den Stil des Modells zu steuern oder ein vorheriges Audiosegment fortzusetzen. Der Prompt sollte zur Audio-Sprache passen.
- ResponseFormat: Das Format der Transkript-Ausgabe, eine dieser Optionen: json, text, srt, verbose_json oder vtt.
- Temperature: Die Sampling-Temperature, zwischen 0 und 1. Höhere Werte wie 0,8 machen die Ausgabe zufälliger, niedrigere Werte wie 0,2 machen sie fokussierter und deterministischer. Bei 0 nutzt das Modell die Log-Wahrscheinlichkeit, um die Temperature automatisch zu erhöhen, bis bestimmte Schwellen erreicht sind.
- Language: Die Sprache des eingegebenen Audios. Die Eingabe der Sprache im ISO-639-1-Format verbessert Genauigkeit und Latenz.
Unten findest du ein einfaches Beispiel zum Transkribieren einer Audiodatei mit whisper-1
procedure DoFileTranscription(const aFilename: string);
var
oRequest: TsgcOpenAIClass_Request_Transcription;
oResponse: TsgcOpenAIClass_Response_Transcription;
begin
oRequest := TsgcOpenAIClass_Request_Transcription.Create;
Try
oRequest.Filename := aFilename;
oRequest.Model := 'whisper-1';
oResponse := OpenAI.CreateTranscriptionFromFile(oRequest);
Try
DoLog(oResponse.Text);
Finally
oResponse.Free;
End;
Finally
oRequest.Free;
End;
end;

Unten findest du das kompilierte Demo für Windows mit der sgcWebSockets OpenAI Delphi Library.
