Open In Colab 要在GitHub上执行或查看/下载此笔记本

从零开始的语音识别

准备好使用SpeechBrain进入构建自己的语音识别器的世界了吗?

你很幸运,因为本教程正是你所需要的!我们将指导你完成设置离线端到端基于注意力的语音识别器的整个过程。

但在我们深入之前,让我们快速了解一下语音识别,并看看SpeechBrain带来的酷炫技术。

让我们开始吧!🚀

语音识别概述

在图中,我们展示了SpeechBrain中使用的典型语音识别流程的示例:

SpeechBrain-Page-2.png

语音识别过程从直接使用原始波形🎤开始。

原始波形通过各种语音增强技术进行污染,例如时间/频率丢失速度变化添加噪声混响等。这些干扰根据用户指定的概率随机激活,并且即时应用,无需将增强信号存储在磁盘上。

要更深入地了解污染技术,请查看我们关于语音增强环境破坏的教程。

接下来,我们提取语音特征,例如短时傅里叶变换 (STFT)频谱图FBANKsMFCCs。得益于高效的GPU友好实现,这些特征可以实时计算。

有关更详细的信息,请参阅我们的教程speech representationspeech features

随后,特征被输入到语音识别器中,这是一个将输入特征序列映射到输出标记序列(例如,音素、字符、子词、单词)的神经网络。SpeechBrain支持流行的技术,如连接时序分类(CTC)、传感器或带有注意力的编码器/解码器(使用基于RNN和Transformer的系统)。

输出标记的后验概率由beamsearcher处理,该beamsearcher探索替代方案并输出最佳方案。可选地,可以使用基于RNN或transformers的外部语言模型对替代方案进行重新评分🤖。

并非所有提到的模块都是强制性的;例如,如果数据污染对特定任务没有帮助,则可以跳过。甚至可以使用贪心搜索代替束搜索以进行快速解码。

现在,让我们更详细地讨论一下支持语音识别的不同技术:🚀