ChatAudio 通过TTS + STT + GPT 实现语音对话(低仿微信聊天)

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0c56e479e297eff90b5a614f4a544239.png

效果图

什么是 STT 和 TTS?

  • STT 是语音转文字(Speech To Text)

  • TTS 是文字转语音(Text To Speech)

为什么要使用 SST + TTS 如果用户直接输入音频,OpenAIAPI 中并没有直接使用语音和 GPT 进行对话的功能。

所需依赖

  • express

  • express-fileupload

  • openai

  • websocket

  • nodemon

  • dotenv

实现语音转文字(STT)

前面说到了,OpenAI 中不存在这种 API,但是提供了一个 Whisper 机器人,支持将音频流转化为文本,也就是 STT

aa2b3e73d64fb1df4d079ace9fdca761.png

实现如下返回的 text 就是识别的语音内容

const {
   data: { text: prompt },
} = await openai.createTranscription(
  fs.createReadStream(fileName),
  "whisper-1"
);

实现文字转语音(TTS)

OpenAI 目前只提供了 STT,如果需要返回给用户一个音频的话。就需要用到国内的 科大讯飞 每天有 5.05w 次免费的 TTS[1]

bf95ce17b0ac789aa2d52824d8907443.png

如果你有国外信用卡,可以考虑使用微软推出 Azure,很多电报机器人就是用的它来开发的,免费使用 12个月。

d398821d7db2199f00490b1faa416885.png

所以在这里还是使用科大讯飞的 TTS

文字生成音频文件

音频没有直接返回流,而是直接生

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值