Transcriptie OpenAI Delphi-client (3 / 5)

· Functies

Audio omzetten naar tekst (ook bekend als speech to text) is heel eenvoudig met de OpenAI-API; upload een audiobestand in een van de volgende formaten: mp3, mp4, mpeg, mpga, m4a, wav of webm. En de API retourneert de string.

Transcriptie Delphi-voorbeeld

OpenAI vereist het opbouwen van een request waarin je het audiobestand, het model en de temperatuur meegeeft (om een meer of minder willekeurige output te krijgen...). Vind hieronder een lijst met de beschikbare parameters.

- Filename: (Vereist) Het audiobestand om te transcriberen, in een van deze formaten: mp3, mp4, mpeg, mpga, m4a, wav of webm.
- Model: (Vereist) ID van het te gebruiken model. Momenteel is alleen whisper-1 beschikbaar.
- Prompt: Een optionele tekst om de stijl van het model te sturen of een eerder audiosegment voort te zetten. De prompt moet overeenkomen met de audiotaal.
- ResponseFormat: Het formaat van de transcript-uitvoer, in een van deze opties: json, text, srt, verbose_json of vtt.
- Temperature: De sampling-temperatuur, tussen 0 en 1. Hogere waarden zoals 0.8 maken de uitvoer willekeuriger, terwijl lagere waarden zoals 0.2 deze meer gefocust en deterministisch maken. Indien ingesteld op 0, gebruikt het model log-waarschijnlijkheid om de temperatuur automatisch te verhogen tot bepaalde drempels worden bereikt.
- Language: De taal van de input-audio. Het opgeven van de input-taal in ISO-639-1-formaat verbetert de nauwkeurigheid en latentie.


Vind hieronder een eenvoudig voorbeeld dat een audiobestand transcribeert met 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; 

Vind hieronder de gecompileerde demo voor Windows met de sgcWebSockets OpenAI Delphi-bibliotheek.