OpenAI 语音转文字 Delphi 客户端

· 功能

音频转文字(也称为语音转文字)使用 OpenAI API 非常简单,只需上传以下格式之一的音频文件:mp3、mp4、mpeg、mpga、m4a、wav 或 webm。API 将返回文字字符串。

Delphi 语音转文字示例

OpenAI 要求构建一个请求,您需要传入音频文件、模型、温度(以获得或多或少的随机输出……以下是可用参数列表。

- Filename(文件名):(必填) 要转录的音频文件,格式为以下之一:mp3、mp4、mpeg、mpga、m4a、wav 或 webm。
- Model(模型):(必填) 要使用的模型 ID。目前仅 whisper-1 可用。
- Prompt(提示): 可选文本,用于引导模型的风格或继续上一个音频片段。提示应与音频语言匹配。
- ResponseFormat(响应格式): 转录输出的格式,可选以下之一:json、text、srt、verbose_json 或 vtt。
- Temperature(温度): 采样温度,介于 0 和 1 之间。较高的值(如 0.8)将使输出更随机,而较低的值(如 0.2)将使输出更集中和确定性。如果设置为 0,模型将使用对数概率自动提高温度,直到达到某些阈值。
- Language(语言): 输入音频的语言。以 ISO-639-1 格式提供输入语言将提高准确性和延迟。


以下是使用 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; 

以下是使用 sgcWebSockets OpenAI Delphi 库编译的 Windows 演示程序。