最近开发了一个 Voice-to-Voice 的功能。
虽然这个功能 OpenAI 早实现了,但是他们价格巨高。
原理上并不难:人声->语音转文本->大模型回答->文本转为语音。(stt->LLM->tts)
但是具体实践中却有很多难点:
其实还有一个问题,就是如果 stt/LLM/tts 都调用外部服务,最后会价格失控
为此我们用自己的模型,成本全部拿捏。
![]() | 1 anUglyDog 320 天前 https://github.com/yimuc/Jarvis5 个月前我也做了个语音助手 demo , |
![]() | 2 anUglyDog 320 天前 https://github.com/yimuc/Jarvis 5 个月前我也做了个语音助手 demo ,录音、语音转文字、AI 发送文本获取回复文本、语音播放文本。 |
![]() | 3 swim2sun 320 天前 via iPhone 原理根本不是你说的那样,openai 的语音模型是端到端的,直接把语音编码发给大模型,不需要 stt |
![]() | 7 xhawk 318 天前 vercel 上有个类似的项目, 语音流持续输入,如何判断用户的停顿?(因为语音流本质上持续有输入,就算静音也有数据) # 如果是连续输入, 然后中间停顿了几秒, 就是代表用户说完了. 不过这个挺难判断的. 因为我发现人的说话, 有时候是有一个思考的时间的. AI 返回的语音,如何让用户打断? # 录音是实时在录的, 只要有录音的内容, 则停止播放 AI 返回的语音. |