工具推荐
1777434466更新
0
我前两天,想给自己的孩子做一个可以对话的AI小助手,就是那种能聊天的语音玩具。你跟它说话,它能听懂,还能用自然的声音回答你。
结果我调研了一圈,发现这事比我想象的难太多了。
这样一个能听懂孩子说话、还能自然回应的语音助手,需要哪些技术呢?语音识别(ASR)要把孩子的语音转成文字,大语言模型要理解他在说什么、再生成回复,最后还得有个语音合成(TTS)把文字变回声音。
光是想想要把这些东西串起来、还要保证低延迟、还要让声音听起来自然,我就已经开始头疼了。
而且你知道,现在市面上那些语音AI服务,要么贵得要死,要么响应慢得像在等公交车,要么就是开源的模型效果跟车祸现场一样。
然后,就在我快要放弃的时候,我刷到了微软开源的VibeVoice。
VibeVoice是微软开源的一个语音AI全家桶,里面包含了三套模型:
第一个是VibeVoice-ASR,就是语音识别模型。它的核心亮点是能一口气处理60分钟的音频。你没听错,一小时。不是那种切成一分钟一分钟然后拼接起来的方式,是真的端到端一次性处理。
这有什么好处呢?
你想,如果一段音频里有人在聊天,说话的人一会快一会慢,一会大声一会小声,传统的切片方式很容易跟丢。但VibeVoice-ASR直接看完整段,理解上下文,然后再告诉你谁在什么时候说了什么。它同时做了三件事:识别文字、分清是谁在说话、给每句话打上时间戳。
而且它支持50多种语言,还支持自定义热词。你要是想做医疗行业的语音助手,可以把医学术语丢进去,它识别这些专业词汇的准确率就会高很多。
第二个是VibeVoice-Realtime,这是个实时语音合成模型。只有0.5B参数,小到可以塞进手机里,首包延迟只需要200毫秒左右。
200毫秒是什么概念呢?
你眨一下眼睛大概需要300毫秒。也就是说,从你输入文字到听到AI的开始回应,几乎是实时的,不会让你感觉到明显的等待。
而且它支持流式输入,就是你不需要等用户说完一整句话再开始合成,AI可以边听边说,这个在对话场景里太重要了。
它现在支持9种语言的实验性语音,还有11种不同的英文风格,有的沉稳、有的活泼、有的温柔,你可以根据自己的产品调性去选。不过官方也说了,这个模型主要还是针对英语设计的,其他语言的效果可能不稳定。
第三个是VibeVoice-TTS,之前开源过一个长文本版本,能一口气合成90分钟的语音,支持4个不同的说话人,还能跨语言合成,就是输入中文让AI说英文。
不过后来微软把这个模型的代码从仓库里移除了,原因你也能想到,这种技术太容易被人拿去搞坏事,伪造声音诈骗之类的。微软的做法是负责任的,虽然代码没了,但技术报告还在,学术价值依然在。
我之前也接触过不少语音模型,有开源的也有收费的。
开源的普遍问题就是,效果跟宣传的差太远,看着论文牛逼哄哄,跑起来就是一坨。收费的呢,效果倒是挺不错,但你要做产品的话成本就上去了,而且你不知道哪天服务商就不让你用了。
VibeVoice,是真的能打。
就拿它的ASR模型来说吧,在60分钟长音频处理这个赛道上,目前开源方案里确实没什么对手。传统的Whisper做长音频其实也是切成一段一段再拼的,VibeVoice的优势在于它是真正端到端看完整段再输出,speaker tracking的一致性和语义连贯性会更好。
然后它的Realtime模型,0.5B的参数量化之后只需要几百MB的内存,你在树莓派上都能跑起来。我自己没试过,但GitHub上有人讨论说已经有人尝试把它部署在移动设备上了。
这个就很离谱了兄弟们。
你想,以前你想做一个实时对话的语音AI,要么用云服务贵死,要么本地跑起来卡死。现在微软告诉你,有一个模型参数量只有0.5B,效果还挺好,延迟只有200毫秒,还支持流式输出。
这就是让我愣住的地方。
技术上它是怎么做到的? 这块可能有点硬,但我尽量说人话。
VibeVoice的核心创新是它的连续语音Tokenizer,帧率只有7.5Hz。
你可能不知道7.5Hz是什么概念。普通音频文件的采样率是44100Hz(44.1kHz),VibeVoice的Tokenizer每秒只输出7.5个"帧",相当于把原始音频压缩了3000多倍。
这差距也太大了对吧?
但这里的关键是,它不是简单的降采样,而是在做一种"语义压缩"。就像你读一本小说,记住的是情节而不是每个字,但VibeVoice在音频上做类似的事情,它提取的是音频里的核心语义信息,同时保留足够的声学细节让你听起来是自然的。
它的Tokenizer分两层:一个是声学分词器,负责保留音质;一个是语义分词器,负责理解语义。两者配合,既不丢失音质,又大幅提升效率。
这样做的好处是什么呢?
你想,语音信号的信息密度其实是很低的,你说话的时候有很多冗余。传统的方式直接处理原始音频,计算量巨大但效率很低。VibeVoice用Tokenizer把音频压缩成更高效的表示,然后在这些表示上做生成和推理,最后再用扩散模型把表示变回音频。
整个框架叫做next-token diffusion,简单说就是用语言模型的方式做语音生成,但加了一个扩散头来保证音质。
所以它能同时利用到大语言模型在语义理解上的优势,又能生成高质量的音频。
这里有一个很妙的点就是7.5Hz意味着什么。
相比原始音频的24000Hz采样率,这个数字小了将近3200倍。推理效率的提升就不用我多说了吧。
我看到GitHub上有很多人在讨论它的用法。
有人用它来做会议记录助手,丢进去一小时的会议录音,出来就是整理好的会议纪要,谁说了什么、什么时候说的、结论是什么,都给你标得清清楚楚。
有人用它来做多语言播客的自动翻译,不仅能把语音转成文字,还能保留说话人的音色和说话风格。
有人拿它来做儿童故事机,就是我一开始想做的那个,给孩子讲睡前故事,还能跟孩子对话。
还有人更骚,把它接到了具身智能的机器人上,让机器人能听能说能理解。
但我自己最期待的一个方向是本地部署的隐私保护AI助手。
你想想,现在很多语音助手都是云端处理的,你说的每一句话都会被传到服务器上,你敢跟它说点私密的事情吗?
但如果这个模型能跑在本地手机上,你的数据完全不用离开你的设备,那很多场景就不一样了。
比如你可以有一个只属于你自己的AI日记本,你跟它说话它帮你记录、分析、给建议,但你的数据只有你自己知道。
或者老年人用的陪伴机器人,能听懂方言、能自然对话、还能记住你的习惯,但所有数据都存在本地儿女不用担心隐私问题。
这些场景在VibeVoice之前成本和门槛都很高。现在有了这个开源模型,很多开发者就能站在这个肩膀上做出更多东西。
当然它也有局限。比如实时合成模型目前延迟是200毫秒左右,虽然已经很快了但离真正的无缝对话还有点距离。比如长文本的TTS已经被移除了,原因我前面说了,负责任的做法,但你要是真的需要这个能力就得另想办法。
而且这种技术确实有被滥用的风险。AI伪造声音这事儿现在已经不新鲜了,想想看如果有人拿这种模型去诈骗、去做假新闻,成本比以前低太多了。
微软也在文档里特别强调了这一点,说希望大家负责任地使用,不要用于欺骗和误导。这话说得没毛病,但光靠呼吁能起多大作用我也说不好。
如果你对语音AI这个方向感兴趣,真的建议你去GitHub上把VibeVoice跑一遍,链接我放最后了。哪怕你不想做产品,光是体验一下什么叫"让机器听懂人说话"这个过程本身也挺有意思的。
地址:https://github.com/microsoft/VibeVoice
豫公网安备41010702003375号