
效果图
什么是 STT 和 TTS?
STT是语音转文字(Speech To Text)TTS是文字转语音(Text To Speech)
为什么要使用
SST+TTS如果用户直接输入音频,OpenAI的API中并没有直接使用语音和GPT进行对话的功能。
所需依赖
express
express-fileupload
openai
websocket
nodemon
dotenv
实现语音转文字(STT)
前面说到了,OpenAI 中不存在这种 API,但是提供了一个 Whisper 机器人,支持将音频流转化为文本,也就是 STT。
实现如下返回的 text 就是识别的语音内容
const {
data: { text: prompt },
} = await openai.createTranscription(
fs.createReadStream(fileName),
"whisper-1"
);
实现文字转语音(TTS)
OpenAI 目前只提供了 STT,如果需要返回给用户一个音频的话。就需要用到国内的 科大讯飞 每天有 5.05w 次免费的 TTS[1]。
如果你有国外信用卡,可以考虑使用微软推出 Azure,很多电报机器人就是用的它来开发的,免费使用 12个月。
所以在这里还是使用科大讯飞的 TTS
文字生成音频文件
音频没有直接返回流,而是直接生

本文介绍了如何通过STT(语音转文字)、TTS(文字转语音)和GPT实现类似微信聊天的语音对话功能。利用OpenAI的GPT进行核心对话,科大讯飞的API处理音频转换,并提供了前端实现的详细步骤,包括Vue和Element UI的使用。
最低0.47元/天 解锁文章
592

被折叠的 条评论
为什么被折叠?



