网站大量收购独家精品文档,联系QQ:2885784924

《鸿蒙机器人编程》课件——17-实践课 - 语音交互、识别与合成.pptxVIP

《鸿蒙机器人编程》课件——17-实践课 - 语音交互、识别与合成.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

实践课-语音交互、识别与合成

课程介绍课程目的:了解语音交互的实现方法。课程内容:语音识别和语音合成的基本概念,介绍两款语音识别库及在ROS的具体应用。内容包括:ASR与TTS基本概念ROS中常用ASR与TTS库?NXROBO20222

ASR与TTS的基本概念ASR,英文的全称是AutomatedSpeechRecognition,即自动语音识别技术。语音辨识系统的性能受以下4类因素影响:

1.识别词汇表的大小和语音的复杂性

2.语音信号的质量

3.单个说话人还是多说话人

4.硬件TTS,英文全称是TextToSpeech,即文字语音转换,又称为计算机语音合成。语音合成系统包括三个主要的组成部分:文本分析模块、韵律生成模块和声学模块。TTS技术已经相对成熟。?NXROBO20223

ROS中常用的ASR与TTS库介绍spark的脱机语音识别使用的是pocketsphinx,但其只支持英文若想要支持中文还得选本土化的语音引擎。本土化的语音引擎最近比较火热的有迅飞、百度、阿里、云知声等。ROS中自带的语音合成的功能包是sound_play。下面分别介绍pocketsphinx功能包、sound_play功能包。?NXROBO20224

Sphinx介绍Sphinx-2采用半连续隐含马尔可夫模型(SCHMM)建模,采用的技术相对落后,使得识别精度要低于其它的译码器。PocketSphinx是一个计算量和体积都很小的嵌入式语音识别引擎。是第一个开源面向嵌入式的中等词汇量连续语音识别项目。Sphinx-3是CMU高水平的大词汇量语音识别系统,采用连续隐含马尔可夫模型CHMM建模。Sphinx-4是由Java语言编写的大词汇量语音识别系统,采用连续的隐含马尔可夫模型建模。由于完全采用JAVA语言开发,具有高度的可移植性,允许多线程技术和高度灵活的多线程接口。?NXROBO20225

PocketSphinx在ROS中的使用自带主机的spark本身已经安装好pocketsphinx库,如果是自己的笔记本,请从/NXROBO/spark.git下载源码,并运行源码里的onekey.sh,按照提示安装spark依赖,当然你也可以选择如下步骤手动安装:安装系统依赖库:更新pip:使用pip安装相应的库:?NXROBO20226$sudoaptinstall-yswigportaudio19-dev$sudoeasy_install-Upip$sudopip3installpocketsphinxwebrtcvadpyaudio

麦克风测试首先,插入你的麦克风设备,然后在系统设置里测试麦克风是否有语音输入。如果使用的是spark自带的小主机,可以使用深度摄像头提供的阵列麦克风(带ASTRA字样Microphone)。尝试对机器人说话,看inputlevel是否有变化。如果识效果不好,可以通过调节inputvolume来优化。?NXROBO20227

基于PocketSphinx的语音识别程序local_asr.py?NXROBO20228

启动识别启动程序:?NXROBO20229$roscorerosrunspark_voicelocal_asr.py

启动识别现在说几条短语,turnleft,forward,stop。我们可以在话题/voice/stt上看到识别的结果消息:?NXROBO202210$rostopicecho/voice/stt

词汇库这个语音识别是一种脱机识别的方法,如果想看语音识别库中有哪些文本信息,可以通过下面的指令进行查询:?NXROBO202211$roscdspark_voice/scripts/lib/pocketsphinx-data/$morecmd.txt

训练声学模型?NXROBO202212一般这种脱机语音识别效果不是特别理想若想得到更好的效果,我们需要训练自己的声学模型提高识别准确度同时也可以自己向语音库中添加其他的文本识别信息由于篇幅的原因,这里不作过多的介绍,大家可以访问https://cmusphinx.github.io/wiki/tutorial/进行学习。

在线语音识别更通用的做法是选择在线语音识别,这样可以大大提高语音识别的准确率。注意使用此功能需要互联网支持。一般语音识别服务的提供商都有非常完善的SDK调用说明,支持各种程序设计语言。下面以百度的在线语音识别(baidu_asr.py)为例,给大家简单介绍一下?NXROBO202213

在线语音识别?NXROBO202214baidu_asr.py

语音控制语音控制的流程一般是由语音识别节点(比如baidu_asr.py)

您可能关注的文档

文档评论(0)

青柠职教 + 关注
实名认证
服务提供商

从业10年,专注职业教育专业建设,实训室建设等。

1亿VIP精品文档

相关文档