Transkrypcja — klient OpenAI w Delphi (3 / 5)

· Funkcje

Transkrypcja dźwięku na tekst (znana też jako zamiana mowy na tekst) jest bardzo prosta dzięki API OpenAI — wystarczy przesłać plik audio w jednym z następujących formatów: mp3, mp4, mpeg, mpga, m4a, wav lub webm. API zwróci tekst w postaci łańcucha.

Przykład transkrypcji w Delphi

OpenAI wymaga zbudowania żądania, w którym przekazujesz plik audio, model i temperaturę (aby uzyskać mniej lub bardziej losowy wynik)... poniżej znajdziesz listę dostępnych parametrów.

- Filename: (Wymagany) Plik audio do transkrypcji w jednym z formatów: mp3, mp4, mpeg, mpga, m4a, wav lub webm.
- Model: (Wymagany) ID modelu do użycia. Obecnie dostępny jest tylko whisper-1.
- Prompt: Opcjonalny tekst naprowadzający styl modelu lub kontynuujący poprzedni segment audio. Prompt powinien być w języku audio.
- ResponseFormat: Format wynikowego transkryptu — jedna z opcji: json, text, srt, verbose_json lub vtt.
- Temperature: Temperatura próbkowania, między 0 a 1. Wyższe wartości, np. 0.8, sprawią, że wynik będzie bardziej losowy, a niższe, np. 0.2, bardziej skupiony i deterministyczny. Przy wartości 0 model użyje prawdopodobieństwa logarytmicznego do automatycznego zwiększania temperatury aż do osiągnięcia określonych progów.
- Language: Język wejściowego audio. Podanie języka w formacie ISO-639-1 poprawi dokładność i zmniejszy opóźnienie.


Poniżej znajdziesz prosty przykład transkrypcji pliku audio przy użyciu 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; 

Poniżej znajdziesz skompilowane demo dla Windows korzystające z biblioteki sgcWebSockets OpenAI dla Delphi.