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

news2025/1/14 1:21:11

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客户端。
下节课,我们将实现“视频一键生成字幕”功能的第二步——音频获取与参数设置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1691306.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python使用pymysql操作数据库

大家好,当涉及到与数据库进行交互和操作时,Python的pymysql库是一个常用且功能强大的选择。pymysql提供了与MySQL数据库的连接、查询、插入、更新和删除等操作的方法,使得在Python中进行数据库操作变得简单而高效。 1、安装 pymysql 库 在开…

python判断字符串是否为回文串的详细解析与实现

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:回文串的定义与背景 二、判断回文串的基本思路 示例解析 三、代码实…

LabVIEW和ZigBee无线温湿度监测

LabVIEW和ZigBee无线温湿度监测 随着物联网技术的迅速发展,温湿度数据的远程无线监测在农业大棚、仓库和其他需环境控制的场所变得日益重要。开发了一种基于LabVIEW和ZigBee技术的多区域无线温湿度监测系统。系统通过DHT11传感器收集温湿度数据,利用Zig…

【ARK Survival Evolved】方舟:生存进化一键使用服务器开服联机教程

1、进入控制面板 2、第一次购买服务器会安装游戏端,大约5分钟左右,如果长时间处于安装状态请联系客服 3、设置游戏端口 方舟生存进化的设置需要三个端口,它们用于游戏端口(必须为首选端口),查询端口&#…

html5 笔记02

目录 01 svg的基本使用 02 svg绘图 03 进程和线程 01 svg的基本使用 svg和canvas的区别: canvas: 1.canvas作为一个容器只有一个dom元素 ,内部元素无法使用dom操作 (canvas不能展开然后选择不到 svg查看元素能选中因为是通过标签控制的) 2.canvas 是配合js完成各种绘制效果 …

【学习笔记】Webpack5(Ⅱ)

Webpack 3、高级篇 3.1、提升开发体验 —— SourceMap 3.2、提升打包速度 3.2.1 HotModuleReplacement 3.2.2 OneOf 3.2.3 Include / Exclude 3.2.4 Cache 3.2.5 Thread 3.3、减少代码体积 …

iMX6ULL 嵌入式linux开发 | 4G无线广播终端实现方案介绍

现有的有线广播,如村上的大喇叭,需要布线,施工麻烦。借助现有的4G网络,传输音频流完全没问题,4G网络结合流媒体技术和MQTT消息传递实现设备间的同步推拉流。这种方案可以避免有线布线的麻烦,同时实现4G无线…

Spark在YARN上运行图解(资源调度+任务调度)及案例

前提:已经安装了spark集群,可参考上篇文章搭建:http://t.csdnimg.cn/UXBOp 一、Spark集群配置YARN 1、增加hadoop 配置文件地址 vim spark-env.sh 增加export HADOOP_CONF_DIR/usr/local/soft/hadoop-3.1.1/etc/hadoop 2、关闭虚拟内存 cd …

DMR对讲机数字协议详解

一、概述 DMR数字对讲机协议是欧洲电信标准协会在2005年4月推出的数字对讲机标准,后来又进行了多次修改。最新版本DMR数字对讲机协议是2007年12月公布的,共有四部分:第一部分为空中接口物理层和数据链路层协议,第二部分为空中接口…

【Unity AR开发插件】四、制作热更数据-AR图片识别场景

专栏 本专栏将介绍如何使用这个支持热更的AR开发插件,快速地开发AR应用。 链接: Unity开发AR系列 插件简介 通过热更技术实现动态地加载AR场景,简化了AR开发流程,让用户可更多地关注Unity场景内容的制作。 “EnvInstaller…”支…

牛客网刷题 | BC93 公务员面试

目前主要分为三个专栏,后续还会添加: 专栏如下: C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读! 初来乍到,如有错误请指出,感谢! 描述 公务员面试现场打分…

【安装笔记-20240520-Windows-在 QEMU 中尝试运行 OpenWRT】

安装笔记-系列文章目录 安装笔记-20240520-Windows-在 QEMU 中尝试运行 OpenWRT 文章目录 安装笔记-系列文章目录安装笔记-20240520-Windows-在 QEMU 中尝试运行 OpenWRT 前言一、软件介绍名称:OpenWRT主页官方介绍 二、安装步骤测试版本:openwrt-23.05…

C语言在VS中使用scanf报错?

我们在使用VS时,用scanf函数,VS会报以下错误: 以下是解决方法: 来到输出窗口,复制以下语句:_CRT_SECURE_NO_WARNINGS 第一种暂时方法 1.在代码的第一行,写下:#define _CRT_SECURE_…

vuejs路由和组件系统

前端路由原理 createRouter * hash* window.addEventListener(hashChange)* 两种实现路由切换的模式:UI组件(router-link,router-view),Api(push()方法) * history * HTML5新增的API &#xff0…

2024年电工杯A题论文首发+摘要分享+问题一代码分享

问题一论文代码链接:https://pan.baidu.com/s/1kDV0DgSK3E4dv8Y6x7LExA 提取码:sxjm --来自百度网盘超级会员V5的分享 园区微电网风光储协调优化配置 摘要:园区微电网由风光发电和主电网联合为负荷供电,为了尽量提高风光电量的…

机器人运动轨迹学习——GMM/GMR算法

机器人运动轨迹学习——GMM/GMR算法 前置知识 GMM的英文全称为:Gaussian mixture model,即高斯混合模型,也就是说,它是由多个高斯模型进行混合的结果:当然,这里的混合是带有权重概念的。 一维高斯分布 GMM中…

鸿蒙布局List简介

鸿蒙布局List简介 List--常见的布局容器List 创建方式创建方式一,通过Listitem创建方式二,通过ForEach和Listitem创建方式三,通过ListItemGroup List–常见的布局容器 List是在app开发中最常见的一种布局方式,例如通讯录、新闻列…

Vue3实现简单的瀑布流效果,可抽离成组件直接使用

先来看下效果图: 瀑布流中的内容可进行自定义,这里的示例图是通过不同背景颜色的展示进行区分,每个瀑布流中添加了自定义图片和文字描述。 实现方式: 1.建立子组件(可单独抽离)写出瀑布流的样式 文件名为…

远程桌面连接不上远程服务器,如何有效的解决远程桌面连接不上远程服务器的问题

在解决远程桌面连接不上远程服务器的问题时,我们需要采取一种专业且系统的方法来排查和修复可能存在的故障。以下是一些建议和步骤,帮助用户更有效地解决此类问题。 首先,用户需要确认远程服务器的状态和网络连接是否正常。 这包括检查服务器…

51汇编版--配套proteus仿真

代码配套的仿真,我自己试过是好使的,外部中断,计数功能要自己添加脉冲信号或按键才能有对应现象,自己搞一下子。 不限速下载链接 https://wwo.lanzoul.com/iQ46m1zm456j 密码:g92f 如果连接不正常,请尝试将lanzoul的…