【class14】人工智能初步之语音识别

class14

从本节课开始,我们将一起踏入语音识别的世界,学习这些知识点,为自己的视频匹配上字幕:
1. 语音识别
2. 采样率
3. 创建语音识别应用
4. 创建语音识别SDK客户端

人类的自然语言可分为两种形态:
1.语音;2.文字。
机器通过对人类语音进行理解和处理,得到正确的文字信息就是语音识别最基本的任务!

了解了语音识别的目的和任务之后,一个典型的语音识别系统也就可以得到了:
语音通过语音识别模型,语音识别模型输出一段文字。这样从语音转化为文字,也就是语音识别的基本目的。

                  

应用场景

语音识别常用的应用场景主要包括4类:
1. 语音搜索
2. 语音指令
3. 社交聊天
4. 休闲娱乐
接下来,我们看下每类的简单介绍吧!

1.语音搜索

搜索内容直接以语音的方式输入,应用于网页搜索、车载搜索、手机搜索等各种搜索场景。
解放双手让搜索更加高效,广泛适用于视频网站、智能硬件、手机厂商等多个行业 。

2.语音指令

无需手动操作,可以通过语音直接对设备或者软件发布指令,控制操作,适用于智能硬件、车载系统、智能机器人等领域。
比如,常用的语音助手Siri和智能机器人小爱同学就使用了语音识别技术。

3.社交聊天

社交聊天时直接用语音输入的方式转成文字,让输入更加便捷。
或者在收到语音消息不适合播放时可以转为文字进行查看,满足更多的聊天场景。

4.休闲娱乐

游戏中聊天必不可少,双手无法打字,语音输入可以将语音聊天转为文字。
让我们在操作的同时也可直观看到聊天内容,多样化满足我们的聊天需求。

语音识别

语音识别简称ASR技术(Automatic Speech Recognition),它是以语音为研究对象,让机器通过识别和理解过程把语音转变为相应的文本或命令的技术。
语音识别的目的也就是让机器逐字逐句“听懂”人类口述的语言并转化成书面语言文字。

我们在图像识别项目中了解了图像对于电脑来说就是一堆死板的数字; 同样的,语音对于计算机来说亦是如此。
但是,语音是以声波的形式进行传播的。我们如何将声波转化为电脑能理解的数字呢?

以图中的声波信号为例,为要将这个声波转化为数字,我们可以将波段放入到坐标系中,然后分两步实现转化数字:
1. 打点
2. 取值

  

取值

将这些采样点的纵轴值按照时间顺序取出,组成数字序列。这个数字序列就是计算机所能理解的数字信息了。

一般来说,每秒钟提取16000 个采样点才能够覆盖人类语音的频率范围。
也就是说短短一秒钟的声音信号至少需要由16000个数字组成,才能进行更完整的保留信息。
这就得到语音中的一个基础概念--采样率。

看看我们人类自身是怎么对语音进行识别的:
与计算机只能理解数字不同,人类通过耳朵接收声音,大脑对声音进行理解分析,最后得出接受到声音的意思。在这个过程中,耳朵就相当于声音的接收端,大脑相当于GPU,对声音进行处理,最终得出一个判定的结果。

与图像识别类似,人类对自己熟悉的语言,理解起来很简单,遇到不熟悉的语言,理解起来就比较困难了。
那么对于机器来说,是如何理解并准确识别语音的呢?

我们知道电脑只能对数字进行处理分析,语音识别模型的输入和输出没有我们想象的那么简单:输入和输出不一定是简单的语音和文字。接下来我们学习,语音识别系统可能的输入和输出方式。

输入方式

1.直接输入
将声音信号采样后,得到的一串数据,组成数据向量。
这串采样所得的数据可以直接作为模型的输入。

2.声学特征

传统的语音识别系统更多的采用声学特征作为模型输入,而不是直接输入语音数据。
声学特征听起来很复杂,其实就是将我们采样所得数据进行了一定的数学运算!
目的就是为了突出语音的特证,让机器更好听懂和理解。

输出方式

1.音位(发音的基本单位)
在深度学习没有流行之前,以音位为输出是很常见的,因为音位和声音的对应关系比较强,机器更好理解。
那输出是一系列音位,怎么变成我们能看懂的文字呢?

这时候我们需要一个字典,这个字典由语言学家帮忙制作,记录了不同音位组合对应的字。
比如,音位字典告诉电脑,cat由K、AE、T三个音位组成,遇到这三个音位组合时,就输出cat这个单词
电脑通过查找音位字典的方式,就能将输出音位“翻译”成了我们能够看得懂的文字。

  1. 字位(书写的基本单位)
    对于英文来说,书写的基本单位就是字母,包括26个字母;
    对于中文来说,书写的基本单位就是单个汉字,包括所有给定的单字,比如新华字典中8500左右个单字。

对于字位输出,相较于音位来说,理解起来就更加简单:
英文的字位输出由字母、空格和标点符号组成;
中文的字位输出由单个汉字组成,和英文区别在于没有空格。
比如,cat的语音输入到语音识别模型,就可以直接到cat这个单词了。

随着深度学习的发展,深度学习技术也为语音识别提供了新的方案。深度学习在语音识别中的应用,使得语音识别系统模型的识别能力更为强大,直接以音频输入,以字位输出的识别系统逐渐成为主流

从输入和输出来看语音识别不是那么容易实现。比如,一段60s的音频(采样率为16kHz)就包含60*16000=960000个数据点,若是时间再长点数据量就更大了。数据量增大意味着对机器的运算能力要求更高。

利用第三方接口,即API,能够让我们更简单的实现语音识别。
将接入「百度智能云语音识别服务」,创建语音识别客户端分为两步实现:
STEP1. 创建语音识别应用
STEP2. 创建语音识别SDK客户端
接下来,实现第一步—— 创建语音识别应用。

具体步骤:

1.登录百度账号

前面学习和调用了百度API接口,在这里我们依旧选择百度智能云平台。
通过登陆百度个人账号进入
百度智能云平台 

                     

2.创建应用

进入百度智能云平台后,创建一个语音识别的应用。点击【创建应用】按钮,进入创建语音识别应用页面。

进入语音识别【创建应用】页面,按照以下五步完成创建:
1. 设置应用名称;
2. 领取接口的免费额度;
3. 应用归属选择个人;
4. 简单描述应用;
5. 点击【立即创建】。
注意:接下来,对第2步详细说明一下。

在领取免费接口额度时,点击全部,领取语音识别全部免费接口额度。
点击切换至语音合成,领取语音合成全部免费接口额度,为语音的第二个项目做准备!

查看密钥与文档

创建成功后,通过【查看应用详情】可以获得该接口的访问密钥
通过【查看文档】可以获得该接口的官方使用说明文档。

查看应用详情

通过查看应用详情可以查看接口的访问密钥:
拿到了接口的访问密钥后,就可以创建属于自己的语音识别SDK客户端啦~

AipSpeech是语音识别的Python SDK客户端,为使用语音识别的开发人员提供了一系列的交互方法。
只要安装了baidu-aip,即可使用。

接下来,实现第二步—— 创建语音识别SDK客户端
导入AipSpeech类,并创建语音识别的Python SDK客户端——AipSpeech
注意:这里的APP_ID、API_KEY和SERCET_KEY三个变量后的字符串在本地运行时替换成自己账号的访问密钥!

# 使用from...import从aip中导入AipSpeech

from aip import AipSpeech

# 存储访问密钥信息,包括客户端ID、API接口验证序号和API接口密钥

APP_ID = "10252021"

API_KEY = "ZHe7788sh11GEjIAdEKeY"

SECRET_KEY = "JMMzHe7788BUSH1ZhEnM1YUEhh"

# 传入密钥创建AipSpeech客户端,并将结果存储在client中

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

# 输出查看创建的client对象

print(client)

本节课,我们学习了:
语音识别的相关概念知识,并通过代码创建了语音识别SDK客户端。
下节课,我们将实现“视频一键生成字幕”功能的第二步——音频获取与参数设置。

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Matlab中进行语音识别,可以利用软件强大的功能进行界面设计和仿真,以实现对语音信号的处理和识别。语音识别可以按说话人的讲话方式分为孤立词识别和连续语音识别两类。孤立词识别是指识别事先已知的孤立的词,例如“开机”、“关机”等。而连续语音识别则是识别任意的连续语音,如一个句子或一段话。此外,语音识别还可以用于语者识别,即根据说话人的语音信号来判别说话人的身份。通过分析语音信号的个人特征,可以实现对说话人的身份识别。语音识别作为一种非接触性的生物识别技术,在实际应用中具有广泛的前景和应用需求。它涉及到声学、语言学、计算机、信息处理和人工智能等多个领域的研究,可以应用于远程验证、客户服务等场景。在进行语音识别时,提取语音信号的关键成分非常重要。好的特征参数能直接影响辨别的准确性。因此,在使用Matlab进行语音识别时,可以利用其丰富的功能进行信号处理和特征提取,以提高识别的准确性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [基于Matlab的语音信号处理](https://blog.csdn.net/m0_59833680/article/details/119908124)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [matlab语音识别系统](https://blog.csdn.net/yl624624/article/details/119966265)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值