OpenAI-ChatGPT最新官方接口《语音智能转文本》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(六)(附源码)

news2025/1/19 20:14:29

Speech to text 语音智能转文本

  • Introduction 导言
  • Quickstart 快速开始
    • Transcriptions 转录
      • python代码
      • cURL代码
    • Translations 翻译
      • python代码
      • cURL代码
  • Supported languages 支持的语言
  • Longer inputs 长文件输入
  • Prompting 提示
  • 其它资料下载

在这里插入图片描述

Speech to text 语音转文本
Learn how to turn audio into text
了解如何将音频转换为文本

ChatGPT 是集人工智能和自然语言处理技术于一身的大型语言模型。它能够通过文字、语音或者图像等多种方式与用户进行交互。其中,通过语音转文字功能,ChatGPT 能够将用户说出的话语,立即转化为文字,并对其进行分析处理,再以文字形式作答。这样的交互方式大大提升了 ChatGPT 与用户之间的交流效率。

Introduction 导言

The speech to text API provides two endpoints, transcriptions and translations, based on our state-of-the-art open source large-v2 Whisper model. They can be used to:
语音到文本API提供了两个端点, transcriptionstranslations ,基于我们最先进的开源大型v2 Whisper模型。它们可用于:

  • Transcribe audio into whatever language the audio is in.
    将音频转录为音频所用的任何语言。
  • Translate and transcribe the audio into english.
    翻译和转录音频成英语。

File uploads are currently limited to 25 MB and the following input file types are supported: mp3, mp4, mpeg, mpga, m4a, wav, and webm.
文件上传当前限制为25 MB,支持以下输入文件类型: mp3, mp4, mpeg, mpga, m4a, wav, and webm

Quickstart 快速开始

Transcriptions 转录

The transcriptions API takes as input the audio file you want to transcribe and the desired output file format for the transcription of the audio. We currently support multiple input and output file formats.
转录API将您要转录的音频文件和音频转录所需的输出文件格式作为输入。我们目前支持多种输入和输出文件格式。

python代码

# 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)

cURL代码

curl --request POST \
  --url https://api.openai.com/v1/audio/transcriptions \
  --header 'Authorization: Bearer TOKEN' \
  --header 'Content-Type: multipart/form-data' \
  --form file=@/path/to/file/openai.mp3 \
  --form model=whisper-1

By default, the response type will be json with the raw text included.
默认情况下,响应类型将是包含原始文本的json。

{
“text”: "Imagine the wildest idea that you’ve ever had, and you’re curious about how it might scale to something that’s a 100, a 1,000 times bigger.

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

To set additional parameters in a request, you can add more --form lines with the relevant options. For example, if you want to set the output format as text, you would add the following line:
要在请求中设置其他参数,您可以添加更多带有相关选项的 --form 行。例如,如果要将输出格式设置为文本,则应添加以下行:

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

Translations 翻译

The translations API takes as input the audio file in any of the supported languages and transcribes, if necessary, the audio into english. This differs from our /Transcriptions endpoint since the output is not in the original input language and is instead translated to english text.
翻译API接受任何支持语言的音频文件作为输入,并在必要时将音频转录为英语。这与我们的/Transcriptions端点不同,因为输出不是原始输入语言,而是翻译为英语文本。

python代码

# 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)

cURL代码

curl --request POST   --url https://api.openai.com/v1/audio/translations   --header 'Authorization: Bearer TOKEN'   --header 'Content-Type: multipart/form-data'   --form file=@/path/to/file/german.mp3   --form model=whisper-1

In this case, the inputted audio was german and the outputted text looks like:
在这种情况下,输入的音频是德语,输出的文本看起来像:

Hello, my name is Wolfgang and I come from Germany. Where are you heading today?
大家好,我叫沃尔夫冈,来自德国。你今天要去哪里?

We only support translation into english at this time.
我们只支持翻译成英语。

Supported languages 支持的语言

We currently support the following languages through both the transcriptions and translations endpoint:
我们目前通过 transcriptionstranslations 端点支持以下语言:

Afrikaans, Arabic, Armenian, Azerbaijani, Belarusian, Bosnian, Bulgarian, Catalan, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, Galician, German, Greek, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Italian, Japanese, Kannada, Kazakh, Korean, Latvian, Lithuanian, Macedonian, Malay, Marathi, Maori, Nepali, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swahili, Swedish, Tagalog, Tamil, Thai, Turkish, Ukrainian, Urdu, Vietnamese, and Welsh.
南非荷兰语,阿拉伯语,亚美尼亚语,阿塞拜疆语,白俄罗斯语,波斯尼亚语,保加利亚语,加泰罗尼亚语,中文,克罗地亚语,捷克语,丹麦语,荷兰语,英语,爱沙尼亚语,芬兰语,法语,加利西亚语,德语,希腊语,希伯来语,印地语,匈牙利语,冰岛语,印度尼西亚语,意大利语,日语,卡纳达语,哈萨克语,韩语,拉脱维亚语,立陶宛语,马其顿语,马来语,马拉地语,毛利语,尼泊尔语,挪威语,波斯语,波兰语,葡萄牙语,罗马尼亚语,俄语,塞尔维亚语、斯洛伐克语、斯洛文尼亚语、西班牙语、斯瓦希里语、瑞典语、菲律宾语、泰米尔语、泰语、土耳其语、乌克兰语、乌尔都语、越南语和威尔士语。

While the underlying model was trained on 98 languages, we only list the languages that exceeded <50% word error rate (WER) which is an industry standard benchmark for speech to text model accuracy. The model will return results for languages not listed above but the quality will be low.
虽然底层模型在98种语言上进行了训练,但我们只列出了超过50%单词错误率(WER)的语言,这是语音到文本模型准确性的行业标准基准。该模型将返回上面未列出的语言的结果,但质量将较低。

Longer inputs 长文件输入

By default, the Whisper API only supports files that are less than 25 MB. If you have an audio file that is longer than that, you will need to break it up into chunks of 25 MB’s or less or used a compressed audio format. To get the best performance, we suggest that you avoid breaking the audio up mid-sentence as this may cause some context to be lost.
默认情况下,Whisper API仅支持小于25 MB的文件。如果你有一个音频文件比这更长,你需要把它分成25 MB或更少的块,或者使用压缩的音频格式。为了获得最佳性能,我们建议您避免在句子中间打断音频,因为这可能会导致一些上下文丢失。

One way to handle this is to use the PyDub open source Python package to split the audio:
处理这个问题的一种方法是使用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 makes no guarantees about the usability or security of 3rd party software like PyDub.
OpenAI不保证PyDub等第三方软件的可用性或安全性。

Prompting 提示

You can use a prompt to improve the quality of the transcripts generated by the Whisper API. The model will try to match the style of the prompt, so it will be more likely to use capitalization and punctuation if the prompt does too. However, the current prompting system is much more limited than our other language models and only provides limited control over the generated audio. Here are some examples of how prompting can help in different scenarios:
您可以使用提示来提高Whisper API生成的转录本的质量。该模型将尝试匹配提示符的样式,因此如果提示符也使用大写和标点符号,则更有可能使用大写和标点符号。然而,当前的提示系统比我们的其他语言模型要有限得多,并且仅对生成的音频提供有限的控制。以下是提示如何在不同情况下提供帮助的一些示例:

  1. Prompts can be very helpful for correcting specific words or acronyms that the model often misrecognizes in the audio. For example, the following prompt improves the transcription of the words DALL·E and GPT-3, which were previously written as “GDP 3” and “DALI”.
    提示对于纠正模型经常在音频中误识别的特定单词或首字母缩写词非常有帮助。例如,下面的提示改进了单词DALL·E和GPT-3的转录,这些单词以前被写成“GDP 3”和“DALI”。

The transcript is about OpenAI which makes technology like DALL·E, GPT-3, and ChatGPT with the hope of one day building an AGI system that benefits all of humanity
OpenAI开发了DALL·E、GPT-3和ChatGPT等技术,希望有一天能建立一个造福全人类的AGI系统。

  1. To preserve the context of a file that was split into segments, you can prompt the model with the transcript of the preceding segment. This will make the transcript more accurate, as the model will use the relevant information from the previous audio. The model will only consider the final 224 tokens of the prompt and ignore anything earlier.
    若要保留已拆分为段的文件的上下文,可以使用前一段的副本提示模型。这将使转录更准确,因为模型将使用来自先前音频的相关信息。该模型将只考虑提示符的最后224个标记,而忽略之前的任何标记。

  2. Sometimes the model might skip punctuation in the transcript. You can avoid this by using a simple prompt that includes punctuation:
    有时候模型可能会跳过文本中的标点符号。您可以使用包含标点符号的简单提示来避免这种情况:

Hello, welcome to my lecture. 大家好,欢迎来听我的讲座。

  1. The model may also leave out common filler words in the audio. If you want to keep the filler words in your transcript, you can use a prompt that contains them:
    该模型还可以省略音频中的常见填充词。如果要在记录中保留填充词,可以使用包含它们的提示符:

Umm, let me think like, hmm… Okay, here’s what I’m, like, thinking."
嗯,让我想想,嗯……好吧,我是这么想的。”

  1. Some languages can be written in different ways, such as simplified or traditional Chinese. The model might not always use the writing style that you want for your transcript by default. You can improve this by using a prompt in your preferred writing style.
    有些语言可以用不同的方式书写,如简体中文或繁体中文。默认情况下,模型可能并不总是使用您希望用于抄录的书写样式。你可以通过使用你喜欢的写作风格来改善这一点。

其它资料下载

如果大家想继续了解人工智能相关学习路线和知识体系,欢迎大家翻阅我的另外一篇博客《重磅 | 完备的人工智能AI 学习——基础知识学习路线,所有资料免关注免套路直接网盘下载》
这篇博客参考了Github知名开源平台,AI技术平台以及相关领域专家:Datawhale,ApacheCN,AI有道和黄海广博士等约有近100G相关资料,希望能帮助到所有小伙伴们。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/427847.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一句话设计模式11:过滤器模式

过滤器模式: 直接看 java8的filter; 文章目录过滤器模式: 直接看 java8的filter;前言一、过滤器模式的作用二、如何实现过滤器模式直接上代码总结前言 过滤器模式一般使用场景是: 过滤集合中的不同元素的一种手段,其实平时开发中你经常用,但是你不知道而已;(心里话: 这也算一种…

C++命名空间

C命名空间 C命名空间是一种用于组织代码的机制&#xff0c;它可以将全局命名空间划分为更小的、独立的部分&#xff0c;从而避免命名冲突和名字空间污染。在本文中&#xff0c;我们将介绍C命名空间的基本概念、使用方法和注意事项。 什么是命名空间&#xff1f; 命名空间是C…

QT

多平台C图形用户界面应用程序框架 集成了很多可以直接运用的图形的库 应用在windowns10系统 新建项目 有三种基类可以选择&#xff0c;开发是基于这三种基类的基础上&#xff0c;利用软件支持的QT语言进行界面元素添加与优化 代码添加&#xff08;添加代码时&#xff0c;大小…

flutter实战(1)-配置安装

目录支持的OS安装SDKwindows找到windows对应的SDK安装LINUXsnapd手动IDEMacLinux 或者 Windows 平台支持的OS 有以下这些OS可以安装配置flutter 安装SDK windows 要想安装和运行 Flutter&#xff0c;你的开发环境至少应该满足如下的需求&#xff1a; 操作系统&#xff1a;W…

组合预测模型 | SSA-LSTM、LSTM麻雀算法优化长短期记忆神经网络时间序列预测(Matlab程序)

组合预测模型 | SSA-LSTM、LSTM麻雀算法优化长短期记忆神经网络时间序列预测(Matlab程序) 目录 组合预测模型 | SSA-LSTM、LSTM麻雀算法优化长短期记忆神经网络时间序列预测(Matlab程序)预测结果评价指标基本介绍程序设计参考资料预测结果 评价指标 SSA-LSTM优化得到的最优…

[TIFS 2022] FLCert:可证明安全的联邦学习免受中毒攻击

FLCert: Provably Secure Federated Learning Against Poisoning Attacks | IEEE Journals & Magazine | IEEE Xplore 摘要 由于其分布式性质&#xff0c;联邦学习容易受到中毒攻击&#xff0c;其中恶意客户端通过操纵其本地训练数据和/或发送到云服务器的本地模型更新来毒…

阿里“通义千问”大模型上线!让生成式AI更贴近中国人生活

阿里版的 ChatGPT 语言大模型来了。 张勇在峰会上表示&#xff0c;阿里巴巴所有产品未来将接入“通义千问”大模型&#xff0c;进行全面改造。他认为&#xff0c;面向AI时代&#xff0c;所有产品都值得用大模型重新升级。 目前&#xff0c;钉钉、天猫精灵等产品已接入通义千问测…

PYQT5学习笔记00——Pycharm环境搭建以及配置项目虚拟环境教程

1、安装基本环境 需要的基本环境有python3.x的解释器、pip包管理工具以及pipenv虚拟环境管理工具。   我们安装了python后&#xff0c;pip包管理工具会自带安装&#xff0c;pipenv虚拟环境管理工具我们使用pycharm即可&#xff0c;无需使用python自带的。 python解释器下载地…

【Git代码仓库托管】上海道宁为您提供构建、扩展和交付安全软件的完整开发人员平台

GitHub是用于 构建、扩展和交付安全软件的 完整开发人员平台 通过提高开发人员速度的工具 推动创新 加快高质量软件开发 GitHub提供无限的存储库 一流的版本控制和 世界上强大的开源社区 因此您的团队可以 更高效地协同工作 开发商介绍 GitHub归属于微软公司&#xf…

Java EE企业级应用开发(SSM)第6章

第6章Spring MVC应用一.预习笔记 1.Spring MVC的请求参数 项目的基础配置 web.xml springmvc-config.xml jar包资源引入&#xff1a; 1-1&#xff1a;获取默认参数 jsp页面如下&#xff1a; Controller如下&#xff1a; 1-2&#xff1a;简单数据类型&#xff08;获取数据不…

sqlplus / as sysdba无法登陆

dba你快用你无敌sysdba登陆数据库&#xff01; 导言&#xff1a;as sysdba属于特殊的数据库权限&#xff0c;使用的是系统认证&#xff0c;sqlplus sys/passtns as sysdba用的才是你的密码文件中的设置 #认证设置问题 配置在sqlnet.ora文件 在linux下 #sqlnet.authenticati…

MySQL-binlog+dump备份还原

目录 &#x1f341;binlog日志恢复 &#x1f342;binlog介绍 &#x1f342;Binlog的用途 &#x1f342;开启binary log功能 &#x1f342;配置binlog &#x1f341;mysqldump &#x1f342;数据库的导出 &#x1f342;数据库的导入 &#x1f341;mysqldumpbinlog &#x1f990;…

小程序系统API调用

目录&#xff1a; 1 网络请求API和封装 2 展示弹窗和页面分享 3 设备信息和位置信息 4 小程序Storage存储 5 页面跳转和数据传递 6 小程序登录流程演练 小程序的网络请求&#xff0c;不管是post还是get的请求的数据都是写在data里面的。 网络请求一般写在onLoad()的页面生…

debian部署docker(傻瓜式)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 debian10部署dockerdebian10部署docker&#xff08;傻瓜式&#xff09;一、准备工作二、**使用 APT 安装&#xff0c;注意要先配置apt网络源**1.配置网络源2.官方下载三、安装…

复旦微ZYNQ7020全国产替代方案设计

现在国产化进度赶人&#xff0c;进口的芯片只做了个功能验证&#xff0c;马上就要换上国产的。国内现在已经做出来zynq的只有复旦微一家&#xff0c;已经在研制的有上海安路&#xff0c;还有成都华微&#xff08;不排除深圳国威也在做&#xff0c;毕竟这个市场潜力很大&#xf…

尚硅谷大数据技术Hadoop教程-笔记03【Hadoop-HDFS】

视频地址&#xff1a;尚硅谷大数据Hadoop教程&#xff08;Hadoop 3.x安装搭建到集群调优&#xff09; 尚硅谷大数据技术Hadoop教程-笔记01【大数据概论】尚硅谷大数据技术Hadoop教程-笔记02【Hadoop-入门】尚硅谷大数据技术Hadoop教程-笔记03【Hadoop-HDFS】尚硅谷大数据技术Ha…

代码优雅化进阶学习(三)

代码优雅化进阶学习&#xff08;三&#xff09; 文章目录代码优雅化进阶学习&#xff08;三&#xff09;需求详情难点最佳实现效果实现优点需求详情 如下图&#xff1a; 实现类似结构&#xff0c;首先按照 status 状态的值&#xff0c;分为全部 已实现 和 未实现&#xff1b;再…

Spring Cloud之一:注册与发现-Eureka工程的创建

系列目录&#xff08;持续更新。。。&#xff09; Spring Cloud&#xff1a;什么是微服务 Spring Cloud之一&#xff1a;注册与发现-Eureka工程的创建 Spring Cloud之二&#xff1a;服务提供者注册到Eureka Server Spring Cloud之三&#xff1a;Eureka Server添加认证 Spr…

FPGA采集AD7606数据UDP网络传输 提供工程源码和技术支持 附带上位机接收软件

目录1、前言2、我这里已有的UDP方案3、AD7606采集详解4、UDP设计方案5、AD7606 UDP传输详细设计方案UDP应用的设计思路获取FPGA网卡信息获取数据UDP发送数据组包UDP发送流程6、vivado工程详解7、上板调试验证并演示8、福利&#xff1a;工程代码的获取1、前言 目前网上的fpga实…

如何将音频文件转换为MP3格式?

音频文件有很多种格式&#xff0c;如 WAV、FLAC、AAC 等&#xff0c;其中 MP3 是最为常见的一种格式&#xff0c;因为它具有压缩比高、音质损失少、兼容性强等优点&#xff0c;适合在各种设备上播放。如果你想将一个音频文件转换为 MP3 格式&#xff0c;可以采用以下几种方法&a…