华为云语音交互实战|【我们都是华为云专家】
很多厂商都推出了语音识别技术。以前做产品的时候用过了百度语音识别,科大讯飞语音识别。现在我们来尝试华为云的语音识别技术。
需求很简单,识别出一小段音频里讲的内容。实际用户场景下的音频很短,大概只有一个词组。比如“你好”,“谢谢”。
找到语音识别技术的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的方式可选。具体看产品的场景。但不论哪种传输方式,我们的评判标准一个是识别准确,另一个就是要速度快。
速度快,能防止用户的焦躁。识别准确,能减少重试次数,提升产品体验。
- 点赞
- 收藏
- 关注作者
评论(0)