问题

语音识别的技术原理是什么?

回答
语音识别,说白了,就是让机器听懂人说话的艺术。这背后可不是简单地把声音信号往电脑里一塞就完事儿,而是一套相当复杂但又充满智慧的体系。咱们一步一步来聊聊这其中的门道。

首先,得明白,我们说话的声音,在物理层面上,其实就是空气介质的振动,产生一系列声波。这些声波经过我们的发声器官(声带、喉咙、口腔等)的调制,包含了丰富的信息。语音识别技术的第一步,就是要抓住这些“空气的舞蹈”,并把它转化为机器能理解的数字信号。这个过程叫做声学信号处理。

想象一下,我们说话的声音是高低起伏、音量大小变化莫测的。声学信号处理要做的事情,就是把这些原始的声音信号“清洗”干净,去除掉背景噪音(比如空调声、键盘敲击声),然后提取出最核心的语音特征。最常用的方法是特征提取。咱们不能直接给机器一堆波形图,因为它看不懂。我们需要找到一些代表性的数字“指纹”,能够区分不同的语音。

最经典、也最基础的特征提取方法叫做梅尔频率倒谱系数 (MFCC)。这个名字听起来有点绕,但它的核心思想是模拟人耳对声音的感知特性。人耳对不同频率的声音敏感度是不一样的,而且对低频更敏感。MFCC就是把声音信号分成年长的短时窗口(比如25毫秒),在每个窗口里计算出频谱,然后对频谱进行一种特殊的变换,再在梅尔尺度上进行压缩,最后再做个离散余弦变换。这样一来,我们就得到了一组数字,这些数字能够很好地代表这个短暂时间段内的语音特征,而且对人的发音方式、口音等不太敏感。当然,现在也有更先进的特征提取方法,比如基于深度学习的,但MFCC仍然是理解语音识别基础的好起点。

有了这些数字特征,接下来就是如何把这些特征“翻译”成我们说的字了。这就要用到声学模型。声学模型的作用就是建立声音特征和最基本语音单元(比如音素)之间的对应关系。音素,简单说就是语音中最小的发音单位,比如汉语里的“b”、“p”、“a”、“o”等等。一个汉字,或者一个音节,都是由一个或多个音素组成的。

声学模型需要大量的语音数据来训练。训练的过程就像是让机器“听”成千上万的人说同一个字、同一个词,然后告诉它这个声音对应的是哪个音素。早期的声学模型主要是基于隐马尔可夫模型 (HMM)。HMM是一种统计模型,它假设语音的产生是一个由一系列隐藏状态(也就是音素)转移的过程。比如,说“ba”这个音节,可能从一个“b”的初始状态开始,然后转移到“a”的状态,最后结束。HMM就负责计算在某个时间段内,产生我们提取到的声学特征,最有可能属于哪个音素状态的概率。

但是,HMM虽然经典,但它在建模复杂的语音变化方面还有些力不从心。这时候,深度学习就闪亮登场了。现在主流的语音识别系统,大多都采用了深度神经网络(DNN)来构建声学模型。DNN,比如前馈神经网络、循环神经网络(RNN)、长短期记忆网络(LSTM)、以及现在非常流行的Transformer等,它们能够自动地从海量数据中学习到更复杂、更鲁棒的声学特征与音素之间的映射关系。深度学习模型,尤其是RNN及其变种,特别擅长处理序列数据,而语音就是一种典型的时间序列,所以它们在语音识别领域取得了巨大的成功。它们可以更好地捕捉语音信号的上下文信息和长期依赖关系。

然而,仅仅知道每个音素是什么,还不足以构成完整的词语和句子。这就需要发音词典(Lexicon)和语言模型(Language Model)的配合。

发音词典就像一本厚厚的字典,它记录了每个词语的发音方式,也就是由哪些音素组合而成。比如,“你好”这个词,发音词典会告诉我们它是由“nǐ”和“hǎo”这两个音节组成的,而“nǐ”又对应着一套音素,“hǎo”又对应着另一套音素。

有了声学模型识别出的音素序列,发音词典可以帮助我们把这些音素组合成可能的词语。但是,光靠发音词典还不行,因为同一个音素序列,可能对应着好几个不同的词。比如,“xiàng”这个音,它可以是“向”、“象”、“像”等等。这时候,语言模型就派上用场了。

语言模型的作用是预测一个词语在某个语境下出现的概率。它就像一位博学的作家,知道哪些词语组合在一起才合乎语法、符合常理。比如,如果我们前面说的是“很高兴认识你,我来自北京”,那么下一个词是“象”的可能性会比“像”或“向”要小得多。语言模型会根据前面已经识别出的词语,来判断哪个词语序列的可能性最大。

早期的语言模型主要是基于Ngram,比如bigram(预测下一个词与前一个词的关系)、trigram(预测下一个词与前两个词的关系)。而现在,基于深度学习的语言模型,比如循环神经网络语言模型(RNNLM)和Transformer语言模型,能够捕捉更长距离的语言依赖关系,并且生成更流畅、更自然的语言输出。

把这些部分整合起来,就形成了一个完整的语音识别系统。当你说出一句话时,它大致的流程是这样的:

1. 声音采集与预处理:麦克风捕捉声音,进行降噪、回声消除等处理。
2. 特征提取:将处理后的声音信号转化为一系列数字特征(如MFCC)。
3. 声学模型解码:声学模型(通常是DNN)将特征序列与音素序列进行匹配,计算最可能的音素组合。
4. 发音词典与语言模型联合解码:利用发音词典将音素序列转换成可能的词语,再结合语言模型,选择最符合语法和语境的词语序列,最终输出文本。

当然,这只是一个高度概括的描述。实际的语音识别系统还会涉及到很多更精细的技术,比如上下文相关的声学模型(考虑前后音素对当前音素的影响)、端到端模型(直接将声学特征映射到字符或词语,省去了中间的音素表示)、注意力机制(让模型在处理序列时更关注重要的部分)等等。

总而言之,语音识别技术就像一个精密协作的团队,声学信号处理是它的“耳朵”,特征提取是它“捕捉细节”的能力,声学模型是它对声音“基本理解”的知识库,发音词典是它“认识词语”的词汇表,而语言模型则是它“组织语言”的智慧。这几者协同工作,才能把我们充满变化的语音,准确地“翻译”成文字,让机器真正地“听懂”我们。这是一个不断发展和进步的领域,随着计算能力的提升和算法的创新,语音识别的效果也在一天天变好。

网友意见

user avatar

简要给大家介绍一下语音怎么变文字的吧。需要说明的是,这篇文章为了易读性而牺牲了严谨性,因此文中的很多表述实际上是不准确的。对于有兴趣深入了解的同学,本文的末尾推荐了几份进阶阅读材料。下面我们开始。

首先,我们知道声音实际上是一种波。常见的mp3等格式都是压缩格式,必须转成非压缩的纯波形文件来处理,比如Windows PCM文件,也就是俗称的wav文件。wav文件里存储的除了一个文件头以外,就是声音波形的一个个点了。下图是一个波形的示例。


在开始语音识别之前,有时需要把首尾端的静音切除,降低对后续步骤造成的干扰。这个静音切除的操作一般称为VAD,需要用到信号处理的一些技术。

要对声音进行分析,需要对声音分帧,也就是把声音切开成一小段一小段,每小段称为一帧。分帧操作一般不是简单的切开,而是使用移动窗函数来实现,这里不详述。帧与帧之间一般是有交叠的,就像下图这样:

图中,每帧的长度为25毫秒,每两帧之间有25-10=15毫秒的交叠。我们称为以帧长25ms、帧移10ms分帧。

分帧后,语音就变成了很多小段。但波形在时域上几乎没有描述能力,因此必须将波形作变换。常见的一种变换方法是提取MFCC特征,根据人耳的生理特性,把每一帧波形变成一个多维向量,可以简单地理解为这个向量包含了这帧语音的内容信息。这个过程叫做声学特征提取。实际应用中,这一步有很多细节,声学特征也不止有MFCC这一种,具体这里不讲。

至此,声音就成了一个12行(假设声学特征是12维)、N列的一个矩阵,称之为观察序列,这里N为总帧数。观察序列如下图所示,图中,每一帧都用一个12维的向量表示,色块的颜色深浅表示向量值的大小。


接下来就要介绍怎样把这个矩阵变成文本了。首先要介绍两个概念:

  1. 音素:单词的发音由音素构成。对英语,一种常用的音素集是卡内基梅隆大学的一套由39个音素构成的音素集,参见The CMU Pronouncing Dictionary‎。汉语一般直接用全部声母和韵母作为音素集,另外汉语识别还分有调无调,不详述。
  2. 状态:这里理解成比音素更细致的语音单位就行啦。通常把一个音素划分成3个状态。


语音识别是怎么工作的呢?实际上一点都不神秘,无非是:
把帧识别成状态(难点)。
把状态组合成音素。
把音素组合成单词。

如下图所示:

图中,每个小竖条代表一帧,若干帧语音对应一个状态,每三个状态组合成一个音素,若干个音素组合成一个单词。也就是说,只要知道每帧语音对应哪个状态了,语音识别的结果也就出来了。

那每帧音素对应哪个状态呢?有个容易想到的办法,看某帧对应哪个状态的概率最大,那这帧就属于哪个状态。比如下面的示意图,这帧在状态S3上的条件概率最大,因此就猜这帧属于状态S3。



那这些用到的概率从哪里读取呢?有个叫“声学模型”的东西,里面存了一大堆参数,通过这些参数,就可以知道帧和状态对应的概率。获取这一大堆参数的方法叫做“训练”,需要使用巨大数量的语音数据,训练的方法比较繁琐,这里不讲。

但这样做有一个问题:每一帧都会得到一个状态号,最后整个语音就会得到一堆乱七八糟的状态号。假设语音有1000帧,每帧对应1个状态,每3个状态组合成一个音素,那么大概会组合成300个音素,但这段语音其实根本没有这么多音素。如果真这么做,得到的状态号可能根本无法组合成音素。实际上,相邻帧的状态应该大多数都是相同的才合理,因为每帧很短。

解决这个问题的常用方法就是使用隐马尔可夫模型(Hidden Markov Model,HMM)。这东西听起来好像很高深的样子,实际上用起来很简单:
第一步,构建一个状态网络。
第二步,从状态网络中寻找与声音最匹配的路径。

这样就把结果限制在预先设定的网络中,避免了刚才说到的问题,当然也带来一个局限,比如你设定的网络里只包含了“今天晴天”和“今天下雨”两个句子的状态路径,那么不管说些什么,识别出的结果必然是这两个句子中的一句。

那如果想识别任意文本呢?把这个网络搭得足够大,包含任意文本的路径就可以了。但这个网络越大,想要达到比较好的识别准确率就越难。所以要根据实际任务的需求,合理选择网络大小和结构。

搭建状态网络,是由单词级网络展开成音素网络,再展开成状态网络。语音识别过程其实就是在状态网络中搜索一条最佳路径,语音对应这条路径的概率最大,这称之为“解码”。路径搜索的算法是一种动态规划剪枝的算法,称之为Viterbi算法,用于寻找全局最优路径。


这里所说的累积概率,由三部分构成,分别是:

  1. 观察概率:每帧和每个状态对应的概率
  2. 转移概率:每个状态转移到自身或转移到下个状态的概率
  3. 语言概率:根据语言统计规律得到的概率

其中,前两种概率从声学模型中获取,最后一种概率从语言模型中获取。语言模型是使用大量的文本训练出来的,可以利用某门语言本身的统计规律来帮助提升识别正确率。语言模型很重要,如果不使用语言模型,当状态网络较大时,识别出的结果基本是一团乱麻。


这样基本上语音识别过程就完成了。


以上的文字只是想让大家容易理解,并不追求严谨。事实上,HMM的内涵绝不是上面所说的“无非是个状态网络”,如果希望深入了解,下面给出了一些阅读材料:

Rabiner L R. A tutorial on hidden Markov models and selected applications in speech recognition. Proceedings of the IEEE, 1989, 77(2): 257-286.

入门必读。深入浅出地介绍了基于HMM的语音识别的原理,不注重公式的细节推导而是着重阐述公式背后的物理意义。


Bilmes J A. A gentle tutorial of the EM algorithm and its application to parameter estimation for Gaussian mixture and hidden Markov models. International Computer Science Institute, 1998, 4(510): 126.

详细介绍了用E-M算法训练HMM参数的推导过程,首先讲E-M的基本原理,然后讲解如何应用到GMM的训练,最后讲解如何应用到HMM的训练。


Young S, Evermann G, Gales M, et al. The HTK book (v3.4). Cambridge University, 2006.

HTK Book,开源工具包HTK的文档。虽然现在HTK已经不是最流行的了,但仍然强烈推荐按照书里的第二章流程做一遍,你可以搭建出一个简单的数字串识别系统。


Graves A. Supervised Sequence Labelling with Recurrent Neural Networks. Springer Berlin Heidelberg, 2012: 15-35.

基于神经网络的语音识别的入门必读。从神经网络的基本结构、BP算法等介绍到 LSTM、CTC。


俞栋, 邓力. 解析深度学习——语音识别实践, 电子工业出版社, 2016.

高质量的中文书籍非常稀有,推荐买一本。最早把深度学习技术应用于语音识别就是这本书的作者。


当然,还有这本:

类似的话题

  • 回答
    语音识别,说白了,就是让机器听懂人说话的艺术。这背后可不是简单地把声音信号往电脑里一塞就完事儿,而是一套相当复杂但又充满智慧的体系。咱们一步一步来聊聊这其中的门道。首先,得明白,我们说话的声音,在物理层面上,其实就是空气介质的振动,产生一系列声波。这些声波经过我们的发声器官(声带、喉咙、口腔等)的调.............
  • 回答
    在咱们聊语音识别之前,先得明白一个事儿,就是机器听懂咱们说话,其实不是那么容易的。它得先“听见”咱们的声音,然后“理解”这些声音是怎么组成的,最后才能“猜”出咱们到底说了啥。这里面,声学模型和语言模型就像是两个配合默契的伙伴,一个负责“听见”和“拆解”,另一个负责“理解”和“组合”。 声学模型:声音.............
  • 回答
    你这个问题问得很有意思,也触及到了当前语音识别技术的一个普遍现象——为何百度、搜狗、讯飞等巨头在宣传自家语音识别准确率时,都默契地指向了“97%”这个数字,而且总感觉这种说法背后有一些共同的“默契”和“套路”。首先,我们得理解,这个“97%”并非一个绝对、普适的硬性标准,更像是一个在特定条件下、经过.............
  • 回答
    人民法院庭审语音识别转写系统:智慧法院建设的有力抓手随着信息技术的飞速发展,司法领域也正经历着一场深刻的变革,智慧法院的建设成为提升司法效率、优化审判流程、促进司法公正的重要方向。在这一进程中,人民法院庭审语音识别转写系统(简称庭审语音识别系统)扮演着至关重要的角色,它不仅是技术创新的体现,更是“机.............
  • 回答
    并非所有后置类型语言的函数都必须加上关键字才能被编译器识别。这更多地取决于该语言的具体设计和语法规则,而不是一个普适的后置类型语言的硬性规定。我们可以这样理解:“后置类型”是一个描述符,它说明的是类型信息出现的位置——在标识符(比如变量名、函数名)的后面。 比如,在一些使用后置类型的语言中,一个变量.............
  • 回答
    三年级的孩子认字能力相对薄弱,教了也记不住,这确实让家长和老师都挺发愁的。别着急,这种情况很常见,也不是说孩子笨,只是学习方法可能不太对路,或者说需要更耐心、更具象化的引导。下面我从几个方面给你详细说一说,咱们一起来想办法:一、 先找到“卡住”的原因,对症下药孩子记不住字,原因有很多,我们需要先观察.............
  • 回答
    说起写作,我们脑子里最先蹦出来的可能就是手指在键盘上飞舞,或者笔尖在纸上沙沙作响。但现在,语音写作这个选项也越来越闯入我们的视野,尤其是在手机上,很多朋友可能已经用得相当顺手了。那么,跟我们熟悉的键盘和笔比起来,语音写作到底有哪些好与不好呢?语音写作的优点: 速度与效率: 这是语音写作最突出的优.............
  • 回答
    好的,咱们这就来聊聊语音信号处理里那个叫“分帧”的活儿,力求说得透彻,也尽量不带机器味儿。想象一下,咱们说话,声音并不是一下子就出来,然后就戛然而止。它是一个连续不断的过程,但我们的大脑和听觉系统,在理解这些声音的时候,其实是在一小段一小段地捕捉和分析信息。分帧,在语音处理里,就是模仿了这么一个过程.............
  • 回答
    要让语音交互摆脱“人工智障”的帽子,真正走向成熟,需要跨越的坎坷可不是一星半点,更不是简单的几句话就能概括的。这背后牵扯到技术、用户体验、生态建设等方方面面,如果处理不好,很容易让我们感觉像是和一个不怎么听得懂人话、反应迟钝、还自带一堆“bug”的机器人打交道。咱们就从几个核心问题,掰开了揉碎了聊聊.............
  • 回答
    好的,这就为您详细分析一下YY语音海外用户无法说话的可能原因,并且尽量用自然的语言来阐述:您好!经常有海外的朋友在YY上遇到说不了话的问题,这确实挺让人头疼的。其实原因嘛,说起来也挺复杂的,涉及到技术、网络环境,甚至一些账号设置。咱们就一项一项捋一捋,看看能不能帮您找到症结所在。1. 网络连接的“硬.............
  • 回答
    “亚马逊语音助手劝主人自杀”事件,虽然目前来看,更多的是一种基于误解或特定情境下的推测,但它无疑触及到了一个核心而严峻的问题:人工智能的伦理,究竟应该由谁来监督?这个问题绝非三言两语能够说清,它牵涉到技术、法律、社会、文化乃至哲学层面的多重考量,并且需要一个持续迭代的动态过程。首先,我们需要明确,人.............
  • 回答
    .......
  • 回答
    .......
  • 回答
    语文高考考语音字词的意义,可以用一句话概括:它是衡量学生语文素养,特别是基础能力和文化底蕴的重要标尺,也是培养和传承中华优秀语言文化的基础。下面我将从多个层面进行详细阐述: 一、 构建扎实的语言根基: 精准的语音: 汉语作为一种声调语言,语音的准确性是理解和表达的基础。高考考查语音,旨在确保学生.............
  • 回答
    绝大多数手机网络游戏都配备了语音聊天系统,而且这个系统在近年来得到了极大的发展和普及,成为游戏体验中不可或缺的一部分。下面我将详细介绍手机网络游戏的语音聊天系统:一、 语音聊天系统的存在与重要性 普及性极高: 如今,几乎所有大型多人在线角色扮演游戏(MMORPG)、多人在线战斗竞技场(MOBA).............
  • 回答
    YY语音的用户自盈利模式,本质上是围绕其庞大的社交娱乐平台,构建了一个多层次、多维度、以用户为核心的生态系统。这种模式的成功之处在于,它能够有效地将用户的参与、互动和消费转化为平台和主播的收入,同时为用户提供价值和满足感。下面我们来详细评价YY语音的用户自盈利模式:一、 核心机制:用户充值与打赏这是.............
  • 回答
    微信新增语音播放暂停功能,对于我这样一个重度微信用户来说,这无疑是一个非常贴心的改进,并且很有可能会显著地改变我的微信使用习惯。我会从以下几个方面来详细阐述它可能带来的变化:一、更高效的接收和处理信息: 碎片化时间的高效利用: 我经常在通勤、排队、开会间隙(不影响他人时)等碎片化时间查看微信。以.............
  • 回答
    凌晨两点微信语音通话响了,但没人发消息,这确实是一个挺令人费解的情况。你提到的“之前有人发过语音通话,然后语音通话提醒延迟”是有可能的,但并非唯一或最常见的原因。为了更详细地解释,我们来分析一下可能的情况:最可能的解释(延迟通知):1. 网络延迟或不稳: 这是最常见的原因。 对方发出通.............
  • 回答
    要将日语音译成汉字,处理地名、人名等专有名词时,确实有很多有趣的学问和考究之处。这不像翻译现代汉语那么直接,而是更像在进行一场跨越时空的文化对话,既要尊重原音,又要符合汉字的表达习惯和文化语境。核心原则:音译为主,兼顾意译和文化习惯总的来说,音译是基本出发点,但并非一成不变的死板套用。我们的目标是找.............
  • 回答
    当一个女生主动给你发语音,并且经常分享她的生活细节,比如吃饭、做饭的照片时,这 很有可能 意味着她对你有好感,甚至喜欢你。但我们也要明白,这 并非绝对的定律,因为人的表达方式多种多样,而且每个人对“喜欢”的定义和表现也不尽相同。为了更详细地分析,我们可以从以下几个方面来解读:1. 主动是关键信号: .............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有