华为云语音交互实战|【我们都是华为云专家】

AnRFDev 发表于 2021/11/10 21:11:55 2021/11/10
【摘要】 很多厂商都推出了语音识别技术。以前做产品的时候用过了百度语音识别,科大讯飞语音识别。现在我们来尝试华为云的语音识别技术。

很多厂商都推出了语音识别技术。以前做产品的时候用过了百度语音识别,科大讯飞语音识别。现在我们来尝试华为云的语音识别技术。

需求很简单,识别出一小段音频里讲的内容。实际用户场景下的音频很短,大概只有一个词组。比如“你好”,“谢谢”。


找到语音识别技术的SDK介绍界面 。在获取SDK 页面下载Python的SDK。

要使用语音识别功能,还要先去准备ak (Access Key Id)和sk(Secret Access Key)。

准备密钥

登录华为云,在控制台界面右上角账号的下拉栏那里找「我的凭证」。然后是「新增访问密钥」。如果之前有下载过密钥,应该不用再新增了。

要保管好下载的密钥csv文件。


使用

解压下载好的Python SDK压缩包。里面有好几个目录,有很多的demo。


根据教程,先配置Python环境 。把缺的包安装好。再运行一次setup.py,弄好环境。

这里用PyCharm里的终端。


我们尝试的是rasr_demo.py。填好各个参数项。测试demo自带的音频文件。

/usr/local/bin/python3.7 /Users/rustfisher/Downloads/hw-cloud-bbs/语音交互服务/huaweicloud-python-sdk-sis-1.7.1/cn_demo/rasr_demo.py
 [INFO] - [websocket open]
websocket connect success
webscoket start to recognize, trace id is af11b210-52fe-4f02-aed8-65895a4d68bb
{
  "resp_type": "RESULT",
  "trace_id": "af11b210-52fe-4f02-aed8-65895a4d68bb",
  "segments": [
    {
      "start_time": 0,
      "end_time": 7025,
      "is_final": true,
      "result": {
        "text": "华为致力于把数字世界带入每个人每个家庭每个组织构建万物互联的智能世界。",
        "score": 0.7210581302642822
      }
    }
  ]
}
websocket is ended, trace id is af11b210-52fe-4f02-aed8-65895a4d68bb

Process finished with exit code 0

这个音频文件普通话发音非常标准(比我标准多了),字正腔圆。


接下来自己录一段音频试试。录制选择的是16khz,16位深度。然后把音频文件路径替换进去。运行demo

/usr/local/bin/python3.7 /Users/rustfisher/Downloads/hw-cloud-bbs/语音交互服务/huaweicloud-python-sdk-sis-1.7.1/cn_demo/rasr_demo.py
websocket connect success
 [INFO] - [websocket open]
webscoket start to recognize, trace id is 61c32dbd-acc8-44db-a63b-6631f0cfb85b
{
  "resp_type": "RESULT",
  "trace_id": "61c32dbd-acc8-44db-a63b-6631f0cfb85b",
  "segments": [
    {
      "start_time": 0,
      "end_time": 2605,
      "is_final": true,
      "result": {
        "text": "这是为什么呀?这是为什么。",
        "score": 0.7428009510040283
      }
    }
  ]
}
websocket is ended, trace id is 61c32dbd-acc8-44db-a63b-6631f0cfb85b

Process finished with exit code 0

可以看到识别结果还行。录制时,说话的声音要大一些。这样才能录的清晰。

这个demo是通过websocket将音频文件传输到云端,识别完成后再把结果传回来。

除了websocket,还有http的方式可选。具体看产品的场景。但不论哪种传输方式,我们的评判标准一个是识别准确,另一个就是要速度快。

速度快,能防止用户的焦躁。识别准确,能减少重试次数,提升产品体验。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。