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

news/2024/9/19 13:53:12/ 标签: 人工智能, python, 自然语言处理

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.ppmy.cn/news/1462768.html

相关文章

Innodb Buffer Pool缓存机制(一)一条sql的执行过程

思维导图 石墨文档:https://shimo.im/mindmaps/NJkbnZV0ePINXzkR 一、SQL的执行 执行过程: 加载缓存数据,加载id为1的记录所在的整页数据(相当于索引树的一个结点,16KB);写入更新数据的旧值到…

JavaWeb-02:XML的学习

XML: 学习地址:https://www.w3school.com.cn/xml/index.asp XML的用处? XML(可扩展标记语言)是一种标记语言,用于标记文档的结构以及存储和传输数据。它被广泛用于各种应用中,包括但不限于&a…

[emailprotected](2)核心概念-JSX

目录 1,什么是 jsx2,空标签3,通过大括号使用 js4,防止注入攻击5,元素的不可变性 官方文档 1,什么是 jsx Facebook 起草的 js 扩展语法。本质上是 js 对象,会被 babel 编译,最终转换…

Java方法的基本用法

Java方法的基本用法 前言一、什么是方法方法存在的意义示例 二、方法定义语法基本语法代码示例注意事项 三、方法调用的执行过程基本规则代码示例计算两个整数相加计算 1! 2! 3! 4! 5! 四、实参和形参的关系代码示例交换两个整型变量原因分析解决办法 五、没有返回值的方法…

gpt-4o考场安排

说明 :经过多次交互,前后花了几个小时,总算完成了基本功能。如果做到按不同层次分配考场,一键出打印结果就完美了。如果不想看中间“艰苦”的过程,请直接跳到“最后结果”及“食用方法”。中间过程还省略了一部分交互&…

第十六讲:数据在内存中的存储

第十六讲:数据在内存中的存储 1.整数在内存中的存储1.1存储方式1.2大小端字节序1.3大小端字节序排序规则1.4为什么要有大小端1.5练习1.5.1练习11.5.2练习21.5.3练习31.5.4练习41.5.5练习51.5.6练习61.5.7练习7 2.浮点数在内存中的存储2.1练习2.2浮点数的存储2.3浮点…

Nginx将https重定向为http进行访问的配置(附Demo)

目录 前言1. Demo2. 彩蛋前言 对应nginx的基本知识推荐阅读: Nginx配置静态网页访问(图文界面)Nginx从入门到精通(全)java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)由于网站默认无配置https,但输入网址的时候浏览器默认带https,导致网页一直无法访问…

JS逆向之企名科技

文章目录 初步分析定位js编写完整代码参考文献初步分析 目标网址:企名科技 抓包分析,发现是post请求 请求代码如下: #!/usr/bin/env python3 # -*- coding: utf-8 -*- import requestsheaders = {Connection:

AI崛起,掌握它,开启智能新生活!

AI崛起,掌握它,开启智能新生活! 😄生命不息,写作不止 🔥 继续踏上学习之路,学之分享笔记 👊 总有一天我也能像各位大佬一样 🏆 博客首页 怒放吧德德 To记录领地 &…

c#实现视频播放

在winform上实现视频播放常用的控件时media player,vs工具栏初始状态下没有,需要我们到com组件中添加。添加完成后,把media player控件拖拽到一个Form窗口中。 在此实现遍历某个文件夹下是否有mp4视频,如果有则播放视频。&#x…

vue3之使用图片实现类似于 el-radio 的单选框功能,并且可实现选中和取消选中

背景 我们在工作中常用的一般都是使用类似于 element-plus 中的 el-radio 或者是 el-checkbox 来实现单选或者多选 若有一天我们遇到了一个新的业务需求,需要使用 图片 来实现类似于 el-radio 的功能,并且要求实现第一次点击时处于选中状态,当我们再次点击时处于非选中状态…

双非本科,逆袭中大厂的 Java 学习路线

从零基础入门 Java,到最后秋招上岸,笔者也是花费了不少的经历,也走了很多弯路。这一篇文章会记录下真正有用的学习路线。 为什么要强调真正有用?网上的很多所谓从入门到求职,推荐的路线都超级长,零基础的同…

mysql相关知识总结

目录 1.建表2.添加字段3.修改字段类型4.添加索引5.遇到的问题 1.建表 CREATE TABLE test.table_test ( id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键id, day date DEFAULT NULL COMMENT 日期, show_cnt bigint(20) DEFAULT 0 COMMENT 曝光次数, play_time do…

小程序视频怎么保存到本地相册

在快节奏的生活中,小程序已成为我们获取信息和娱乐的重要渠道。但当您遇到那些精彩绝伦的小程序视频,是否曾想过如何将它们保存到本地相册,以便随时回味?无论您是安卓用户还是iPhone用户,本文将为您揭秘如何轻松实现这…

XH连接器>KH-XH-5A-Z

品  牌: kinghelm(金航标) 厂家型号: KH-XH-5A-Z 封装: 插件,P2.5mm 商品毛重: 0.429克(g) 包装方式: 袋装

深度学习500问——Chapter09:图像分割(5)

文章目录 9.12 DenseNet 9.13 图像分割的数据集 9.13.1 PASCAL VOC 9.13.2 MS COCO 9.13.3 Cityscapes 9.14 全景分割 9.12 DenseNet 这篇论文是CVPR2017年的最佳论文。 卷积神经网络结构的设计主要朝着两个方向发展,一个是更宽的网络(代表&#xff1a…

“高考钉子户”唐尚珺决定再战2024年高考

“高考钉子户”唐尚珺决定在2024年再次参加高考,这个选择确实很特别也很有趣。十几年连续参加高考,他已经积累了大量的备考经验和应试技巧。这样的经验对于高考辅导机构来说无疑是非常宝贵的资源,他如果选择去辅导机构当老师,应该…

微软必应全球宕机事件分析及其对ChatGPT、Copilot等服务的影响

微软必应全球宕机事件分析及其对ChatGPT、Copilot等服务的影响 一、引言 在数字化时代,云计算和在线服务已成为人们日常生活和工作不可或缺的一部分。然而,当这些服务遭遇故障或宕机时,其影响范围往往远超出人们的想象。近期,微…

Prometheus监控平台配置--监控mysql

上一篇中讲述了怎么安装Prometheus,然后对服务器集群资源信息进行监控并通过grafana展示监控信息,在这一篇中我们只讲和mysql相关的监控,关于prometheus的监控原理以及安装可以看下上一篇。 1.上传 通过rz命令将安装包上传到任意目录&#xf…

分布式数据库HBase入门指南

目录 概述 HBase 的主要特点包括: HBase 的典型应用场景包括: 访问接口 1. Java API: 2. REST API: 3. Thrift API: 4. 其他访问接口: HBase 数据模型 概述 该模型具有以下特点: 1. 面向列: 2. 多维: 3. 稀疏: 数据存储: 数据访问: HBase 的数据模型…