Transcripción con OpenAI: cliente Delphi (3 / 5)

· Features

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.