大家好,最近在做实时语音识别( STT )相关的项目时,踩了不少坑。
目前市面上大多数 STT 服务,基本都是基于「原始音频流 + TCP 直推」的假设来设计的, 默认网络稳定、客户端性能充足。但在弱网、实时交互、边缘设备等场景下, 音频往往是零碎、不连续的,直接送给 STT 会导致:
所以我单独做了一个 STT 前置音频网关, 放在客户端和 STT 服务之间,专门负责音频的预处理和断句。
这个网关主要做了几件事:
整体效果如下:

实现上目前集成了:
目标并不是替代 STT ,而是在 不改动 STT 服务本身的前提下, 显著改善实时语音交互体验,尤其是在弱网和实时对话场景。
项目地址: https://github.com/guocf20/Aeroshell_audio
目前功能还在持续迭代中,代码也比较原始,欢迎试用、拍砖、提 PR 。
1
liangdi 1 天前
有点意思,我部署测试一下
|
2
guocf20 OP @liangdi 客户端需要采用 相同的参数编码参数,没有做协商,后面再慢慢完善。并且格式要和数据包对齐哈,音频帧长度(2 字节)+音频帧+参考音频长度(2 字节)+音频参考帧。没有远端输入的话就设置长度为 0 ,主要是用于实时对话的回音消除需要。而且现在没有做 FEC 这些。
|
3
hanguofu 1 天前 via Android
谢谢分享~请问支持什么语言啊?
|