【DL】深度学习之语音识别

目录

[1 核心概念](#1 核心概念)

[2 安装依赖库](#2 安装依赖库)

[3 实践](#3 实践)


语音信号处理(Speech Signal Processing)简称语音处理

语音识别(ASR)自然语言处理(NLP):语音识别就是将语音信号转化成文字文本,简单实现了两种信号的转换。ASR又可以理解为,让机器听见。NLP可以理解为通过某种算法让计算机理解所输入的内容,NLP又可以理解成,让机器听懂。 语音识别(Speech Recognition)是NLP的一个重要子领域,旨在将语音信号转换为文本。

1 核心概念

① 语音特征

语音特征是用于描述语音信号的数值特征。

特征提取的方法有:线性预测系数(LPC)、LPC倒谱系数(LPCC)、线谱对参数(LSP)、共振峰率、短时谱、Mel频率倒谱系数(MFCC)和感知线性预测(PLP)等等。

其中,梅尔倒谱系数MFCC的提取过程包括:声道转换、预加重、分帧、加窗、快速傅里叶变换、通过三角带通滤波器得到Mel频谱、倒谱分析(取对数,做逆变换)。

预处理一般包括预加重、加窗和分帧等。

⒈ 预加重:语音信号低频段能量大,高频段信号能量小。预加重的目的是提升高频部分,使得信号的频谱变得平坦。

⒉ 加窗:减少语音帧的截断效应。矩形窗和汉明窗。

⒊ 分帧:将信号分段,每一段为一帧,一般10-30ms。分帧虽然可以采用连续分段的方法,但一般要采用交叠分段的方法,这是为了使帧与帧之间平滑过渡,保持其连续性。前一帧和后一帧的交叠部分称为帧移。

常见的语音特征包括MFCC、SPC、PFCC等,可以根据任务需求选择合适的特征。

② 语音数据集

语音数据集是用于训练和测试语音识别和语音合成模型的数据集,包括LibriSpeech、Common Voice、VCTK等。

③ SR和TTS

**语音识别(Speech Recognition,SR)**是将人类语音信号转换为文本的过程,主要包括语音前处理、语音特征提取、语音模型训练和文本生成等步骤。

Token可以是Phoneme(a unit of sound)、Grapheme(字母或字)、Word(词汇)、Morpheme(>Grapheme, <Word)、Bytes。

**语音合成(Text-To-Speech, TTS, 又称文语转换)**是将文本转换为人类可理解的语音信号的过程,主要包括文本前处理、语音模型训练和语音信号生成等步骤。

④ 语音识别系统的构建

语音识别和语音合成主要基于深度学习技术,包括卷积神经网络(CNN)、循环神经网络(RNN)、长短期记忆网络(LSTM)、Transformer等等。

卷积神经网络(CNN): CNN可以自动学习特征并进行分类。CNN通常由多个卷积层、池化层和全连接层组成。卷积层用于提取语音信号的特征,池化层用于减少参数数量和防止过拟合,全连接层用于输出预测结果。

循环神经网络(RNN): RNN可以处理序列数据。在语音识别任务中,RNN可以处理语音信号的时间序列特征。RNN通常由多个隐藏层和输出层组成,每个隐藏层都有自己的权重和偏置。

LSTM: LSTM是一种特殊的RNN,它可以处理长距离依赖关系。LSTM通过使用门机制来控制信息的流动,从而避免梯度消失问题。

Transformer: Transformer是一种基于自注意力机制的神经网络,它可以处理长距离依赖关系并并行化计算。

构建步骤包括:预处理、数据集划分、模型构建、训练、模型评估、模型优化。

2 安装依赖库

① cpu版本的paddlepaddle安装

bash 复制代码
​pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
​

② 安装PaddleSpeech

bash 复制代码
pip install paddlespeech

# 或者

pip --default-timeout=100 install paddlespeech -i Simple Index --trusted-host pypi.douban.com
​

3 实践

实践① 语音识别

  • 命令行
bash 复制代码
paddlespeech asr --lang zh --input zh.wav 
  • 代码
python 复制代码
from paddlespeech.cli.asr.infer import ASRExecutor 
asr = ASRExecutor() 
result = asr(audio_file="zh.wav") 
print(result) 
pass 
  • 效果

输出结果如下:

我认为跑步最重要的就是给我带来了身体健康

相关推荐
归去_来兮1 小时前
深度学习模型在C++平台的部署
c++·深度学习·模型部署
HuggingFace2 小时前
Hugging Face 开源机器人 Reachy Mini 开启预定
人工智能
企企通采购云平台3 小时前
「天元宠物」×企企通,加速数智化升级,“链”接萌宠消费新蓝海
大数据·人工智能·宠物
超级小忍3 小时前
Spring AI ETL Pipeline使用指南
人工智能·spring
张较瘦_3 小时前
[论文阅读] 人工智能 | 读懂Meta-Fair:让LLM摆脱偏见的自动化测试新方法
论文阅读·人工智能
巴伦是只猫4 小时前
【机器学习笔记 Ⅲ】4 特征选择
人工智能·笔记·机器学习
好心的小明4 小时前
【王树森推荐系统】召回11:地理位置召回、作者召回、缓存召回
人工智能·缓存·推荐系统·推荐算法
lishaoan775 小时前
使用tensorflow的线性回归的例子(十二)
人工智能·tensorflow·线性回归·戴明回归
Danceful_YJ5 小时前
4.权重衰减(weight decay)
python·深度学习·机器学习
二DUAN帝5 小时前
UE实现路径回放、自动驾驶功能简记
人工智能·websocket·机器学习·ue5·自动驾驶·ue4·cesiumforue