AIGC: 关于ChatGPT中基于Whisper模型实现音频转文本

概述

  • 到目前,GPT只能去接收文本的输入,但是在现实的生活当中,会有语音的需求
  • GPT也有相关的能力接入,我们就需要一个能够将语音内容转换成文本的能力
    • 当然其他第三方的软件或者接口也是支持这个功能
    • 在 Open AI 有一个语音转文本的模型叫做 whisper
  • 在 Open AI 它的官方网站当中,在左侧可以看到有一个 Audio 关于音频的API
    • 文档: https://platform.openai.com/docs/api-reference/audio/create-transcription
    • 接口: https://api.openai.com/v1/audio/transcriptions
  • 可以看到它的参数
    • file 参数,必选,file类型,支持 mp3,mp4,mpeg,mpga,m4a,wav,or webm.
    • model 参数,必选,string 类型,目前仅支持 whisper-1
    • prompt 参数,可选,string 类型
    • response_format 参数,可选,string 类型
    • temperature 参数,可选,number 类型 默认 0
    • language 参数,可选,string 类型
  • 与其他的音频转文本的方法或者工具不同的是 Open AI 允许我们去输入 Prompt
    • 这个 Prompt 就是对于我们音频的一个介绍
    • 举个例子,我们的音频是计算机相关的论文,或者法学,医学相关的论文
    • 在这些论文当中,可能会有很多的特有的专业的名词
    • 如果我们按照正常行的音频翻译的话,有可能得到的并不是我们想要的结果
    • 但是 Open AI 不一样,我们在进行 whisper 调用的时候,可以去向它发送 Prompt
    • 这里 Prompt 就是对音频的介绍,我们可以清晰的告诉 GPT,我们的音频是哪个领域,哪个方向
    • 然后研究是的是什么的内容等,这样可辅助GPT对音频的内容进行分析转换成较准确的相关的文本,提升转换的质量
  • response_format 是对于输出进行一个格式化,默认是 Json
  • 这是和音频相关的接口

代码

whisper_example.py

# -*- coding: utf-8
import os
import openaiopenai.api_key = "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"
openai.proxy="http://127.0.0.1:7890"audio_file = open("test.mp3", "rb")
transcript = openai.Audio.transcribe("whisper-1", audio_file, prompt=r"这是一篇机器学习相关的公开课")print(transcript['text'])

分析

  • 比如,test.mp3 内容是一段机器学习的英文教学章节
  • 整体的代码看上去非常的简单,只需要两步就可以了
  • 接下来执行一下我们刚刚实现的python代码
  • 可以看到音频已经转换成了文本,但是是英文,有时候我们希望它是中文
  • 这里有几个方案
    • 方案一,通过其他的翻译软件去进行翻译
    • 方案二,可以调用GPT的接口, 通过GBT3.5的模型, 对文章去做一个翻译
      • 把这篇文章作为 Prompt 传递给它,由GPT去做翻译
    • 方案三,利用 whisper 去做一个简单的处理
      • 它的输入参数中,有一个 language的输入参数,这里指音频文件输入的语言
      • 这里并不代表我们设置之后会以对应的形式对我们进行输出
      • 我们想要去输出中文怎么办呢?其实,有一个非常简便的方法
      • 在调用 whisper 模型的时候,可以去传入,Prompt, 告诉它这是一篇机器学习相关的公开课
      • 我们通过中文的描述去构建了一个Prompt告诉whisper
      • 由于我们的 Prompt 是输入的中文的描述, 最终whisper给我们返回的结果也是中文的
  • 以上是通过GPT的 whisper 模型将音频转换成文本的一个简单的示例代码

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

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

相关文章

【五分钟】熟悉np.all()和np.any()的常见用法(干货!!!)

常见使用场景举例 判断numpy数组中是否【全是】非0元素 # 判断数组中是否全是非0元素 a np.array([1, 2, 3, 4]) b np.array([0, 1, 2, 3]) c np.array([np.nan, 1, 2, 3]) # nan --> Not a Number ---> 算非0元素 d np.array([np.inf, 1, 2, 3]) # np.inf -->…

C++使用策略模式,减少使用switch...case...

目录 原理函数类模板函数使用switch...case...不使用switch...case... 知识点decltypestd::remove_reference 原理 函数 #include <iostream> #include <functional> #include <map>void fun1(int a, int b) {std::cout << "fun1 : a "<…

鸿蒙Harmony ArkUI十大开源项目

一 OH哔哩 https://gitee.com/ohos_port/ohbili 项目简介 【OH哔哩】是一款基于OpenHarmony系统ArkUI框架开发的哔哩哔哩动画第三方客户端 用到的三方库 bilibili-API-collect 哔哩哔哩-API收集整理ohos_ijkplayer 基于FFmpeg的视频播放器PullToRefresh 下拉刷新、上拉加载组件…

html css样式选择器介绍

目录 一、单标签选择器二、多标签选择器三、类选择器四、标签结合类选择器五、多个标签结合类选择器六、子标签选择器七、所有子标签选择器八、相邻选择器九、多种选择器混合使用十、超链接样式选择器 一、单标签选择器 下面的 css 会将所有 h1 标签里的文字设置为红色 <!…

【FPGA图像处理实战】- 图像处理前景如何?就业前景如何?

图像处理是FPGA应用的主要领域之一&#xff0c;图像处理数据量特别大且对实时性处理要求高的场景&#xff0c;这恰好能发挥FPGA流水线可实时处理的优势。 那么FPGA图像处理的前景如何&#xff1f; 一、FPGA开发&#xff08;图像处理&#xff09;招聘就业情况 看FPGA图像处理…

c++ memset

memset 函数是 C/C 中的一个函数&#xff0c;用于将一块内存的内容设置为指定的值。在 C 中&#xff0c;你可以使用 #include 头文件来包含 memset 函数的声明。 以下是 memset 函数的基本语法&#xff1a; cpp #include void *memset(void *ptr, int value, size_t num); …

五花八门客户问题(BUG) - 重复打印

根据commit猜测客户问题 git://sourceware.org / glibc.git / commitcommitsummary | shortlog | log | commit | commitdiff | tree (parent: 4573c6b) | patch Dont flush write buffer for ftell author Siddhesh Poyarekar <siddheshredhat.com> Fri, 28 Sep 2012 …

ELK 日志解决方案

ELK 是目前最流行的集中式日志解决方案&#xff0c;提供了对日志收集、存储、展示等一站式的解决方案。 ELK 分别指 Elasticsearch、Logstash、Kibana。 Elasticsearch&#xff1a;分布式数据搜索引擎&#xff0c;基于 Apache Lucene 实现&#xff0c;可集群&#xff0c;提供…

B 站基于 StarRocks 构建大数据元仓

作者&#xff1a;bilibili 大数据高级开发工程师 杨洋 B站大数据元仓是一款用来观测大数据引擎运行情况、推动大作业治理的系统诊断产品。经过调研和性能测试&#xff0c;大数据元仓最终以 StarRocks 为技术底座&#xff0c;从实际的应用效果来看&#xff0c;大部分查询都能在几…

mvn site 命令

概述 在Maven中&#xff0c;site指的是一个特定的阶段&#xff0c;其目的是生成项目相关的站点文档。这些站点文档可以为项目的开发者、用户、以及其他利益相关者提供有关项目的详细信息。 Maven的站点文档通常包括以下内容&#xff1a; 项目信息&#xff1a;这部分提供了关于…

Mysql大数据量删除

Mysql大数据量删除 在一些操作中&#xff0c;可能需要清理一下积压的数据&#xff0c;如果数据量小的话自然没有问题&#xff0c;但是如果是个大数据量的问题&#xff0c;那么就该考虑一个合适的办法了。 在清理大数据量的时候需要考虑是清理部分数据还是清理所有数据&#xf…

【微服务】分布式限流如何实现

Sentinel 是一款阿里巴巴开源的分布式系统级流量控制组件&#xff0c;它提供了流量的自适应控制、熔断降级、系统负载保护等功能。下面是使用 Sentinel 实现分布式限流方案的基本步骤&#xff1a; 引入 Sentinel 依赖&#xff1a;首先在你的 Java 项目中引入 Sentinel 的相关依…

Stm32_串口的帧(不定长)数据接收

目录标题 前言1、串口中断接收固定帧头帧尾数据1.1、任务需求1.2、实现思路1.3、程序源码&#xff1a; 2、串口中断接收用定时器来判断帧结束3、串口中断接收数据空闲中断3.1、串口的空闲中断3.2、实现思路3.3、程序源码 4、串口的空闲中断DMA转运4.1、DMA简介4.2、DMA模式4.3、…

AHB 与 DMA

AHB&#xff08;先进高性能总线&#xff09; 随着深亚微米工艺技术日益成熟&#xff0c;集成电路芯片的规模越来越大。数字IC从基于时序驱动的设计方法&#xff0c;发展到基于IP核复用的设计方法&#xff0c;并在SOC设计中得到了广泛应用。在基于IP核复用的SoC&#xff08;Syst…

【BME2112】w11 notes

下周做老鼠实验 group analysis SPM group analysis 数据地址resting state 可以分析&#xff1a;correlation 计算两个脑区的相关性 静息态实验简单functional 成功的实验能看到激活区不成功的实验&#xff1a;比如被试头动太大&#xff0c;不是健康的被试 Spontaneous brain…

ThreeJs中使用Cannon实现方块自由落体效果

之前有做过小球的掉落效果&#xff0c;不过那个从画面上只能看出来重力加速度和接触地面反弹的效果&#xff0c;可能没有那么直观&#xff0c;也许用一些js加物理公式也能实现类似的效果&#xff0c;这节用小方块来演示&#xff0c;可以很直观的看出物理世界的现象&#xff0c;…

ALPHA开发板烧录工具MfgTool烧写方法

一. 简介 MfgTool 工具是 NXP 提供的专门用于给 I.MX 系列 CPU 烧写系统的软件&#xff0c;可以在 NXP 官网下载到。运行在windows下。可以烧写uboot.imx、zImage、dtb&#xff0c;rootfs。通过 USB口进行烧写。 上一篇文章简单了解了 ALPHA开发板烧录工具MfgTool。文章地址…

数据结构之交换排序

目录 交换排序 冒泡排序 冒泡排序的时间复杂度 快速排序 快速排序单趟排序的时间复杂度 快速排序的时间复杂度 交换排序 在日常生活中交换排序的使用场景是很多的&#xff0c;比如在学校做早操&#xff0c;老师通常会让学生按大小个排队&#xff0c;如果此时来了一个新学…

MySQL系列(一):索引篇

为什么是B树&#xff1f; 我们推导下&#xff0c;首先看下用哈希表做索引&#xff0c;是否可以满足需求。如果我们用哈希建了索引&#xff0c;那么对于如下这种SQL&#xff0c;通过哈希&#xff0c;可以快速检索出数据&#xff1a; select * from t_user_info where id1;但是这…

ThreadX开源助力Microsoft扩大应用范围:对比亚马逊AWS的策略差异

全球超过120亿台设备正在运行ThreadX&#xff0c;这是一款专为资源受限环境设计的实时操作系统。该操作系统在微控制器和小型处理器上表现出色&#xff0c;以极高的可靠性和精确的时间控制处理任务而闻名。 ThreadX曾是英特尔芯片管理引擎的引擎&#xff0c;并且是控制Raspber…