极资讯

  • 关于我们
  • 全栈AI助手
极资讯
这里有好的科技资讯
  1. 首页
  2. AI
  3. 正文

使用GPT和Whisper打造个性化语音助手

2023 年 6 月 29 日 2723点热度 0人点赞 0条评论

本文旨在指导您创建一个简单而强大的语音助手,以满足您的喜好。我们将使用两个强大的工具——Whisper和GPT来实现这一点。你可能已经知道GPT及其功能,但你知道Whisper是什么吗?

简介

本文旨在指导您创建一个简单而强大的语音助手,以满足您的喜好。我们将使用两个强大的工具——Whisper和GPT来实现这一点。你可能已经知道GPT及其功能,但你知道Whisper是什么吗?

其实,Whisper是OpenAI公司开发的一种高级语音识别模型,可提供准确的音频到文本转录。

我们将带您完成示例工程构建的每一步,包括编码说明。最后,您将拥有一款可启动并正常运行的语音助手。

准备工作

打开AI API密钥

如果你已经有了OpenAI API密钥,你可以跳过这一节。

Whisper和GPT API都需要访问OpenAI API密钥。与ChatGPT的订阅需要支持固定费用不同,API密钥是根据您使用服务的数量进行支付的。

价格还算是比较合理的。在撰写本文时,Whisper的价格为0.006美元/分钟,GPT(模型为GPT-3.5-turbo)的价格为0.002/1K代币(代币约为0.75个单词)。

OpenAI的网站(作者自己的图片)

要获取密钥,请首先在OpenAI网站上创建一个帐户。登录后,单击右上角的姓名并选择查看API密钥。单击按钮“创建新密钥(Create new secret key)”后,将显示您的密钥。请确保保存此密钥,因为您将无法再次看到它。

示例工程依赖的第三方库

本小节介绍项目所需的开源代码库。本文示例项目包括使用OpenAI开发的Python库执行各种AI任务,以及使用pyttsx3生成语音,使用SoundDevice录制和播放音频,使用numpy和scipy进行数学运算等。和往常一样,在启动新项目时,您应该在安装包之前创建一个新的虚拟环境。

示例工程代码结构

我们的代码将围绕一个类构建,总共占用大约90行代码。在此,假设您对Python类语法知识已经有了基本的理解。整个类结构如下:

其中,Listen方法负责捕获用户的语音输入,并使用Whisper将其转换为文本。Think方法负责将文本发送到GPT,然后由GPT生成自然语言响应。speak方法负责将响应文本转换为可播放的音频。

注意:上图中最右边代表系统中的GPT助理部分(负责给出自然语言响应)。

下面这个过程是可以重复执行的,即用户可以通过发出另一个请求在对话中进行交互。

示例类对应的代码结构(作者自己的图片)

__init__函数

此函数负责初始化历史记录和设置API密钥。

我们需要一个历史记录来跟踪以前的消息。这基本上对应于我们助理的短期记忆,可以让它记住你在谈话中早些时候说的话。

listen函数

listen函数工作流程

这个方法相当于我们助理的耳朵功能。

listen函数允许接收来自用户的输入。此函数负责记录麦克风中的音频并将其转录为文本。

listen函数的具体作用如下:

  • 录制音频时打印出“Listening…”信息。
  • 使用声音设备以44100 Hz的采样率录制3秒的音频(或您想要的任何持续时间)。
  • 将录制的音频保存为临时WAV文件中的NumPy数组。
  • 使用OpenAI API的转录方法将音频发送给Whisper,由Whisper将其转录。
  • 将转录后的文本打印到控制台,以确认转录成功。
  • 以字符串形式返回转录后的文本。

在本例中,助理的监听时长为3秒钟,但您可以根据需要更改时间。

think函数

think函数工作流程

其实,我们系统中助理的大脑是由GPT驱动的。think函数负责接收助理听到的内容,并详细阐述回应内容。

值得注意的是,响应内容不是在您的本地计算机上创建的。文本需要发送到OpenAI的服务器,以便通过API进行处理。然后,响应内容被保存在响应变量中,用户消息和响应都被添加到历史记录中,即助手的短期记忆,负责为GPT模型提供上下文以生成响应。

speak函数

speak函数工作流程

speak函数负责将文本转换为语音,并将其回放给用户。此函数只接受一个参数:text。此参数应该是一个字符串,表示要转换为语音的文本。

当用文本字符串作为参数调用函数时,它会用命令engine=pyttsx3.init()初始化pyttsx3语音引擎。这个对象是引擎用来将文本转换为语音的主要接口。

然后,该函数指示语音引擎使用命令引擎将提供的文本转换为语音。这会将提供的要speak(由引擎读出)的文本排队。命令engine.runAndWait则负责告诉引擎处理排队的命令。

值得注意的是,Pyttsx3是在本地处理所有文本到语音的转换,这在系统的延迟方面是一个显著的优势。

最后的润色

到此,系统中助理部分已经准备好了。接下来,我们只需要创建一个辅助对象,然后开始对话。

对话是一个无限循环,当用户说出包含“Goodbye(再见)”的句子时,对话就结束了。

个性化体验技巧

总体来看,自定义GPT助手是轻而易举的事情!我们构建的代码是极具模块化的,它允许您通过添加各种功能进行自定义。以下是一些帮助您进行定制的参考想法:

  • 给助理一个角色:改变最初的提示,让你的助理扮演你的英语老师、励志演说家或你能想到的任何其他角色!这方面定制,请查看Awesome ChatGPT Prompts了解更多想法。
  • 更改语言:想使用另一种语言吗?没问题!只需将代码中的英语更改为您想要的语言即可。
  • 构建应用程序:您可以轻松地将助手集成到任何应用程序中。
  • 添加个性:通过添加自定义回复或使用不同的语调和语言风格,让你的助手拥有独特的个性。
  • 与其他API集成:将您的助手与其他API进行集成,以提供更高级的功能,如天气预报或新闻更新等。

结论

在本文中,我们解释了如何检索OpenAI API密钥,并提供了用于捕获用户输入、生成响应以及将文本转换为语音以进行播放的listen、think和speak等函数的代码示例。

有了这些知识,您可以开始创建一款适合您自己特定需求的独特语音助手。总之,存在无限的可能性:从创建一个个人助理来帮助完成日常任务,到构建一个语音控制的自动化系统……有关本文示例的所有代码,您可以访问链接的GitHub存储库。

原文标题:Creating Your Personalized Voice Assistant with GPT and Whisper,作者:Donato Riccio

标签: GPT 语音
最后更新:2023 年 6 月 29 日

admin

这个人很懒,什么都没留下

点赞
⇦提示工程:让LLM生成您想要的内容
你大脑中的画面,现在可以高清还原了 ⇨

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

最新 热点 随机
最新 热点 随机
阿里云服务器“镜像”怎么选择?看这一篇文章就够了! 积极贯彻落实《公司法》 推动存量公司依法调整注册资本 更新版!一些有趣或实用的生成器! 整理一波写作必备网站,供大家参考 远离抑郁症的方法之一:增强多巴胺、内啡肽、血清素、催产素的神经质地分泌 网络社区这种模式为什么注定会失败 靠着AI自动生成视频撸自媒体收益,赚了包辣条~ 有钱人是如何面对美色诱惑的 失业的中年人在北京过得真的有多心酸 最年轻的“十八罗汉”,阿里巴巴的新CEO-吴泳铭
Python3.11推迟发布,原因竟然是 如何通过做独立开发者赚钱? 【2023年】iPhone日历订阅:中国节假日调休+常用节日+国际节日! 图解网络:揭开TCP四次挥手背后的原理,结合男女朋友分手的例子 AI工具箱:打工人必备的21款智能神器 马斯克用 26 天重置 Twitter:裁了近八成工程师、整顿系统架构! 国内开源跟国外开源差距很大是因为什么? AI人工智能写的科幻小说 曝iPhone 16首发iOS 18:独占部分AI功能 HTTP/3 标准化了,什么时候 QUIC 能插遍全球?
归档
  • 2024 年 10 月
  • 2024 年 2 月
  • 2024 年 1 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 10 月
  • 2023 年 9 月
  • 2023 年 8 月
  • 2023 年 7 月
  • 2023 年 6 月
  • 2023 年 5 月
  • 2023 年 4 月
  • 2023 年 3 月
  • 2023 年 2 月
  • 2022 年 12 月
  • 2022 年 11 月
  • 2022 年 10 月
  • 2022 年 9 月
  • 2022 年 8 月
  • 2022 年 7 月
  • 2022 年 6 月
  • 2019 年 8 月
  • 2019 年 7 月
  • 2019 年 6 月
分类
  • AI
  • IT
  • 云计算
  • 互联网
  • 创业
  • 开发
  • 开源资讯
  • 未分类
  • 概念
  • 科技
  • 移动互联网
  • 自媒体
  • 趋势
标签聚合
程序员 元宇宙 AIGC Linux AI 短视频 编程 抖音 直播 iphone 小红书 golang web3.0 电商 编程语言 开发 软件 AI绘画 ChatGPT 人工智能

COPYRIGHT © 2022-2025 极资讯. ALL RIGHTS RESERVED.

京ICP备18039103号-2