语音识别的概念和前世今生

article/2025/11/8 15:32:27

最近在学习语音识别的一些知识,做了一些笔记,这篇文章讲讲语音识别的发展,以及相关的几个容易混淆的概念。

 

语音识别的背景

从物理声音被转换为电信号,再通过模数转换器转换为数据。一旦被数字化,就可适用若干种模型。语音识别的技术,就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的技术。

 

发展阶段

50年代:贝尔实验室开始语音识别的研究,主要研究基于简单的孤立词的语音识别系统。实现针对特定说话人的十个英文数字的孤立词语音识别系统。

60年代:出现三个关键的技术,提出一种时间规整的机制,采用动态规划算法实现动态时间规整DTW技术,利用音素动态跟踪的方法进行连续语音识别的开创性工作。为语音识别的后来发展奠定了基础。

70年代:语音识别技术快速发展的时期。实现大规模语音识别,大词汇量,孤立词识别。

80年代:基于隐马尔科夫模型的声学建模和基于n.gram的语言模型。尝试大词汇量、非特定人连续语音识别。

90年代:语音识别技术基本成熟的时期,基于GMM-HMM的语音识别框架得到广泛使用和研究。

20年代初期:语音识别并没有得到非常好的应用,因为系统的错误率还很高。2006年开始再度兴起。

 

学科基础

通信基础知识和信号处理、声学基本知识和特征、概率论和信息论、统计学、机器学习等等。

 

相关概念

语音识别

简称ASR(Automatic,Speech,Recognition),将声学语音进行分析,并得到对应的文字或拼音信息。

自然语言处理

简称NLP(Neuro-linguistic programming),用于将用户的语音转换为结构化的、机器可以理解的语言。

语音唤醒

简称KWS(keyword spotting),技术通过在设备或软件中预置唤醒词,当用户发出该语音指令时,设备便从休眠状态中被唤醒,并响应指令。

语音合成

简称TTS(Text To Speech),即将文本转换成语音,实现让机器说话。

声纹识别

简称VPR(Voice Print Recognition),根据说话人的声波特性进行身份辨识的服务,是生物识别技术的一种。

 

区别与联系

应用场景的区别

语音识别、声纹识别、自然语言处理,以及语音合成四者的目的和应用场景是不同的。

类型

简称

目的

应用场景

语音识别

ASR

语音——》文字

生成字幕、智慧会场、语音唤醒、智能客服

声纹识别

VPR

识别说话人的身份

身份认证、公安刑侦

语音唤醒

KWS

语音——》指令

小度音箱、小爱音箱

语音合成

TTS

文字——》语音

智能音箱

语言处理

NLP

语音——》语言

同声翻译、自动阅卷

以小米音箱为例(来自MTSC大会上小米工程师的分享)。

 

在四个阶段里,输入和输出分别是下方的内容:

阶段

唤醒KWS

语音识别ASR

语音处理NLP

语音播报TTS

IN

关键字语音

用户指令语音

用户指令文字

播报文字

OUT

是否唤醒

文字

应对处理+播报文字

播报语音

示例

小爱同学

回复我在

现在几点了

Domin:time

Intention:current time

To_speek:现在时间是九点

播放MP3音频:现在时间是九点

出于保护用户隐私和减少误识别两个因素的考虑,智能音箱一般在检测到唤醒词之后,才会开始进一步的复杂信号处理(声源定位、波束形成)和后续的语音交互过程。

一般而言,唤醒模块是一个小型语音识别引擎。由于语音唤醒的目标单一(检测出指定的唤醒词),唤醒只需要较小的声学模型和语言模型来区分出有无唤醒词出现),声学评分和解码可以很快,空间占用少,能够在本地实时。

所以讲到这里,亚马逊的音响半夜突然启动和开始说话,就不奇怪了~

 

语音识别与声纹识别的区别

最多人容易将语音识别和声纹识别混淆。

声纹识别和语音识别在原理上一样,都是通过对采集到的语音信号进行分析和处理,提取相应的特征或建立相应的模型,然后据此做出判断。但语音识别是从不同人的词语信号中寻找共同因素,声纹识别是通过语音波形中反映说话人生理和行为特征的语音参数。

声纹识别一般会连接到公安部的声纹数据库,鉴别人的身份。所承载的功能特点和人脸识别是一样的,都是为了证明,“你是张三,还是李四”。所以声纹识别不注重语音信号的语义,而是从语音信号中提取个人声纹特征,挖掘出包含在语音信号中的个性因素。

 

语音识别的分类

按使用范围分类

从语音识别的使用范围分类,可分为封闭域识别和开放域识别,具体概念及优劣如下方表格:

范围

概念

算法

应用场景

提供形式

封闭域识别

以预先指定的字/词集合为识别范围,对范围之外的语音会拒识

声学模型和语言模型进行裁剪,使得识别引擎的运算量变小

不涉及到多轮交互和多种语义说法的场景。

如电视盒子,智能音箱

一般将引擎封到嵌入式芯片或者本地化的SDK中,从而使识别过程完全脱离云端,摆脱对网络的依赖,并且不会影响识别率

开放域识别

无需预先指定识别词集合,在整个语言大集合范围中进行识别

声学模型和语音模型一般都比较大,引擎运算量也较大

实时性要求不高的客服语音质检,录制完的视频转字幕配置等。如会议字幕系统

基本上都只以云端形式提供(云端包括公有云形式和私有云形式),依赖于网络

按识别对象分类

根据识别的对象不同,语音识别任务大体可分为三类,孤立词识别、关键词识别、连续语音识别。

范围

概念

应用场景

孤立词识别

识别事先已知的孤立的词

如“开机”、“关机”等

关键词识别

检测针对的是连续语音,但它并不识别全部文字,而只是检测已知的若干关键词在何处出现

如在一段话中检测“计算机”、“世界”这两个词

连续语音识别

识别任意的连续语音,

如一个句子或一段话

按发音人分类

根据发音人,可以把语音识别技术分为特定人语音识别和非特定人语音识别。

特定人语音识别(SD)只能识别一个或几个人的语音。

非特定人语音识别(SI)可以被任何人使用系统,更符合实际需要,但要比针对特定人的识别困难得多。


http://chatgpt.dhexx.cn/article/4TlgAocI.shtml

相关文章

基于嵌入式Linux的语音识别系统硬软件设计

该设计运用三星公司的S3C2440,结合ICRoute公司的高性能语音识别芯片LD3320,进行了语音识别系统的硬件和软件设计。在嵌入式Linux操作系统下,运用多进程机制完成了对语音识别芯片、超声波测距和云台的控制,并将语音识别技术应用于多角度超声波测距系统中。通过测试,系统可以…

语音识别 平常笔记

Voice Recognition 2021年3月21日 HowardXue 语音模型发展:模板匹配(DTW) -> 统计模型(GMM高斯-HMM隐马) -> 深度学习(DNN-HMM,E2E) 音频编码:常用格式PCM的wav格式 语音采…

《嵌入式 - 语音识别TWen-ASR-ONE开发笔记》第1章 TWen-ASR-ONE简介

1.1 ASR-ONE概述 ASR-ONE是一颗专用于语音处理的人工智能芯片, 可广泛应用于家电、 家居、 照明、 玩具等产品领域, 实现语音交互及控制。开发板板载一颗 RGB 灯,引出 26 个 IO,外接喇叭和麦克风,用于快速验证语音产品…

语音识别技术基础知识

语音识别技术 让机器通过识别和理解过程把语音信号转变为相应的文本或命令的技术。 语音识别本质上是一种模式识别的过程,未知语音的模式与已知语音的参考模式逐一进行比较,最佳匹配的参考模式被作为识别结果。 语音识别的目的就是让机器赋予人的听觉特性…

语音识别模块

语音识别模块,是一种嵌入式语言识别模块,是将人类语音中的词语转换成计算机可读,与主芯片进行通讯,语音模块嵌入到智能化产品中,可以实现人机语音交互。 在炎热的夏季空调是不可少的,但在使用中我们可能会遇…

嵌入式端音频开发(基础篇)之2021-2022年国内主流语音识别芯片科普(1)

前言 为什么写这边文章?作为开发过不少语音在线识别和离线识别不少产品的嵌入式软件工程师来说,有不少同事和粉丝对于嵌入式端语音开发,经常问我:怎么做?怎么选芯片?有哪些厂家有芯片可以选择? …

《嵌入式 - 语音识别TWen-ASR-ONE开发笔记》第5章 TWen-ASR-ONE 串口使用

5.1 TWen-ASR-ONE 串口简介 关于串口我这里就不再赘述了,我相信搞过嵌入式的朋友经常会用到。 笔者这里简单介绍下TWen-ASR-ONE 串口。 TWen-ASR-ONE 开发板两路串口:串口0和串口1。串口0引脚是固定在P1_7、P2_0,而串口1可以设置在P0_5、P…

Android导航语音识别——读后听写语音识别(嵌入式)

嵌入式项目之Android语音识别——读后听写语音识别(语音识别功能主函数调用) 文章目录 前言一、代码示例二、代码分析 1.创建 SpeechSynthesizer 对象2.设置合成参数3.开始合成4.设置合成状态监听器5.五个speakText类函数的作用总结 前言 最近在学习嵌入…

嵌入式语音识别智能家居笔记1

1.环境 VMware 15.5 Ubuntu18.04 Qt安装包 2.共享目录设置 VMware->虚拟机->设置->选项->共享文件夹 3. QT的linux安装包:qt-opensource-linux-x64-5.9.1.run 复制到共享目录 打开终端: cd /mnt/hgfs/share sudo ./qt-opensour…

嵌入式语音识别系统之电路设计原理

现在社会发展的这么快,什么高科技都涌现出来,什么智能机器人啦,智能手机等,有很多在这里就不一一列举了,在这里我们要说的就是语音识别系统了,现在嵌入式产品如此的多,就像一些智能空调啦&#…

我们基于kaldi开发的嵌入式语音识别系统升级成深度学习啦

先前的文章《三个小白是如何在三个月内搭一个基于kaldi的嵌入式在线语音识别系统的 》说我们花了不到三个月的时间搭了一个基于kaldi的嵌入式语音识别系统,不过它是基于传统的GMM-HMM的,是给我们练手用的,通过搭这个系统我们累积了一定的语音…

三个小白是如何在三个月内搭一个基于kaldi的嵌入式在线语音识别系统的

前面的博客里说过最近几个月我从传统语音(语音通信)切到了智能语音(语音识别)。刚开始是学语音识别领域的基础知识,学了后把自己学到的写了PPT给组内同学做了presentation(语音识别传统方法(GMMHMMNGRAM)概…

【毕业设计】基于stm32的语音识别 - 单片机 嵌入式 物联网 语音识别

文章目录 0 简介1 项目目标2 项目背景意义3 需求分析3.1 功能性需求3.2 非功能性需求 4 设备器件4.1 STM32单片机4.2 LD3320语音识别芯片4.3 TFT-LCD液晶显示屏 5 设计方案6 语音识别模块的开发7 报警电路模块的开发8 上位机模块的开发9 项目成果9 最后 0 简介 Hi,…

基于80251的嵌入式语音识别

一、文档介绍 嵌入式语音识别技术在251内核的实现。 缩写、术语 解 释 Specific Person Isolated Word Speech Recognition 特定人孤立词语音识别 Endpoint detection 端点检测 Feature parameter extraction 特征参数提取 DTW (Dynamic Time Warping) 动态时间规整…

嵌入式linux 声控,基于Cortex-A9的嵌入式语音识别系统设计

打开文本图片集 摘 要:在人工智能技术发展的进程中,语音识别已经成为重要分支之一。语音识别技术作为人与机器的一种交互方式,将前端处理之后的信号转换成文本或者指令,进而用于控制相关智能设备。当前,基于深度学习的云端语音识别技术已经逐渐成熟,但考虑到离线设备无法…

《嵌入式 - 语音识别TWen-ASR-ONE开发笔记》第3章 TWen-ASR-ONE 多线程和消息队列

3.1 Scratch简介 在开始本章之前,需要介绍下TWen-ASR-ONE的用户开发语言-Scratch,Scratch是麻省理工学院开发的一款简易图形化编程工具主要是为青少年开发的一种编程工具,它图形化编程工具当中最广为人知的一种形式,所有人都可以…

Android导航语音识别——语音听写(嵌入式)

嵌入式项目之Android导航语音识别——语音听写 文章目录 系列文章目录前言一、原理流程图二、语音听写 1.初始化无ui识别听写2.设置识别监听器3.启动功能总结 前言 最近在学习嵌入式系统的一个功能——导航语音识别,该功能是基于Android和科大讯飞语音识别语音合成…

static的三个作用

static作用 一、修饰局部变量-静态局部变量二、修饰全局变量-静态全局变量三、修饰函数-静态函数四、总结和注意点 一、修饰局部变量-静态局部变量 static修饰局部变量时,改变了变量的生命周期,让静态局部变量出了作用域依然存在,到程序结束&…

java中的静态变量的作用域_详解JAVA中static的作用

1、深度总结 引用一位网友的话,说的非常好,如果别人问你static的作用;如果你说静态修饰 类的属性 和 类的方法 别人认为你是合格的;如果是说 可以构成 静态代码块,那别人认为你还可以; 如果你说可以构成 静态内部类, 那别人认为你不错;如果你说了静态导包,那别人认为你…

express.static 作用及用法

express相信是很多人用nodejs搭建服务器的首选框架,相关教程有很多,也教会了大家来如何使用。如果你想更深的了解他的细节,不妨和我一起来研究一下。 先来看一个每个人都用到的方法app.use(express.static(__dirname/public)); 你肯定在你的a…