SpringAI+WebSocket+语言识别+语言合成实现AI实时语音交互

背景:

逛github时发现了小智这个开源项目,看到他的AI实时语音交互能力,感觉非常有趣,作为一个Java开发者,于是就想用java中的相关技术来实现AI实时语音的交互功能。

1.java相关框架及组件介绍

项目代码中,涉及到AI实时语音交互的技术,使用了SpringBoot、Websocket、SpringAI、redis、Opus、vad、FunASR、edge-TTS等技术

SpringBoot:java开发者都知道的企业级开发框架,功能是自动配置+ 起步依赖 + 内置tomcat

websocket:一种双向通信协议,用于和前端(web端、安卓端)进行实时通信,相互传输文本信息和二进制语音数据

SpringAI:让java再次伟大的springAI框架,用于快速集成各种AI大模型(千问、智谱等)

redis:缓存数据库,在本项目中主要是用来存储和大模型的会话记忆

Opus:音频的一种格式,和安卓端进行websocket交互时,Opus格式是最适合流式传输的音频格式。

Vad:声音活动检测,通过vad可以判断用户是否在说话,当用户停止说话时,让大模型响应并进行语音合成

FunAsr:语音识别能力,docker本地部署后,传输音频流进行实时语音转文字的识别

Edge-TTS:语音合成能力,大模型响应后,将大模型响应的文字进行语音合成,生成音频文件。

2.前后端交互整体示意图

最终效果:

3.代码截图

具体项目代码不好开源,如下是部分代码截图

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值