【飞桨PaddleSpeech语音技术课程】— 语音识别-流式服务-模型部分

(以下内容搬运自飞桨PaddleSpeech语音技术课程,点击链接可直接运行源码)

流式语音识别模型 Deepspeech2 与 Conformer

1. 前言

1.1 背景知识

语音识别(Automatic Speech Recognition, ASR) 是一项从一段音频中提取出语言文字内容的任务。


(出处:DLHLP 李宏毅 语音识别课程PPT)

1.2 流式语音识别

用户将一整段语音分段,以流式输入,最后得到识别结果。
实时语音识别引擎在获得分段的输入语音的同时,就可以同步地对这段数据进行特征提取和解码工作,而不用等到所有数据都获得后再开始工作。
因此这样就可以在最后一段语音结束后,仅延迟很短的时间(也即等待处理最后一段语音数据以及获取最终结果的时间)即可返回最终识别结果。
这种流式输入方式能缩短整体上获得最终结果的时间,极大地提升用户体验。

1.3 应用场景

  1. 人机交互/语音输入法
    流式语音识别可以在用户说话的时候实时生成文字,加快了机器对人的反馈速度,使得用户的使用体验得到提升。

(百度智能音箱:https://dumall.baidu.com/)
  1. 实时字幕/会议纪要
    在会议场景,边说话,边转写文本。
    将会议、庭审、采访等场景的音频信息转换为文字,由实时语音识别服务实现,降低人工记录成本、提升效率。

(百度智能会议系统:一指禅)
  1. 同声翻译
    在机器进行同生翻译的时候,机器需要能实时识别出用户的说话内容,才能将说话的内容通过翻译模块实时翻译成别的语言。

(如流:智能会议 https://infoflow.baidu.com/audio-video/#/)
  1. 电话质检
    将坐席通话转成文字,由实时语音识别服务或录音文件识别服务实现,全面覆盖质检内容、提升质检效率。
  1. 语音消息转写
    将用户的语音信息转成文字信息,由一句话识别服务实现,提升用户阅读效率。

2. DeepSpeech2 模型流式语音原理

2.1 DeepSpeech2 流式模型

Deepspeech2 模型,其主要分为3个部分:

  1. 特征提取模块
    此处使用 linear/fbank 特征,也就是将音频信息由时域转到频域后的信息。
  2. Encoder
    多层神经网络,用于对特征进行编码。
  3. CTC Decoder
    采用了 CTC 损失函数训练;使用 CTC 解码得到结果。

2.2 流式推理过程


流式语音主要是通过音频 chunk 来实现的。当接收的语音达到了一个chunk的长度后,模型将该 chunk 的语音提取成特征,送入模型当中推理得到结果。


一个chunk 的最小长度与模型本身结构直接相关。 一个 chunk 的长度是模型每一步的输出所需要多长的语音。
对于 DeepSpeech2 模型,其每一步的输出对应 1 步 RNN 的输出 => 1 步 subsampling 层的输出 => 7 帧的输入。 因此,一个chunk的最小长度为7帧数据。

2.3 CTC Decoder

Decoder 的作用主要是将 Encoder 输出的概率解码为最终的文字结果。

对于 CTC 的解码主要有3种方式:

  • CTC greedy search

  • CTC beam search

  • CTC Prefix beam search

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值