Traduzir áudio para texto é muito fácil usando a API do OpenAI: basta enviar um arquivo de áudio em um dos formatos a seguir: mp3, mp4, mpeg, mpga, m4a, wav ou webm. A API então traduzirá o áudio para o inglês.
Exemplo de tradução com Delphi
O OpenAI exige a criação de uma requisição na qual você passa o arquivo de áudio, o modelo, a temperatura (para obter uma saída mais ou menos aleatória). Veja abaixo a lista dos parâmetros disponíveis.
- Filename: (Obrigatório) O arquivo de áudio a ser transcrito, em um destes formatos: mp3, mp4, mpeg, mpga, m4a, wav ou webm.
- Model: (Obrigatório) ID do modelo a ser usado. Atualmente apenas o whisper-1 está disponível.
- Prompt: Um texto opcional para guiar o estilo do modelo ou dar continuidade a um segmento de áudio anterior. O prompt deve corresponder ao idioma do áudio.
- ResponseFormat: O formato da saída da transcrição, em uma destas opções: json, text, srt, verbose_json ou vtt.
- Temperature: A temperatura de amostragem, entre 0 e 1. Valores mais altos como 0.8 tornam a saída mais aleatória, enquanto valores mais baixos como 0.2 a tornam mais focada e determinística. Se definida como 0, o modelo usará probabilidade logarítmica para aumentar automaticamente a temperatura até atingir determinados limiares.
Veja abaixo um exemplo simples de tradução de um arquivo de áudio usando o whisper-1
procedure DoTranslateAudio(const aFileName: string);
var
oRequest: TsgcOpenAIClass_Request_Translation;
oResponse: TsgcOpenAIClass_Response_Translation;
begin
oRequest := TsgcOpenAIClass_Request_Translation.Create;
Try
oRequest.Filename := aFileName;
oRequest.Model := 'whisper-1';
oResponse := OpenAI.CreateTranslationFromFile(oRequest);
Try
DoLog(oResponse.Text);
Finally
oResponse.Free;
End;
Finally
oRequest.Free;
End;
end;

Veja abaixo a demo compilada para Windows usando a biblioteca sgcWebSockets OpenAI Delphi.
