chatgpt的语音机器人

article/2024/12/22 11:57:39

准备工作

一.OpenAi的Api

1.登录openai

openai官网

2.点击Develovpers的overview

在这里插入图片描述### 3.点击右上角的Login in
在这里插入图片描述### 4.点击右上角的view apikey
在这里插入图片描述### 5.点击Creat new secret key
在这里插入图片描述这样就会得到一个chatgpt的api,请妥善保存这个api,当你关闭这个网页的时候,api就不可再见了。

二. 准备百度云的api

1.登录百度云

在这里插入图片描述

2.点击右上角登录或者注册账户即可

3.进入控制台,找到下图所示的语音技术

在这里插入图片描述这个一般会有免费的资源赠送,点击领取后再创建资源。注意找到下图所示的AppID,API Key和Screat Key。妥善保存这三个,后面代码中会用到。
在这里插入图片描述

三.科学上网

这个不细说了,没有的话可以去网上搜一下教程,可能会用到。

代码部分

1.导入必须的库

下载导入下述的库

import speech_recognition as sr
from aip import AipSpeech
import openai
import pygame
import asyncio
import edge_tts
可以直接用pip下载,如果国内下载不成功的话可以试着用下面的命令下载。

pip install xxx(包名) -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

2.更换上面得到的api信息到代码中

APP_ID = 'XXX'
API_KEY = 'XXX'
SECRET_KEY = 'XXX'
 openai.api_key = "XXX"

3.完整代码如下(可能需要用到全局代理)

import speech_recognition as sr
from aip import AipSpeech
import openai
import pygame
import asyncio
import edge_ttsAPP_ID = 'XXX'
API_KEY = 'XXX'
SECRET_KEY = 'XXX'allresult=""def rec(rate=16000):"""从系统麦克风拾取音频数据并保存为 wav 格式文件"""r = sr.Recognizer()with sr.Microphone(sample_rate=rate) as source:print("连接到麦克风...")print("请说话进行录音...")audio = r.listen(source)   print("正在上传录音文件到百度语音服务...")with open("recording.wav", "wb") as f:f.write(audio.get_wav_data())return 1def listen():"""上传录音文件到百度语音服务,返回语音识别结果"""client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)with open('recording.wav', 'rb') as f:audio_data = f.read()results = client.asr(audio_data, 'wav', 16000, {'dev_pid': 1537})if 'result' in results:print("你说的是:" + results['result'][0])return results['result'][0]else:                                    print("出现错误,错误代码:" , results['err_no'])def chat(prompt):"""与 OpenAI 文本 AI 进行聊天"""openai.api_key = "XXX"prompt = prompttry:response  = openai.ChatCompletion.create(model="gpt-3.5-turbo",max_tokens=1024,top_p=1,frequency_penalty=0,presence_penalty=0,temperature=0.5,messages=[{"role": "user", "content": prompt}],timeout={"with":1000},)result = response.choices[0].message.contentprint("AI 回复:" + result)return result   except Exception as e:print("API调用失败:", e)return Noneasync def speak(text=""):voice = "zh-TW-HsiaoChenNeural"output_file = "audio.mp3"communicate = edge_tts.Communicate(text, voice)await communicate.save(output_file)print(f"\n已将文本“{text}”转换为语音并保存为文件“{output_file}”。")def play():"""播放语音"""pygame.mixer.init()pygame.mixer.music.load("C:/Users/Emails/Desktop/py/audio.mp3")pygame.mixer.music.set_volume(0.5)pygame.mixer.music.play()while pygame.mixer.music.get_busy():passpygame.mixer.music.unload()# 语音识别并与 AI 进行聊天
def speech():while True:rec()  # 保存录音文件:recording.wavtext = listen()  # 自动打开录音文件recording.wav进行识别,返回 识别的文字存到textif '结束程序' in text:  #这里我设置了一个结束语,说“结束程序”的时候就结束,你也可以改掉return "对话结束"text_1 = chat(text)  # 将text中的文字发送给机器人,返回机器人的回复存到text_1asyncio.run(speak(text_1))play() #播放audio.mp3文件if __name__ == '__main__':speech()

4.将其保存为.py文件,点击运行即可

语音播放使用的是edge-tts,所以播放速度达到瓶颈,目前还没想到办法优化。
如果代码运行的过程出错,请查看上述的库是否正确安装。
代码正确运行截图如下:
在这里插入图片描述如果有什么好的优化方案,可以直接私我,哥们高强度在线!


http://chatgpt.dhexx.cn/article/kZ865HSK.shtml

相关文章

OpenAI推出iOS版ChatGPT,支持语音输入

北京时间5月19日凌晨,OpenAI重磅推出iOS版ChatGPT。 据介绍,iOS版ChatGPT供免费使用,并在不同设备上同步聊天历史。 同时,它还集成了开源语音识别系统Whisper,可以实现语音输入。 另外,ChatGPT Plus用户在i…

【一分钟学会】用python做一个语音对话ChatGPT的程序——打造私人语音助手

本项目灵感来源是我的一个专业课程设计,当时耗时近四天在网上都没找到十分有用的信息。 以下是本项目完整的步骤流程,算是对自己工作的一个阶段性总结。希望同感兴趣的小伙伴们相互探讨、交流和学习。 一、准备工作 首先,需要准备①最新版的…

基于ChatGPT的端到端语音聊天机器人项目实战(三)

企业级ChatGPT开发入门实战 第1课 基于ChatGPT的端到端语音聊天机器人项目实战 Gavin老师:NLP_Matrix_Space 1.4 使用FastAPI构建语音聊天机器人后端实战 在后端代码(backend)中调用了OpenAI API及其他的服务,如图1-10所示。 图1- 10 后端代码调用OpenAI API openai_requ…

OpenAI Whisper and ChatGPT 语音助手

OpenAI Whisper and ChatGPT ASR Gradio Web UI 一 环境准备1.1 python1.2 windows 二 导入所需要的包三 加载模型四 定义openai和whisper接口五 生成Gradio Web UI 麦克风输入,展示三种结果 输入ASR结果输出文本输出TTS结果 一 环境准备 1.1 python gradio3.19.1…

ChatGPT+语音 实现人机“对话“

你可以向ChatGPT "说出" 任何问题,ChatGPT会将答案 "说"给你听。 当你向ChatGPT提问数学问题时,ChatGPT将解题思路完整的说给你听,当你还有不懂的地方还可以继续提问,直到你完全理解。最好的全科辅导老师&…

ChatGPT在语音识别技术领域的应用

第一章:引言 近年来,随着深度学习技术的飞速发展,语音识别技术已经成为了人工智能领域中备受关注的重要领域之一。在语音识别技术的应用中,ChatGPT作为一款先进的语言模型,可以发挥其强大的文本生成和自然语言处理能力…

为什么ChatGPT用Python实现?

可能你不知道, ChatGPT这个网站的后端居然是用Python实现的。 在一些人眼里,Python只能用来写写脚本、搞搞爬虫、做些小项目之类的,其实这是对Python的最大偏见。 因为Python早就被证明可以应用在大型项目中,特别是国外很多明星…

chatGPT提示词笔记

文章目录 Introduction1 如何写提示词1.1原则1.2 如何写提示词 2.实例2.1逐句分析2.2 应用举例2.3 文本 Introduction 提示词(prompts)的质量是影响你使用chatGPT效果的决定因素之一。作为一个聊天程序,chatGPT被给予的指令越准确&#xff0…

chatGPT-如何解决拒绝访问的问题

到ChatGPT官网 登录 保存这个key 然后去google搜索colab pip install openaiimport openaiAPI_KEY 你的OpenAIkey openai.api_key API_KEY model_id gpt-3.5-turbodef ChatGPT_conversation(conversation):response openai.ChatCompletion.create(modelmodel_id,mes…

ChatGPT杀疯了!如果官网体验太差建议来试一下这个网站

大家好,我是noarsark,好久不见。 最近爆火的ChatGPT不知大家有没有玩? 今天给大家来推荐与ChatGPT相关的两个工具吧 ChatGPT国内站 自己搭建了一个ChatGPT网站: https://chatwithgpt.click 回答速度超快,不用再等待…

仅用自然语言,让ChatGPT输出连贯的长篇小说!苏黎世联邦理工大学提出RecurrentGPT

夕小瑶科技说 原创 作者 | ZenMoore,Wangchunshu Zhou 前言 ChatGPT 是万能的吗? 显然不是,至少在今天我们所讨论的长文本生成上,ChatGPT 可以说是几乎完全不太可能生成长篇小说。 在某种程度上,这是 Transformer 模…

颠覆传统网文?有人已经用ChatGPT写书,放网上卖了第一桶金!

编|杜伟、泽南 源|机器之心 以前的产业革命,人是最重要的一环。但人工智能直接替代人类本身? ChatGPT 的火热一直延续到了现在,对话、写代码,无一不通。如今,使用 ChatGPT 撰写书籍又引起了人们…

ChatGPT开源平替(1)——ChatGLM

ChatGLM-6B 由清华大学唐杰团队开发的是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB…

ChatGPT能写长篇小说了,ETH提出RecurrentGPT实现交互式超长文本生成

©作者 | 机器之心编辑部 来源 | 机器之心 深度学习模型架构越复杂越好吗? 如今大型语言模型(如 ChatGPT)风靡全球,其最重要的应用之一就是辅助用户完成各种日常写作,如撰写电子邮件,创作博客文章&…

ChatGPT写出来的科幻小说,能超过大刘吗?

前两天小编无意中看到了一篇文章,说有个老外让 ChatGPT 参加了完整的 SAT 考试( Scholastic Assessment Test),它被称为「美国高考」,考试总分为 1600 分。ChatGPT 拿到了 1020 分。根据美国大学委员会的数据&#xff…

AI写小说!ChatGPT创作福尔摩斯小说,3分钟狂写856字,就问人类慌不慌?

Alex 发自 凹非寺量子位 | 转自 公众号 QbitAI 那是伦敦的一个凄凉的大雾之夜,是那种让最勇敢的人也感到不安的夜晚。 我,夏洛克福尔摩斯,被我亲爱的朋友兼同事,约翰华生医生叫去协助他处理一个最重要的案件。 当我们在城市中曲折…

用ChatGPT创作小说,根据不同情境设定做多线推进

小说根据不同情境设定做多线推进 我们在读小说、看影视剧时,经常会有这样那样的遗憾:这里主角怎么没有吻上去呢?为什么不能给个大团圆结局呢?再仔细找找就能发现宝藏了啊!等等等等……在网剧领域,已经开始…

搭建ChatGPT对话式小说

牙叔教程 简单易懂 你只需要写一个开头 剩下的交给ChatGPT 视频查看效果 两个ChatGPT互聊-写小说_哔哩哔哩_bilibili 这是一种ChatGPT的展现方式, 他把你主动问ChatGPT的这种方式, 改为了ChatGPT和ChatGPT聊天的方式 我们只需要写一个开头, 小说的后续部分, 完全都交给了Chat…

ChatGPT创作福尔摩斯侦探小说,3分钟内狂写856字,就问人类慌不慌?

Alex 发自 凹非寺量子位 | 公众号 QbitAI 那是伦敦的一个凄凉的大雾之夜,是那种让最勇敢的人也感到不安的夜晚。 我,夏洛克福尔摩斯,被我亲爱的朋友兼同事,约翰华生医生叫去协助他处理一个最重要的案件。 当我们在城市中曲折的街道…

ChatGPT代笔推理小说:谋杀破案剧情一气呵成,已瞒天过海出版26部,封面也拿DALL·E画...

羿阁 发自 凹非寺量子位 | 公众号 QbitAI 专业作家也开始用ChatGPT写作了! 一位推理小说家詹妮弗 莱普(Jennifer Lepp) 表示,自己手头上有7部正在用ChatGPT写的小说: 所有标题、导语,甚至连谋杀案的情节,都是由ChatGP…