[IT技术] 如何入门语音识别?

[复制链接]
he59195 发表于 2023-10-4 20:37:18|来自:福建 | 显示全部楼层 |阅读模式
项目中遇到需要语音识别的内容。请问专业人士,有什么比较实用的书籍可以推荐?最好包括一些经典的算法实现。谢谢!
全部回复5 显示全部楼层
feizheng0126 发表于 2023-10-4 20:37:32|来自:福建 | 显示全部楼层
推荐几个语音识别开源项目还有语音识别工具给大家,感兴趣的话可以去试试!
开源项目

①DeepSpeech

开发这个项目的团队就是开发了火狐浏览器的团队,这个项目使用的是 TensorFlow 机器学习框架,我们可以用它训练自己的语音识别模型,也可以直接用它去将语音转成文字。
它也支持许多编程语言,其中就包含了 Python(3.6)。
②Kaldi

一个用C++编写的开源语音识别项目,支持运行在Windows、macOS 和 Linux三种系统,它通过Python脚本进行了封装。
如果想使用基本的语音转文字功能,是可以通过Python轻易实现的。
③Wav2Letter++

由 Facebook 的 AI 研究团队开发的一个开源的语音识别项目,它是一个机器学习驱动的文本语音转换工具,需要我们先为所描述的语言建立一个模型来训练算法。
语音识别转写工具

①录音转文字工厂

专业的语音转写工具,除了语音转写功能外,它也支持文字转语音,也就是我们常说的语音合成。
其“录音转文字”功能支持上传多种格式的语音文件,可轻松实现语音转文字的需求,并且转写得到的文本可输出为TXT、SRT、Word等多种格式,方便应用于不同场景。


最特别的是,软件不仅能识别中文、英文等常见语言,还能识别粤语、四川话、上海话、闽南语等各地方言,就算有口音也不影响转写准确率。
完成转写后,还可以对文本内容进行翻译哦~


②搜狗听写

搜狗出品的在线语音识别网站,它能够快速地将音频转写成文字,支持上传多种格式的音频文件。
打开网站,选择上方的“语音转文字”功能,上传需要转写的语音文件,接着设置待转写音频的语言类型,点击“提交转写”,很快就能完成转写。


③WPS

WPS除了用于文档的查阅编辑外,还拥很多好用的功能,如论文查重、截图取字、图片转文字、全文翻译、音视频转文字等。
使用它的“音视频转文字”功能,导入语音文件,设置转写语言和转写领域,点击“开始转写”按钮即可提取音频中的文字内容,最后保存转写得到的文字文件即可。


网易见外

功能挺丰富的一个在线工作台,能处理音频、视频、图片等文件,支持语音、视频转文字。
它能够将语音内容转写为可在线编辑和导出的文档,还能够直接翻译音频内容,生成中英双语对照文档。


选择“语音转写”功能,上传语音文件,接着进入设置界面,输入项目名称,选择文件语言和出稿类型,然后点击“提交”,就可以将语音转为文字。


ok! @酥酥爱分享 就到这里啦~又要去挖更多搬砖技能了,我还会再回来哒~
zke 发表于 2023-10-4 20:38:15|来自:福建 | 显示全部楼层
语音识别是当下人工智能领域的落地最广泛的方向。近年来随着深度学习的突破,语音识别技术得到了长足的发展,各大企业竞相高薪寻觅语音识别专业人才。
然而,与图像处理等方向相比,高端语音识别专业人才急缺,这主要因为语音识别具有更为典型的跨学科特点,涉及声学、语音语言学、信号处理、概率论、机器学习、算法设计等各个方面的专门知识。搭建语音识别系统的模块众多,造成了入门语音识别具有较高的门槛;精通语音识别则更需要深入系统的学习与长期经验积累。同时,系统性学习最新语音识别技术的书籍资料较为缺乏,动手实践的教程则更为少见。
为此,深蓝学院邀请西北工业大学ASLP研究组谢磊教授及团队推出《语音识别:从入门到精通》在线课程,以系统深入的知识讲解与精心设计的动手实践,让广大语音识别的学习者学习到扎实的专门知识,同时培养良好的实战能力。现在仅将课程大纲分享给大家,希望对大家有用。


<hr/>深蓝学院(https://www.shenlanxueyuan.com/)是专注于人工智能的在线教育平台,致力于构建前沿科技课程培养体系的业界标准,涵盖人工智能基础、机器学习、计算机视觉、自然语言处理、智能机器人等领域。
lygcss 发表于 2023-10-4 20:38:30|来自:福建 | 显示全部楼层
不请自来,最近刚好因为筹备JDD语音识别大赛在做这方面的研究。
语音识别,顾名思义,是利用机器将语音信号转换成文本信息。比如被我们玩坏的Siri,京东的叮咚音箱,小米的小爱同学,亚马逊的Echo等。




想要从零开始搭建一个语音识别系统,首先遇到的一个问题就是使用什么数据用来上手。一个有效的语音识别模型,通常需要几百到几千小时包含文本标注的音频文件作为训练数据。

目前在学术论文中比较常见的语音识别数据集,比如Switchboard,TIMIT,WSJ这些,都并不免费且价格高昂。
公开数据集中最常用的英文语料是LibriSpeech,其中包含了1000小时的16kHz有声书录音,并且经过切割和整理成每条10秒左右的、经过文本标注的音频文件,非常适合入门使用。
中文语料方面,目前公开的大规模语音识别数据集比较少见。清华大学开源过30小时的连续普通话语音数据库THCHS-30,由大学生参与录音获得。
以上介绍的两个公开语音数据集,都可在http://www.openslr.org免费下载。

另外,参加一些开放语音数据的算法比赛,也是中文语音识别项目入门的好途径。比如我们今年主办的京东金融对话语音识别大赛,首次开放了上千小时的中文客服对话语音数据,并提供强大的GPU资源保障运算能力。比赛面向广大的语音技术爱好者,高校学生,企业开发者,希望通过开放客服对话语音标注数据(经严格脱敏),专注于寻找最新、最强的语音识别算法,促进语音技术的普及和发展,同时加强语音识别技术爱好者之间的交流与分享。
JDD空间站和语音识别大赛具体信息可查看文章:
JDD空间站首场邀请赛开赛,开放数千小时真实客服对话语音数据




最简单的语音识别例如yes/no,整个识别的词典范围只有yes和no两个单词。




如果词典范围在扩大一些,例如数字识别,识别连续的阿拉伯数字。这两种语音识别的任务都是相对简单的。
而在对于电话录音转译则要复杂得多,中文的语音识别词典范围可以达到6000多个汉字,而英语单词则有64000个单词之多。
另外语音识别还可以从场景角度去分类,分为孤立词识别(Isolated Word),连续语音识别(continuous speech),而连续语音识别又可以分为人机录音和对话语音识别,人机对话是人对机器发声,例如语音输入法,而对话语音识别,例如会议,客服电话等
而本次JDD举行的对话语音识别大赛,从热身的数字语音识别到客服语音识别,都提供了一个入门语音识别的绝好机会。
报名参赛可戳:https://jdder.jd.com/index/jddDetail
虽然数字语音识别能给我们提供一个入门,但是通常我们所指的语音识别都是指大规模词汇连续语音识别(Large-Vocabulary Continuous Speech Recognition--LVCSR),英语词汇在20000-60000的范围,而中文汉字的范围是2500-6000的范围。




传统语音识别的框架如下:

  • 语音信号特征提取:常见的语音信号特征有MFCC,Filterbank,Spectrogram等
  • 声学模型:传统的语音识别基于HMM、GMM进行声学模型建模
  • 语言模型:一般采用N-gram的语言模型,目前基于RNN的语言模型也逐步发展起来
  • 解码:传统的解码一般是基于WFST,在HMM、字典和语言模型构成的动态网络中搜寻最优的输出字符序列
而端对端的语音识别框架,很适合初学者入门,大大降低了语音识别技术的门槛。端到端的语音识别系统一般采用CTC或者Attention两种机制。随着神经网络技术以及硬件计算能力的不断发展,采用上万小时语料训练得到的端到端语音识别结果较传统方法取得了明显的进步,其中一个例子为百度的Deepspeech框架。下面为一些经典的端到端语音识别方面的论文。
1.  D. Amodei, R. Anubhai, E. Battenberg, C. Case, J. Casper, B. Catanzaro, J. Chen, M. Chrzanowski, A. Coates, G. Diamos et al., “Deep speech 2: End-to-end speech recognition in english and mandarin,” CoRR arXiv:1512.02595, 2015.
2.  A. Graves, S. Fernández, F. Gomez, and J. Schmidhuber. Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural networks. In ICML, pages 369–376. ACM, 2006.
3.  W. Chan, N. Jaitly, Q. Le, and O. Vinyals. Listen, attend, and spell. abs/1508.01211, 2015. http://arxiv.org/abs/1508.01211.
语音识别开源项目汇总:
https://github.com/SeanNaren/deepspeech.pytorch基于Pytorch
https://github.com/pannous/tensorflow-speech-recognition  基于Tensorflow
https://github.com/facebookresearch/wav2letter  基于Torch
https://github.com/samsungsds-rnd/deepspeech.mxnet基于Mxnet
https://github.com/baidu-research/ba-dls-deepspeech基于Theano
https://github.com/PaddlePaddle/DeepSpeech  基于PaddlePaddle
https://github.com/mozilla/DeepSpeech基于Tensorflow
https://github.com/kaldi-asr

本文系京东金融技术研发部原创内容。
希望对你有用,不吝关注、点赞和分享,也欢迎联系我们参加语音识别大赛,期待切磋交流~
将进酒 发表于 2023-10-4 20:39:30|来自:福建 | 显示全部楼层
以下是语音识别的一些通识了解

语音识别ASR
1. 概念:听懂人类的语音类似于耳朵
a) 原理:输入——编码——解码——输出
b) 识别方式:
i. 传统识别:一般采用隐马尔可夫模型HMM
ii. 端到端识别:一般采用深度神经网络DNN
2. 远场语音识别
a) 语音激活检测VAD(voice active detection):
i. 需求背景:近场识别中由于太近信噪比(SNR)比较高,信号清晰简单算法也能做到。但远场的情况下,噪声太大,SNR下降剧烈,必须使用VAD了
ii. 定义:判断什么时候有语音
b) 语音唤醒:
i. 背景:在VAD检测到人声后,唤醒机器如(Hey siri,)
ii. 定义:喊名字,引起机器的注意
c) 难点:
i. 语音识别无论近场还是远场都是在云端,而唤醒基本是在本地客户端,要求上  升。
ii. 唤醒时间:太短了不行,太长了不行
Iii. 功耗要低
Iv. 唤醒结果:
1. 漏报:喊他他不应
2. 误报:没喊他他应
3. 字数太长误报少,漏报多
4. 字数短误报多,漏报少
V. 唤醒词:一般至少三个,四五个最佳。
3. 麦克风阵列(Microphone Array)
a) 背景:在户外的复杂情况下各种噪音、回声、混响,远场情况下,拾音效果要好,近场又不能爆音,环境中的回声反射对语音质量不可忽视。
b) 定义:有一定数目的声学传感器(一般是麦克风)组成,用来对声场的空间特性进行采用并处理的系统。
c) 作用:
i. 语音增强:从被噪声干扰中的语音信号里提取出纯净的语音的过程。
ii. 声源定位:使用麦克风阵列计算说话人的角度和距离,对语音的跟踪和拾取。
iii. 去混响:声波遇到障碍物形成回声时,回升和直发声的声波叠加。
1. 基于盲语音增强的方法(Blind signal enhancement approach),即将混响信号作为普通的加性噪声信号,在这个上面应用语音增强算法。
2. 基于波束形成的方法(Beamforming based approach),通过将多麦克风对收集的信号进行加权相加,在目标信号的方向形成一个拾音波束,同时衰减来自其他方向的反射声。
3. 基于逆滤波的方法(An inverse filtering approach),通过麦克风阵列估计房间的房间冲击响应(Room Impulse Response, RIR),设计重构滤波器来补偿来消除混响。
iv. 声源信号的提取和分离:从多个信号提取出目标信号,分离即是将多个混乱的信号分离成单个信号。
1. 基于波束形成的方法,即通过向不同方向的声源分别形成拾音波束,并且抑制其他方向的声音,来进行语音提取或分离;
2. )基于传统的盲源信号分离(Blind Source Separation)的方法进行,主要包括主成分分析(Principal Component Analysis,PCA)和基于独立成分分析(Independent Component Analysis,ICA)的方法。
d) 分类:
i. 按阵列形状分:线性、环形、球形。
1. 线性:阵列只有一位信息,只能分辨180度
2. 环形:二维,分辨360度
3. 球形:三维空间分布,能区分360度方位角和180度俯仰角
ii. 麦克风个数:单麦、双麦、多麦,越多嘈杂环境下拾音质量越佳,安静环境下5麦和8麦效果相差不大。
e) 难点:
i. 距离太远时(10m外),信噪比很低,算法处理难度大
ii. 对于便携式设备,限于尺寸关系,麦克风的大少,阵列太小。分布式麦克风阵列是目前的可能解决之道。
iii. 麦克风阵列在背景很大的环境下如车载、家里开空调、开风扇、开电视等有很大的干扰。
4. 全双工
a) 需求:基于一人同时对多人讲话。
b) 定义:全双工交互,是一个全链路的贯穿过程,不只是持续的拾音和网络传输,更需要包括持续的语音唤醒、智能有效人声检测、动态语音端点检测、无效语音拒识等各个模块相互配合,才能完成。
i. 单工:a和b说话,b只能听a说
ii. 半双工:参考对讲机,A:能不能听到我说的话,完了。B:能听到,完了。
iii. 全双工:参考电话,两人多伦对话,可插话和打断。
c) 包含feature
i. 人声检测、智能断句、拒识(无效的语音和无关说话内容)、回声消除(在播放音乐的同时可以拾音)
5. 纠错
a) 背景:因同音字词出现的偏差或是语法等
b) 用户主动纠错:“我们今天,不对,明天晚上可吃啥?”,经过云端的处理,直接识别“明天晚上吃啥?”
c) AI主动纠错:
i. 本地为主:
1. 打电话给“郭嘉时”,机器默认识别是国家,但通讯录里可以寻找匹配,因此自动为打个郭嘉。
ii. 本地+云端:听歌时找歌名相似度最高的歌
1. 夜半小夜曲——月半小夜曲
2. 枉凝眉——望凝眉
3. 苦啥——哭砂
鸽子是个传说——哥只是个传说
        Iii. 云端为主:
直接在数据库中搜素如:武汉到东福——武汉到东湖
6.  当前技术边界
a) 翻译:真实环境下的噪声
b) 车载:胎噪、风噪、经常离线状态
c) 家庭:远场问题
d) 中英文混合:听歌时
7. 瓶颈和机会
a) 远场识别
b) 垂直细分领域:方言识别、特定人群的匹配方案(儿童)
gurucn 发表于 2023-10-4 20:40:17|来自:福建 | 显示全部楼层
首先推荐我的知乎 Live:语音识别技术的前世今生。这是对语音识别技术 30 年来发展的一份综述,听完后你就会对语音识别的整体框架有个了解。Live 的幻灯片可以在这里下载。

在之后的学习过程中,你可以不时地问自己下面的问题,逐步加深理解:

  • 语音识别系统一般由哪些模块组成?(答案见下图)各个模块的作用是什么?



  • 特征提取模块是怎样保留语音信号中对语音识别有用的信息,抑制无关信息的?
  • 声学模型是怎样在语音特征和音素之间建立映射的?
  • 语言模型是怎样知道什么样的句子「像话」,什么样的句子「不像话」的?
  • 解码器如何在海量的句子中快速地找到比较好的识别结果?
  • 最近几年兴起的神经网络,颠覆了上面框图中的哪些模块?是怎么做到的?

对整体框架有了了解之后,就可以去学习细节了。经典的教科书包括:

  • Xuedong Huang, Alex Acero, Hsiao-wuen Hon, Spoken Language Processing
  • Lawrence Rabiner, Biing-Hwang Juang, Fundamentals of Speech Recognition
  • Dan jurafsky and James H. Martin, Speech and Language Processing
不过这些书都比较老了,只讲了「前世」的技术,并没涉及到「今生」的神经网络。神经网络技术目前仍在飞快的迭代中,所以并不容易找到一本与时俱进的教科书。
另外有两篇经典论文:

  • L. R. Rabiner, “A tutorial on hidden Markov models and selected applications in speech recognition,” Proceedings of the IEEE, vol. 77, no. 2, pp. 257–286, 1989.
  • A. Graves, S. Fern´andez, F. Gomez, and J. Schmidhuber, “Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural networks,” in International Conference on Machine Learning (ICML), ACM, 2006, pp. 369–376.
第一篇讲的是「前世」技术中的骨架 HMM,后一篇讲的是「今生」技术中的 CTC,当你学到这二者的时候值得一看。

如果你要自己上手搭语音识别系统,可以从 EESEN 这个工具包中的示例出发,慢慢修改。比如 TEDLIUM 那个示例就是不错的。

要系统性地学习语音识别的知识,我还推荐一门线上课程『语音识别:理论与实践』。课程由深蓝学院与西工大谢磊老师团队开设,课程会详细讲解经典的基于GMM-HMM的语音识别系统,以及基于DNN-HMM声学模型、解码器,以及端到端的深度学习语音识别模型。课程整体注重理论与代码实践结合,有讲师与助教在微信群内答疑。
语音识别:从入门到精通 - 深蓝学院 - 专注人工智能的在线教育

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则