Speech Recognition,初见语音识别——语音信号处理学习(二)

2024-03-07 14:59

本文主要是介绍Speech Recognition,初见语音识别——语音信号处理学习(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从学习(二)开始,开始观看《李宏毅深度学习人类语言处理国语课程(2020)》

国内观看地址:

Speech Recognition (Part 1)哔哩哔哩bilibili

语音模型:即将 sound 转为 text

Text: a sequence of Token 长度:N,总种类数量:V

Sound: vectors sequence 长度:T,维度:d

一、Text Token

种类
  1. Phoneme:即 a unit of sound,可以理解为发音的音标

  2. Grapheme:即 smallest unit of a writting,比如【26个英文字母+空格+标点符号】

  3. Word:即语言中的单词

  4. Morpheme:即 smallest meaningful unit,比如英语单词的词根

  5. Bytes:直接用字节表示一组Text,常见的诸如 UTF-8 编码

大家用的(大趋势)

最多的是grapheme,这种非常简单直接。

二、模型(Speech Recognition)功能

  1. 输出 word embeddings

  2. 模型中加入 Translation,输出识别后翻译的结果

  3. 模型中加入 Intent classification,输出语音的分类,理解对方意图

  4. 模型中加入 Slot filling,即输出一段语句的关键词,如时间、地点等

三、声音特征 Acoustic Feature

通常以 25ms 为窗口长度,将声音讯号转为 一个向量(frame,也即帧),每次窗口移动 10ms,也就是说 1s →100 frames

frame 制作方法
  1. sample points:当 声音采样率 在 16KHz 时,其在 25ms 内一共有 400个 sample points,直接将这400个数字拿过来当frame即可

  2. 39-dim MFCC:一共有39维

  3. 80-dim filter bank output:一共有80维

frame 制作过程
  1. 首先,Waveform(波形) 通过 DFT 变为 spectrogram(频谱),此时已经可以用于训练了

    一个人说一句话,其 waveform 可以很不一样,但是 spectrogram 基本上会相似,甚至有人可以通过 spectrogram 来判断说话的内容

    DFT(Discrete Fourier Transform)是将连续音频信号转换为离散频域表示的一项重要操作。DFT是一种数学变换,用于将时域信号(如音频波形)转换为频域表示。它是连续傅立叶变换(Continuous Fourier Transform,CFT)的离散版本,适用于离散时间序列。

    DFT的主要目的是将时域信号分解成不同频率成分的振幅和相位信息。这对于分析音频信号中包含的各种频率分量非常有用。

  2. 然后,spectrogram 通过 filter bank(滤波器组) 变为一个个向量

    滤波器组(filter bank)是由一组滤波器所组成的系统,用于对输入信号进行频率分析。在声学特征提取中,常用的滤波器组是梅尔滤波器组(Mel filter bank)。梅尔滤波器组是一种非线性的滤波器组,它的设计基于梅尔刻度(Mel scale),该刻度是一种根据人耳感知频率的特性而设计的心理声学刻度。

  3. 随后再取 log,再进行 DCT,最后生成 MFCC

    DCT代表离散余弦变换(Discrete Cosine Transform)。DCT是一种广泛使用的数学变换方法,常用于音频信号和图像处理领域。

    在声学特征提取中,通常会使用梅尔滤波器组计算每个滤波器通道的能量,得到梅尔频谱系数(Mel-frequency cepstral coefficients,MFCCs)。然而,MFCCs包含了大量的频率信息,而且相邻帧之间往往高度相关,这可能导致冗余信息和过多的数据。

    为了降低数据维度并捕捉主要信息,通常会将MFCCs序列通过DCT转化为倒谱系数(Cepstral coefficients)。倒谱系数不同于原始频谱系数,它们具有更好的特性和表示能力,适合语音和音频信号的建模和分析。

    MFCC 其实为 MFCC系数,MFCC(Mel Frequency Cepstral Coefficients)是一种常用于音频信号处理和语音识别领域的声学特征提取方法。在声学特征提取中,MFCC用于将连续的音频信号划分成一帧一帧的小片段,并将每帧表示为一组系数,以便在后续的分析中使用。

  4. 总结

大家用的

很多人都使用 filter bank output。

四、声音数据集介绍

  • 注意,这里带引号的是数据量等效时长

五、常用声音模型介绍(基本上都是 seq2seq 模型)

  • Listen, Attend, and Spell (LAS) [Chorowski.et al., NIPS'15]

  • Connectionist Temporal Classification (CTC) [Graves, et al.,ICML'O6]

  • RNN Transducer (RNN-T) [Graves, ICML workshop'12]

  • Neural Transducer [Jaitly, et al., NIPS'16]

  • Monotonic Chunkwise Attention (MoChA) [Chiu, et al.,ICLR'18]

大家用的

这篇关于Speech Recognition,初见语音识别——语音信号处理学习(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/783901

相关文章

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Python验证码识别方式(使用pytesseract库)

《Python验证码识别方式(使用pytesseract库)》:本文主要介绍Python验证码识别方式(使用pytesseract库),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1、安装Tesseract-OCR2、在python中使用3、本地图片识别4、结合playwrigh

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Python中edge-tts实现便捷语音合成

《Python中edge-tts实现便捷语音合成》edge-tts是一个功能强大的Python库,支持多种语言和声音选项,本文主要介绍了Python中edge-tts实现便捷语音合成,具有一定的参考价... 目录安装与环境设置文本转语音查找音色更改语音参数生成音频与字幕总结edge-tts 是一个功能强大的

使用Python和PaddleOCR实现图文识别的代码和步骤

《使用Python和PaddleOCR实现图文识别的代码和步骤》在当今数字化时代,图文识别技术的应用越来越广泛,如文档数字化、信息提取等,PaddleOCR是百度开源的一款强大的OCR工具包,它集成了... 目录一、引言二、环境准备2.1 安装 python2.2 安装 PaddlePaddle2.3 安装

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3