我花了太多时间试图打造一个成熟的实时语音对语音人工智能,不得不说,如今这东西实际上已经能用了。与人工智能进行流畅、自然的对话,这已不再只是一个未来概念;当下就有人在着手实现它。我想为其他也在钻研这个领域的人快速总结一下目前的进展情况。最大的障碍:端到端延迟这仍是主要难题。要让对话感觉 “真实”,从你说完一句话到听到人工智能回复之间的总延迟必须尽可能短(大多数人认为在300到500毫秒这个区间为宜)。这种 “端到端” 延迟由以下三个部分组成:语音转文本(STT):转录你的语音。大语言模型推理(LLM Inference):模型思考回复内容。文本转语音(TTS):生成回复的音频。改变游戏规则的因素:惊人的推理速度我们能探讨这个话题,很大程度上得益于新硬件的速度。Groq的LPU(Light Processing Unit,光处理单元)经常被提及,因为它在大语言模型处理环节速度极快,几乎消除了这个瓶颈,让整个系统响应速度奇快。不只是延迟,还有流畅性这才是真正有趣的部分。低延迟是一方面,但一场真正自然的对话还需要巧妙的设计:语音活动检测(VAD):人工智能得能立刻知道你什么时候停止说话。像Silero VAD这类工具在这里就很关键,能避免出现尴尬的沉默。打断处理:你得能打断人工智能。要是你开始说话,人工智能应立即停止它的文本转语音播放。这一点要做好出奇地难,但却是让对话感觉真实的关键。常用的技术组合人们会混合搭配各种服务来构建自己的系统。目前看来,有两种流行方案:高性能云服务组合:Deepgram(语音转文本)→ Groq(大语言模型)→ ElevenLabs(文本转语音)全本地部署组合:whisper.cpp(语音转文本)→ 通过llama.cpp运行的快速本地模型(大语言模型)→ Piper(文本转语音)未来会怎样?未来看起来更有前景。像微软宣布的VALLE 2这类模型,只需几秒音频就能克隆声音并添加情感,这将把文本转语音的质量提升到一个全新高度。总结:打造实时语音人工智能的工具已然存在。主要挑战已从 “能否实现” 转变为精心设计对话流程,在每一步都尽量减少延迟。你们有什么经验?常用的技术组合是什么?是打算完全本地部署还是使用云服务?很想听听大家都在做些什么! |