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

使用道具 举报

2025-7-30 11:38:15
谢谢,这很有趣。有没有关于本地堆栈的有趣的 GitHub 仓库?
2025-7-30 12:05:17
说得有道理,我没考虑到这一点。有一些修改版本(如ONNX、GGUF等),它们在CPU上可能行得通,也可能不行,但说实话,这些我都没试过。主要是,我喜欢它的质量。  
2025-7-30 12:17:16
不能使用你自己的栈是什么意思?你可以自己运行这个模型,挑选你需要的东西,还是说你指的是别的意思?顺便说一句,我和 Ultravox 没有关联,只是个好奇的旁观者 :)  
2025-7-30 12:36:18
看看我的仓库:https://github.com/dnhkng/GlaDOS我已经优化了推理时间,你能得到你确切需要的东西。Whisper太慢了,所以我重写并优化了Nemo Parakeet自动语音识别模型。我还使用了一些技巧,让所有推理都能并行完成(在进行文本转语音推理的同时流式传输大语言模型内容)。最后,它是可中断的:当系统正在说话时,你可以打断它说话!它完全本地化,使用40系或50系GPU,你可以轻松实现低于500毫秒的语音到语音响应。  
我个人并不在乎是否存在200到300毫秒的延迟。与人类交流时,延迟往往要大得多,因为大多数时候我们都需要时间思考。这些微小的延迟和停顿可以很容易地通过其他用户界面技巧来填补和掩盖。延迟并不是这里的主要问题。关键问题在于对话的质量、流畅度以及准确性。  
2025-7-30 12:51:15
是的,它会。但我们无法提供检索上下文窗口。
2025-7-30 13:45:11
很晚才参与这个对话,但Pipecat可能正是你在寻找的东西。
2025-7-31 13:31:03
你忘了第三个方案:具备音频输入和音频输出功能的原生多模态(或“全模态”)模型。这些模型最终成型后,其优势在于能够利用其他方案中会丢失的音频信息(并且有可能降低整体延迟)。  
2025-7-31 13:35:05
在各种基准测试中,音频大语言模型(Audio LLMs)不如基于文本的大语言模型(textbased LLMs)。与一个不太智能但语音自然的基于音频的大语言模型对话,还不如与基于文本的大语言模型进行不那么自然的对话,然后将文本转换成语音,这样反而更有用。  
2025-8-1 15:03:07
在本地,我使用的是具备Metal加速功能的苹果笔记本电脑。我打算自己组装一台性能出色的电脑用于直播。或者租用按使用付费的服务器……比如像vast.ai提供的那种实例。  
2025-8-1 16:06:05
在研究“神经 sama”(Neuro Sama)的时候,我也有同样的疑问。这个频道背后的开发者在反应时间方面做得相当出色。  
2025-8-4 13:24:56
在GPU上,根据具体配置,你轻松就能获得30到100倍甚至更高的实时速度提升。  
2025-8-4 14:06:13
如果你把对话拆分成语音转文本(STT)、大语言模型(LLM)、文本转语音(TTS)几个部分,你将无法获得逼真的实时对话效果。这就是为什么像OpenAI(仅举一例)将它们整合到一个单一的多模态大语言模型中,该模型在内部集成了音频处理功能(它能识别说话者是谁、你的语调、是否有多人说话、背景噪音等等)。要想做好这件事,你需要在语音识别阶段就理解其中的情感、语调变化、语速等等。在对方还在说话的时候就开始构思回复内容。适时打断,不要等对方说完。回复的语音语调要与提问的语调相匹配。当检测到更多音频时,不要突然停止——回复需要自然结束,可以在自然的停顿点(某个单词、句子、带有语调的单词中间)停止,可以缩写剩余回复内容,可以更坚定/坚决地完成回复,也可以正常结束(忽略打断/对话重叠情况)。也就是说,自然语言交流中有很多细微之处是你的工作流程中没有考虑到的。  
2025-8-4 14:46:28
理想情况下,多模态实现还应具备工具调用能力。
2025-8-6 12:11:28
嗯,我完全同意你的观点。我也在尝试搭建一个本地的Whisper + Ollama + TTS 系统。我主要使用像英伟达Jetson Nano开发板或者树莓派这样的嵌入式设备来处理语音,而在我的游戏电脑上运行大语言模型。我觉得还有一个让我辗转难眠的问题,那就是意图检测。从语音转文本(STT)到决定是否向大语言模型提问,这中间很棘手。你可以设置任何你想要的关键词,但是只要检测稍有偏差,一切就会乱套。在语音转文本的过程中,我遇到过很多有意思的误识别情况,比如“Audi(奥迪)”被识别成“howdy(你好)”,“lights(灯光)”被识别成“fights(打架)”,甚至“rights(权利)” 哈哈。有一次我说“请打开‘权利’”,我的模型给出了一个极其诡异的哲学回答。除此之外,在物理设备层面,打断功能也是一个重要方面。在Linux系统上,由于几乎所有音频库都主要使用ALSA驱动,对我来说,同时进行语音监听和语音输出,往往在一分钟左右就会导致程序崩溃 。  
2025-8-6 12:37:26
抱歉,我之前说的是托管式、按分钟计费版本的Ultravox。托管式版本对于起步来说很不错。如果我们希望在检索增强生成(RAG)方面拥有真正的灵活性,又不想受到限制或按分钟付费,那就自行托管Ultravox。这会是个很棒的解决方案。
2025-8-6 15:42:10
有没有包含本地语音活动检测(VAD)、打断检测以及将所有流程进行流水线处理的框架?我认为,为了降低延迟,很多流水线操作需要是异步的吧?文本转语音(TTS)显然会采用流式处理,我猜大语言模型(LLM)推理也会是流式的,或者至少输出按句子进行分词后的流数据?也许语音转文本(STT)不需要流式处理?  
2025-8-6 15:51:23
这是我最近一直在思考的事情:为什么人们认为低延迟对人工智能语音系统至关重要?在人与人的对话中,你是更喜欢与那种不假思索就立刻给出回应的人交流,还是更喜欢与经过思考后再回应(更具智慧)的人交流?
2025-8-8 13:46:40
我利用Pipecat、ollama、Moonshine语音转文本(STT)、Silero语音活动检测(VAD)以及Kokoro文本转语音(TTS),实现了一个具有可中断性的本地语音助手。它运行得相当不错(响应速度比较快,感觉没有明显的停顿)。不过,正如其他人所指出的,在语音转文本的过程中,我语音中的所有细微差别都丢失了。尽管如此,这仍是一次不错的学习经历。接下来再打造人工智能助手时,我希望实现完全的多模态。  
2025-8-8 15:11:35
嗯,有意思。和C++不同,这是一个由GPU加速的模型。要是有一块好的GPU,可能运行速度会很快。  
2025-8-10 19:24:39
关于语音,你试过这个链接吗:https://huggingface.co/hexgrad/Kokoro82M ?我不确定它能否满足你500毫秒的延迟要求,但考虑到其质量,或许值得一试。  
2025-8-11 05:04:38
杰玛3n不应该接收音频输入吗?这样就可以省去语音转文本这一步了。  
2025-8-12 09:39:48
我一直在做一些数学计算和估算,目前已经将系统内存使用量缩减到了400MB,这样一来,还有大约7GB的内存可用于其他所有事务。Qwen模型足够小,但我觉得Seasame可能会比预期占用更多内存。在这种情况下,我可能会转而使用Kokoro。
2025-8-13 17:31:54
我仍在努力解决预约预订方面存在的问题,但初步的线索筛选速度相当快。它也能很快发送已预订预约的电子邮件。完成这些后,我想通过Telnyx将其与一个采用会话发起协议(SIP)中继的电话号码连接起来 。  
2025-8-14 22:00:02
技术不错,继续加油
2025-8-16 07:26:06
我倒不觉得有完全一样的这个技术栈,不过之前看神经萨玛直播的时候,好像有人做过类似的东西。虽然我现在想不起具体的链接了,不过应该挺容易找到的。
2025-8-18 12:15:26
可以考虑用长尾小鹦鹉,别用耳语,我测试过,它跑起来挺快的。
您需要登录后才可以回帖 立即登录
高级模式