转载

OpenAi 语音转文本(试用版)

了解如何将音频转换为文本

介绍

语音转文本 API 提供了两个终结点,并且基于我们最先进的开源 large-v2 Whisper 模型。它们可用于:transcriptionstranslations

  • 将音频转录为音频使用的任何语言。
  • 将音频翻译并转录为英语。

文件上载目前限制为 25 MB,支持以下输入文件类型:mp3、mp4、mpeg、mpga、m4a、wav、webm。

快速入门

改编

转录 API 将要转录的音频文件和音频转录所需的输出文件格式作为输入。我们目前支持多种输入和输出文件格式。

转录音频
# Note: you need to be using OpenAI Python v0.27.0 for the code below to work
import openai audio_file= open("/path/to/file/audio.mp3", "rb") transcript = openai.Audio.transcribe("whisper-1", audio_file)

默认情况下,响应类型将为包含原始文本的 json。

{ “text”:“想象一下你曾经有过的最疯狂的想法,你很好奇它如何扩展到 100 倍、1 倍的东西。 .... }

要在请求中设置其他参数,您可以使用相关选项添加更多--form行。例如,如果要将输出格式设置为文本,则可以添加以下行:

...
--form file=@openai.mp3 \ --form model=whisper-1 \ --form response_format=text

翻译

翻译 API 以任何受支持的语言将音频文件作为输入,并在必要时将音频转录为英语。这与我们的 /Transcriptions 端点不同,因为输出不是原始输入语言,而是翻译成英文文本。

翻译音频
# Note: you need to be using OpenAI Python v0.27.0 for the code below to work
import openai audio_file= open("/path/to/file/german.mp3", "rb") transcript = openai.Audio.translate("whisper-1", audio_file)

在本例中,输入的音频是德语,输出的文本如下所示:

你好,我叫沃尔夫冈,来自德国。你今天要去哪里?

我们目前仅支持翻译成英文。

支持的语言

我们目前通过 和 终结点支持以下语言transcriptionstranslations

南非语, 阿拉伯语, 亚美尼亚语, 阿塞拜疆语, 白俄罗斯语, 波斯尼亚语, 保加利亚语, 加泰罗尼亚语, 中文, 克罗地亚语, 捷克语, 丹麦语, 荷兰语, 英语, 爱沙尼亚语, 芬兰语, 法语, 加利西亚语, 德语, 希腊语, 希伯来语, 印地语, 匈牙利语, 冰岛语, 印度尼西亚语, 意大利语, 日语, 卡纳达语, 哈萨克语, 韩语, 拉脱维亚语, 立陶宛语, 马其顿语, 马来语, 马拉地语, 毛利语, 尼泊尔语, 挪威语, 波斯语, 波兰语, 葡萄牙语, 罗马尼亚语, 俄语, 塞尔维亚语, 斯洛伐克语, 斯洛文尼亚语, 西班牙语, 斯瓦希里语, 瑞典语, 他加禄语, 泰米尔语, 泰语, 土耳其语, 乌克兰语, 乌尔都语、越南语和威尔士语。

虽然基础模型是在 98 种语言上训练的,但我们只列出了超过 <50% 单词错误率 (WER) 的语言,WER是语音到文本模型准确性的行业标准基准。该模型将返回上面未列出的语言的结果,但质量会很低。

更长的输入

默认情况下,耳语 API 仅支持小于 25 MB 的文件。如果您的音频文件比这更长,则需要将其分解为 25 MB 或更小的块或使用压缩音频格式。为了获得最佳性能,我们建议您避免在句子中间中断音频,因为这可能会导致某些上下文丢失。

处理此问题的一种方法是使用 PyDub 开源 Python 包来拆分音频:

from pydub import AudioSegment
song = AudioSegment.from_mp3("good_morning.mp3") # PyDub handles time in milliseconds ten_minutes = 10 * 60 * 1000 first_10_minutes = song[:ten_minutes] first_10_minutes.export("good_morning_10.mp3", format="mp3")

OpenAI不保证PyDub等第三方软件的可用性或安全性。

促使

您可以使用提示来提高耳语 API 生成的脚本的质量。该模型将尝试匹配提示的样式,因此如果提示也匹配,则更有可能使用大写和标点符号。但是,当前的提示系统比我们的其他语言模型受到更多限制,并且仅对生成的音频提供有限的控制。下面是提示在不同方案中如何提供帮助的一些示例:

  1. 提示对于更正模型在音频中经常错误识别的特定单词或首字母缩略词非常有帮助。例如,以下提示改进了单词 DALL·E 和 GPT-3,以前写成“GDP 3”和“DALI”。

    成绩单是关于OpenAI的,它使像DALL·E,GPT-3和ChatGPT,希望有一天建立一个造福全人类的AGI系统

  2. 若要保留拆分为段的文件的上下文,可以使用前一个段的脚本提示模型。这将使成绩单更准确,因为模型将使用先前音频中的相关信息。该模型将仅考虑提示的最后 224 个令牌,并忽略之前的任何标记。

  3. 有时,模型可能会跳过成绩单中的标点符号。您可以通过使用包含标点符号的简单提示来避免这种情况:

    您好,欢迎来到我的讲座。

  4. 该模型还可能省略音频中的常见填充词。如果要在成绩单中保留填充词,可以使用包含它们的提示:

    嗯,让我想想,嗯...好吧,这就是我的想法。

  5. 有些语言可以用不同的方式书写,例如简体中文或繁体中文。默认情况下,模型可能并不总是使用您希望的成绩单写作风格。您可以通过使用首选写作风格的提示来改善这一点。