语音识别(录音与语音播报)

语音识别(录音与语音播报)

简介

语音识别人工智能技术的应用领域非常广泛,常见的应用系统有:语音输入系统,相对于键盘输入方法,它更符合人的日常习惯,也更自然、更高效;语音控制系统,即用语音来控制设备的运行,相对于手动控制来说更加快捷、方便,可以用在诸如工业控制、语音拨号系统、智能家电、声控智能玩具等许多领域。

​ 语音识别简单来说就是利用计算机语音信号自动转换为文本的一项技术,语音识别技术拆分下来,主要可分为”输入—编码—解码—输出”四个流程。在语音识别中,设备首先收集目标语音,然后对收集到的语音进行一系列处理,得到目标语音的特征信息。这些特征信息包括声学特征和语言特征。声学特征是指语音信号的频谱、功率谱、倒谱等,而语言特征则是指语音信号中的文本内容。接下来,系统会将这些特征信息与数据库中已存数据进行相似度搜索比对,评分高者即为识别结果。

​ 语音识别的原理是将一段语音信号转换成相对应的文本信息,系统主要包含特征提取、声学模型、语言模型以及字典与解码四大部分。其中为了更有效地提取特征往往还需要对所采集到的声音信号进行滤波、分帧等预处理工作,把要分析的信号从原始信号中提取出来;之后,特征提取工作将声音信号从时域转换到频域,为声学模型提供合适的特征向量;声学模型中再根据声学特征性计算每一个特征向量在声学特征上的得分;而语言模型则根据语言学相关的理论,计算该声音信号对应可能词组序列的概率;最后根据已有的字典,对词组序列进行解码,得到最后可能的文本表示。

​ 一般来说,语音识别的方法有三种:基于声道模型和语音知识的方法、模板匹配的方法以及利用人工神经网络的方法。

​ 其中,基于声道模型和语音知识的方法是最早被提出来的,它是通过对语音信号进行分析,提取出与语音信号相关的特征参数,然后将这些特征参数与声学模型相结合,从而实现语音识别。传统方法主要分两个阶段:训练和识别,训练阶段主要是生成声学模型和语言模型给识别阶段用。传统方法主要有五大模块组成,分别是特征提取(得到每帧的特征向量),声学模型(用GMM从帧的特征向量得到状态,再用HMM从状态得到音素)、发音字典(从音素得到单词)、语言模型(从单词得到句子)、搜索解码(根据声学模型、发音字典和语言模型得到最佳文本输出。

​ 模板匹配法是将待识别语音与已知的模板进行比较,从而找到最相似的模板,进而实现语音识别。模板匹配的方法是一种传统的语音识别方法,它是基于模板的匹配,即将语音信号与预先存储的模板进行比较,从而得到最佳匹配结果。模板匹配的方法主要分为两类:动态时间规整(DTW)和隐马尔可夫模型(HMM)。其中,DTW是一种基于时间对齐的方法,它可以将两个不同长度的语音信号进行对齐,然后计算它们之间的距离。HMM是一种基于状态转移的方法,它将语音信号建模为一个状态序列,并使用概率模型来描述状态之间的转移。

​ 深度学习的方法是一种新兴的语音识别方法,利用人工神经网络的方法是通过训练神经网络来实现语音识别,它主要是基于神经网络的模型,如卷积神经网络(CNN)、循环神经网络(RNN)和长短时记忆网络(LSTM)等。这些模型可以自动地从原始语音信号中提取特征,并将其转换为高级表示,然后使用这些表示来进行分类或回归。深度学习的方法已经在语音识别领域取得了很大的成功,它们通常比传统方法更准确,并且可以处理更复杂的任务。

实验平台

机器硬件:OriginBot(导航版/视觉版)
扩展硬件:语音扩展版
主机:电脑(Windows >10/ Ubuntu>20.04)

实现

硬件检测、普通录音及播放

​ 首先要确保安装tros和智能算法语音包

 
sudo apt update
sudo apt install tros-hobot-audio
 

​ 首先检测硬件环境,将旭日X3派与音频转接板、麦克风阵列拾音板接好之后上电使用如下指令可以检查设备的接入情况,若成功接好,默认可以在I2C上读取到三个地址。如下图:

 
rmmod es8156 
i2cdetect -r -y 0
 

I2C检测

若没检测到,请重新检查设备的连接。然后从TogetherROS的安装路径中拷贝出运行示例需要的配置文件。并且确认麦克风阵列类型,麦克风阵列类型通过配置文件config/audio_config.json中的mic_type字段设置,默认值为0,表示环形麦克风阵列。如果使用线形麦克风阵列,需要修改该字段为1。然后加载音频驱动,设备启动之后只需要加载一次,如果显示modprobe: FATAL: Module snd_card=5 not found。请忽略。

 
cd /userdata/dev_ws/
# 配置TogetheROS环境
source /opt/tros/setup.bash

# 从tros.b的安装路径中拷贝出运行示例需要的配置文件。
cp -r /opt/tros/lib/hobot_audio/config/ .

# 加载音频驱动,设备启动之后只需要加载一次
bash config/audio.sh
 

​ 加载驱动音频codec(编解码器)和x3音频框架驱动

 
sudo modprobe es7210
sudo modprobe es8156
sudo modprobe hobot-i2s-dma
sudo modprobe hobot-cpudai
sudo modprobe hobot-snd-7210 snd_card=5
 

​ 检测是否加载成功

 
ls /dev/snd
 

检测是否加载成功

然后就可以录音播放测试了

 
rm -rf *test.wav
 

采集4通道麦克风的录音5秒钟:

 
sudo tinycap ./4chn_test.wav -D 0 -d 0 -c 4 -b 16 -r 48000 -p 512 -n 4 -t 5
 

采集2通道麦克风的录音5秒钟:

 
sudo tinycap ./2chn_test.wav -D 0 -d 0 -c 2 -b 16 -r 48000 -p 512 -n 4 -t 5
 

可以使用音箱或者3.5mm接口耳塞接入位号U4的插口中听效果,也可以从系统中拉出音频文件至电脑中播放

 
sudo tinyplay ./2chn_test.wav -D 0 -d 1

 更多内容请参考:语音识别(录音与语音播放) - 古月居 (guyuehome.com)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

记录day1

1.早上 ①协同过滤算法 基于物品基于用户分别是如何实现的 相似度的计算方式 基于用户和基于物品的区别 实时性和新物品这里: 实时性指的是用户有新行为,这样基于物品就好,因为用户新行为了,用户矩阵不会变化,用户…

cron表达式使用手册

cron表达式 我们在使用定时调度任务的时候,最常用的就是cron表达式。通过cron表达式来指定任务在某个时间点或者周期性执行。 范围: 秒(0-59)(可选) 分(0-59) 时(0-…

从零实现诗词GPT大模型:数据集介绍和预处理

本章将介绍该系列文章中使用的数据集,并且编写预处理代码,处理成咱们需要的格式。 一、数据集介绍 咱们使用的数据集名称是chinese-poetry,是一个在github上开源的中文诗词数据集,根据仓库中readme.md中的介绍,该数据…

MySQL基础入门上篇

MySQL基础 介绍 mysql -uroot -p -h127.0.0.1 -P3306项目设计 具备数据库一定的设计能力和操作数据的能力。 数据库设计DDL 定义 操作 显示所有数据库 show databases;创建数据库 create database db02;数据库名唯一,不能重复。 查询是否创建成功 加入一些…

cesium orientation转换成HeadingPitchRoll

cesium中orientation可以设置朝向,由position和HeadingPitchRoll共同决定,类型为headingPitchRollQuaternion,值是一个四元数。 一、设置orientation // entity位置 let position Cesium.Cartesian3.fromDegrees(113.295660, 38.1905, 0);/…

SpringBoot项目接入Nacos注册中心

前置 已经安装好Nacos服务,并且该项目所在服务器可以访问到 可以参考下: windows环境安装Nacos单机版-CSDN博客 Centos7安装Nacos单机版-CSDN博客 1. POM文件引入依赖 注意,父工程已经引入spring cloud依赖管理的情况下不用添加版本号 …

C语言:约瑟夫环问题详解

前言 哈喽,宝子们!本期为大家带来一道C语言循环链表的经典算法题(约瑟夫环)。 目录 1.什么是约瑟夫环2.解决方案思路3.创建链表头结点4.创建循环链表5.删除链表6.完整代码实现 1.什么是约瑟夫环 据说著名历史学家Josephus有过以下…

【spring】AOP切面注解学习(二)

文接上篇&#xff1a;【spring】AOP切面注解学习&#xff08;一&#xff09; AOP切面注解测试示例代码 示例代码 一 maven的pom文件导入 <dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId></depende…

网站建设也会涉及商标侵权,需要注意些!

以前普推知产老杨碰到建站涉及知识产权侵权的&#xff0c;但是大多数是其它方面的&#xff0c;前几天看到某同行说由于给客户建设网站&#xff0c;由于网站名称涉及商标被起诉要索赔几十万。 当时同行给做网站时还看了下营业执照&#xff0c;上面的主体名称与网站名称也是一致…

深入OceanBase内部机制:多租户架构下的资源隔离实现精讲

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 目录 一、什么是OceanBase的多租户二、兼容模式2.1 MySQL 模式2.2 Oracle 模式 三、租户介绍3.1 系统租户3.2 用户租户3.3 Meta 租…

React 组件生命周期对比:Class vs. 函数式

在 React 中&#xff0c;Class 组件和函数式组件的生命周期存在一些差异。通过对 React 中 Class 组件和函数式组件的生命周期进行对比&#xff0c;详细探讨了它们在设计哲学、生命周期管理和开发技巧上的异同。全面了解 React 中两种组件类型的生命周期特点&#xff0c;以及如…

如何访问远程服务器?

在现代技术时代&#xff0c;随着信息化的快速发展&#xff0c;远程访问服务器已经成为了不可或缺的一种需求。无论是企业还是个人用户&#xff0c;都需要通过远程访问来管理、传输和获取数据。本文将介绍一种名为【天联】的工具&#xff0c;它能够通过私有通道进行远程服务器访…

【MYSQL】MySQL整体结构之系统服务

一、系统服务层 学习了MySQL网络连接层后&#xff0c;接下来看看系统服务层&#xff0c;MySQL大多数核心功能都位于这一层&#xff0c;包括客户端SQL请求解析、语义分析、查询优化、缓存以及所有的内置函数&#xff08;例如&#xff1a;日期、时间、统计、加密函数...&#xff…

游戏服务器DDOS克星-抗D盾(游戏盾)

随着网络游戏市场的不断扩大和发展&#xff0c;游戏服务器遭受DDOS攻击的频率也在逐年增加。DDOS攻击的主要目的是使游戏服务器瘫痪&#xff0c;使得游戏无法正常进行&#xff0c;导致游戏运营商巨额损失。鉴于此&#xff0c;针对游戏服务器的防DDOS攻击技术德迅云安全自主研发…

康耐视visionpro-CogCaliperTool操作工具详细说明

CogCaliperTool]功能说明:卡尺工具,用于测量距离 ◆CogCaliperTool操作说明: ①.打开工具栏,双击或点击鼠标拖拽添加CogCaliperTool ②.添加输入图像,右键“链接到”或以连线拖拽的方式选择相应输入源 ③.拖动屏幕上的矩形框到需要测量的位置。卡尺的搜索框角度与边缘不…

基于SpringBoot实现的在线拍卖系统

系统开发环境 编程语言&#xff1a;Java数据库&#xff1a;MySQL容器&#xff1a;Tomcat工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统实现 管理员功能模块 首页 修改密码 用户管理 商品类型管理 拍卖商品 竞拍公告 轮播图 历史竞拍管理 竞拍订单管理 留言板管理 用户…

centos编译安装nginx1.24

nginx编译1.24&#xff0c;先下载安装包 机器通外网的话配置nginx的yum源直接yum安装 vim /etc/yum.repos.d/nginx.repo [nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck1 enabled1 gpgkeyhttps://nginx.org…

JVM垃圾回收(GC)

目录 目录 1.GC 简介 1.1. 引言 1.2. 何为 GC 1.2.1. 手动 GC 1.2.2. 自动 GC 引用计数法 标记清除 2.GC入门分析 2.1.碎片整理 1)对象创建时&#xff0c;执行写入操作越来越耗时 2&#xff09;内存分配错误 2.2. 分代设想 2.3. 对象分配 对象内存分配过程 2.4. …

用AI提升儿童英语口语:和小猪佩奇对话

小孩子大部分都是喜欢动画片的&#xff0c;如果能让动画片中的角色和他们进行口语对话&#xff0c;应该可以极大的激发他们英语学习兴趣。 下面&#xff0c;以小猪佩奇为例来说明如何利用AI来创建一个虚拟的英语口语陪练小猪佩奇角色。 在kimichat对话框中键入提示词&#xf…

第7期 部署两地三中心解决方案SDRS+CBR

第7期 部署两地三中心解决方案SDRSCBR 1.实施步骤&#xff08;部署跨可用区容灾&#xff09;配置跨可用区容灾操作场景约束与限制创建保护组 什么是SDRS什么是CBR什么是两地三中心容灾方案&#xff08;SDRSCBR&#xff09;应用场景方案优势三种容灾方案对比 2.两地三中心方案原…