Transcribir audio a texto (también conocido como Speech to Text) es muy sencillo con la API de OpenAI: basta con subir un archivo de audio en uno de los siguientes formatos: mp3, mp4, mpeg, mpga, m4a, wav o webm. La API devolverá la cadena resultante.
Ejemplo de transcripción en Delphi
OpenAI requiere construir una petición en la que pases el archivo de audio, el modelo y la temperatura (para obtener una salida más o menos aleatoria)... A continuación encontrarás la lista de los parámetros disponibles.
- Filename: (obligatorio) El archivo de audio que se va a transcribir, en uno de estos formatos: mp3, mp4, mpeg, mpga, m4a, wav o webm.
- Model: (obligatorio) ID del modelo a usar. Actualmente solo está disponible whisper-1.
- Prompt: Texto opcional para guiar el estilo del modelo o continuar un segmento de audio anterior. El prompt debe coincidir con el idioma del audio.
- ResponseFormat: El formato de salida de la transcripción, entre estas opciones: json, text, srt, verbose_json o vtt.
- Temperature: La temperatura de muestreo, entre 0 y 1. Valores altos como 0,8 hacen la salida más aleatoria, mientras que valores bajos como 0,2 la hacen más enfocada y determinista. Con valor 0, el modelo usará la log-probabilidad para aumentar automáticamente la temperatura hasta alcanzar ciertos umbrales.
- Language: El idioma del audio de entrada. Proporcionar el idioma en formato ISO-639-1 mejorará la precisión y la latencia.
A continuación encontrarás un ejemplo sencillo de transcripción de un archivo de audio con 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;

A continuación encontrarás la demo compilada para Windows que utiliza la biblioteca OpenAI de sgcWebSockets para Delphi.
