本文作者为 360 奇舞团前端开发工程师
为什么要介绍语音交互技术?过去,人们与设备或程序交互时,本质上是将用户的操作通过规范转化为机器码的形式与系统沟通。用户清楚自己是在与程序互动,并没有得到与“图灵人”的交互体验。
然而,随着AI和大语言模型(LLM)的快速发展,用户在使用文本与这些系统的交互时,开始感受到LLM系统的强大,其可以理解和输出自然语言文本,已经没有了传统程序交互的僵化感,甚至体验到了与真人在进行交流的感觉。
语音作为人与人交流时最直接的交流方式,人们也期望与AI交互时也可以使用语音进行交流。这使得语音交互技术变得越来越重要。语音交互能让用户更自然地与AI沟通,提供更贴近“真人”对话的体验。拟人化的互动体验是AI发展过程中不可或缺的。
另一方面,近期,OpenAI发布realtime API
[1]
,支持实时语音对话的功能。微软发布新版 Copilot
[2]
,推出了
Copilot Voice
功能,是ChatGPT高级语音的微软版本。从这些AI头部公司的动向看出,语音交互越来越受到AI公司的重视。
通过下文,我们了解一下什么是语音交互,都有什么组成,当前阶段语音交互的发展趋势以及其优势和劣势,最后展望一下未来的发展趋势。本文定位是一篇内容普及性质的文章,不会涉及过多的技术细节,如果想要了解技术细节,可以参考文章中推荐的链接资料或者查看其他的语音交互技术的详细资料。
1. 什么是语音交互
1) 语音交互的组成
语音交互是一种允许用户通过语音命令与设备或系统进行互动的技术。它结合了多种关键技术,使得人与机器之间的沟通更加自然和高效。以下是语音交互的三大核心组件:
-
自动语音识别(ASR, Automatic Speech Recognition)
ASR技术能够将用户的语音信号转换为文本。它通过分析声波、识别音素并匹配词汇,实现对语音的理解。ASR的准确性受到发音、口音和环境噪声等因素的影响。相当于人的耳朵。也有文章会描述这一过程为STT(Speech to Text),语音到文本转换。
-
自然语言处理(NLP, Natural Language Processing)
NLP使计算机能够理解和处理人类语言。通过解析用户输入的文本,NLP技术能够识别意图、提取关键信息,并生成适当的响应。这使得语音交互不仅限于简单的命令,而可以进行更复杂的对话。相当于人的大脑。
-
语音合成(TTS, Text-to-Speech)
TTS技术能够将文本信息转换为听起来自然流畅的语音。通过调整语调、语速和音色,TTS使得机器可以与用户进行流畅的语音交流,增强用户体验。相当于人的嘴巴。
这三种技术的结合,使得语音交互系统能够实现从语音输入到语音输出的完整过程,从而提升了人与设备之间的互动效率和自然性。
他们之间的关系如下图所示:
下面我们就分别介绍一下每个模块:
2) 语音识别(ASR)
ASR是一个声学信号转换成文本信息的过程。整个识别的过程如下图所示:
特征提取
(信号处理):第一步是从输入音频中提取有用的音频特征,并且忽略噪声以及其他不相关信息。梅尔频率倒谱系数 (MFCC) 技术能够在频谱图或梅尔频谱图中捕捉音频频谱特征。
声学模型
:将频谱图传递给基于深度学习的声学模型,以便预测每个时间步的字符概率。
解码
:解码器和语言模型根据上下文将字符转换为单词序列。这些单词可以进一步缓冲为短语和句子,并进行适当分段,然后再发送至下一阶段。
这是一个简单的模型介绍,详细介绍请查看语音识别ASR背后的原理
[3]
。
3)自然语言处理(NLP)
NLP是语音交互中最核心,也是最难的模块。
NLP主要涉及的技术有:文本预处理、词法分析、句法分析、语义理解、分词、文本分类、文本相似度处理、情感倾向分析、文本生成等等。但不局限于这些,涉及的技术比较多,且比较复杂。
NLP 的工作原理大致可以分为两个关键步骤:理解和生成。理解是 NLP 的初始阶段,包括几个子过程。分词化是第一个子流程,涉及将输入分解为单独的单词或分词。接下来是句法分析,其中算法确定句子结构并识别语法规则,同时确定每个单词的作用。这种理解通过语义分析得到进一步丰富,语义分析为单词分配上下文含义。在这个阶段,算法理解句子的整体含义。
NLP 的后续阶段是 生成,其中根据获得的理解生成响应。它利用上下文知识来构建相关的句子或命令。然后,此响应从机器语言转换回自然语言,确保用户仍可理解。
让我们考虑一个例子来理解这个过程:
想象一下,你的智能手机上有一个虚拟助手,你问它:“今天的天气怎么样?NLP 算法首先进入理解阶段。它将你的输入分解成标记或单个单词,识别出你正在询问天气。然后,它执行句法分析以了解句子结构并确定每个单词的作用。它认识到“天气”是主题,而“今天”是时期。
了解输入后,NLP 算法进入生成阶段。它利用获得的上下文知识来构建相关的响应。在上面的示例中,它检索当天的天气信息,并构建如下响应:“今天的天气晴朗,最高气温为 25 摄氏度。最后,响应从机器语言转换回自然语言,确保作为用户的您可以理解它。
4)语音合成(TTS)
TTS(text-to-speech)是指输入文本生成语音的过程。
语音合成流水线包含:文本前端(Text Frontend) 、声学模型(Acoustic Model) 和 声码器(Vocoder) 三个主要模块。
通过文本前端模块将原始文本转换为字符/音素;通过声学模型将字符/音素转换为声学特征,如线性频谱图、mel 频谱图、LPC 特征等;通过声码器将声学特征转换为波形。
对TTS的详细介绍请查看一文了解语音合成技术(TTS)
[4]
、TTS语音相关知识总结
[5]
。
2.语音交互模型的发展
我们通过上文大体了解了基础的语音交互模型的构成,下面我们看一下较前沿的语音交互模型的发展阶段是什么样了。
美东时间9月24日,OpenAI宣布,ChatGPT 高级语音模式Advanced Voice将面向ChatGPT Plus 和 Team 计划的付费用户推出。听到这个消息,会不会会有疑问呢,之前app使用ChatGPT-4o时,有语音交互的功能呀,为什么又会有一个高语音模式呢?
其实,之前ChatGPT-4o提供的语音交互的功能,你在使用时,是不是感觉到交互体验不好呢?需要双方一句一句的进行对话,在对方说话时没法打断。并且延时比较高,没有人与人流畅对话时的那种体验。
其实之前ChatGPT-4o的语音交互功能是使用上面介绍的
ASR-NLP-TTS
(下称GPT4-o v1)这种模式来实现的。当你说一句话时,需要经过ASR-NLP-TTS这三个模型来一次处理,然后ChatGPT返回语音输出。这个过程中的延时是比较高的。
高级语音模式是一种
端到端
(end-to-end)的语音模型(下称GPT4-o v2)。这个语音模型不是由三个模型拼接成的,是一个完整的模型,语音输入语音输出,不存在中间模型数据传输的时延问题。并且这个模型输入的是语音,能够从语音中获取到说话人的语气、情绪和周边环境声等各种信息。所以使用这种新的端到端语音模型能够有更低的延时,能感受到说话人的情感,能够被随时打断等各种优点。
两种语音交互模型的对比:
1) 优缺点分析
(1)
ASR-NLP-TTS 模型
:
-
优点:
a:灵活性强,可根据需求选择最佳的 ASR 和 TTS 技术。
b:在复杂的任务(如多意图理解)上表现出色。
-
缺点:
a:响应时间较长,因数据需在多个模块间传递。
b:系统复杂性高,需要更多的集成和维护工作。
(2)
端到端(end-to-end)模型
:
-
优点:
a:减少了响应延迟,适合实时交互。
b:利用深度学习技术,生成文本的上下文理解能力更为优秀。
-
缺点:
a:可解释性较差,难以理解模型决策的原因。
b:在特定任务上表现可能不如经过专门优化的模块化系统。
2) 适用场景
-
ASR-NLP-TTS 模型
:更适合复杂的对话系统、客服应用和医疗记录等需要深入理解用户意图的场景。
-
端到端模型
:适用于需要快速响应的应用,如实时翻译、语音助手和简单的交互任务。
相关开源模型推荐:
ChatGPT的语音模型是闭源的,如果我们想要实现自己的语音交互模型,可以参考一下现在的开源语音交互模型的实现。下面我只列举一些我接触过的模型以供参考。
1)ASR模型:Whisper
[6]
、SenseVoice
[7]
,这两个都是现在性能较好的开源ASR模型,能够实现高效的语音识别。
2)中文TTS模型:GPT-SoVITS
[8]
、ChatTTS
[9]
、CosyVoice
[10]
、FireRedTTS
[11]
、F5-TTS
[12]
,这3个是最近体验下来效果比较好的中文TTS模型。其中GPT-SoVITS和CosyVoice支持自己训练微调模型。
3)speech-to-speech
[13]
:该项目通过将
VAD
、
STT
(原理同ASR)、
LLM
、
TTS
串联,模拟实现了GPT4-o v1的语音交互能力,其中VAD是语音活动检测模块。虽然延时有点高,但是替换为自己需要的SST、LLM、TTS,也是一个不错的尝试。
4)moshi
[14]
:是法国初创公司 Kyutai 推出的一种新的原生语音 AI 模型,想要提供与GPT-4o 类似的体验,它可以理解说话人的语气并且可以被打断。这是一个
端到端
的语音交互模型,不支持中文,支持英文,虽然交互效果还有点不尽如人意,但是是一个好的尝试。
5)LLaMA-Omni
[15]
:是中科院推出的基于Llama-3.1-8B-Instruct构建的低延迟、高质量的端到端语音交互模型,旨在实现GPT-4o级别的语音能力。LLaMA-Omni的核心特性在于其能够实时接收语音指令并同时生成文本和语音响应,响应延迟低至226毫秒。是一个实现
端到端
语音模型的尝试,还不支持中文。
使用上面的ASR模型和中文TTS模型,再串联上LLM模型,就可以实现自己的语音交互模型,可以参考speech-to-speech的实现方式。moshi和LLaMa-Omni提供了端到端的语音交互模型的实现方式,需要端到端语音交互能力的可以参考这两个项目。
3.语音交互的优势和劣势
接下来,让我们来了解一下,语音交互相比于传统的交互有哪些优势和劣势。通过这些,便于我们分析产品中使用语音交互技术的场景。
优势
1)
信息传递效率高
:语音输入速度显著高于键盘输入,特别在复杂查询和跨空间操作中表现优异。例如,用户可以快速进行电影搜索或智能家居控制。2)
解放双手和双眼
:语音交互让用户可以腾出双手和双眼来处理其他任务。例如,在车载场景中通过语音点播音乐,在医疗场景中医生可以一边与患者沟通,一边记录病历。
3)
使用门槛低
:语音交互对非文字使用者非常友好,特别是对老人、小孩和视力障碍者。由于语音是人类最早的交流方式,语音交互让更多人能够轻松参与。此外,语音交互在简单场景中比界面交互更自然,学习成本低。
4)
传递声学信息
:通过声纹识别,可以判断身份、性别、年龄和情绪等信息,从而提高效率。同时,声音能够传递情感,这在需要情感交流的场合下特别有价值。
劣势:
1)
信息接收效率低
:语音输出是线性的,用户需要等全部内容说完才能理解,而不像文字可以快速浏览。这在面临多项选择时增加了记忆负担,视觉传递的信息效率更高,因此语音交互在单向指令中更有效,而在双向交互中效率较低。
2)
嘈杂环境下语音识别精度降低
:语音识别需要清晰的人声,嘈杂环境会导致人声提取困难。尽管当前使用麦克风阵列和相关算法进行优化,但在嘈杂环境下,识别准确率仍可能下降。例如,在安静环境下可达到95%的准确率,而在嘈杂环境下可能仅为80%左右。随着技术进步,这一问题有望逐步改善。
3)
公开环境下语音交互具有心理负担
:用户在公开场合对机器说话时可能感到心理障碍,难以预设反应。这种不确定性使得许多用户不愿意进行语音交互,因为他们担心机器可能会给出毫无感情或错误的回应。
4)
交互方式受限
:语音交互虽具优势,但依然无法完全取代按压交互。尽管从按压交互到语音交互经历了几百年,但按压交互依旧常见。语音交互的最大问题在于精准度不够,受到环境影响及表达方式的多样性,导致语音识别的准确率降低。此外,某些场合(如会议或家人休息时)并不适合使用语音交互。
综上所述,语音交互技术在提高效率和无障碍访问等方面具有明显优势,但也面临信息接收效率、环境噪声、心理负担及精准度等挑战。由于语音交互的优缺点同样突出,它最终无法取代其他交互模式,因此多种交互方式将长期并存。结合实际场景,充分发挥语音交互的优势,将是未来发展的关键。
4.未来的发展趋势
语音交互作为一种自然的交互方式,未来将超越单纯的语音识别,朝着更智能、更拟人化的方向发展。这种演进不仅仅是让模型听懂人类语言,还要让模型像人一样“理解”和“感知”用户的情绪、意图,并做出更人性化的反应。
趋势1:拟人化交互体验
未来的语音交互将更加拟人化,不仅能听懂指令,还能根据用户的声纹特征分析出情绪和身份。这意味着设备可以通过语音识别出说话人的身份、性别、年龄,甚至情绪,并根据这些信息调整回应方式,使交互更加个性化和自然。
趋势2:低延时与打断功能
未来的语音交互系统将追求
低延时
的实时响应,以提升用户体验。此外,交互过程中用户可以随时打断语音输出,发出新的指令,而不必等待系统结束当前输出。这将使语音交互更加灵活,贴近人类对话中的自然中断和调整,让用户获得更流畅的交互体验。
趋势3:复杂环境中的识别能力
未来的语音交互还将具备更强的抗噪能力,能够在嘈杂或复杂的环境中分辨出特定的说话人。通过声纹识别,设备可以从多个声音源中提取出目标声音,保证即使在多人对话的情况下,也能够精确捕捉和识别出用户的语音指令。
趋势4:多模态交互