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.
