阿里云SDK语音识别的使用
首先去官网 开通服务得到 密匙
官网帮助连接:https://help.aliyun.com/document_detail/43822.html?spm=a2c0j.8204267.556860.11.3c165e57i4PFWH
可以看到 一句话识别的sdk C++ 版本的.
下载但是看到里面有一个config文件里面包含了编译所用的所有东西.
初次看到这句话
demo 编译命令及注意事项
g++ -o demo demo.cpp -pthread -I ./ -L. -ldl -lopus -lrealTimeUnity -lssl -lcrypto
g++ -o demo demo.cpp -pthread -I ./ -L. -lrealTimeUnity -lopus -lssl -lcrypto -ldl
感觉很无厘头.但事实就是这样我config自带的文件编译失败了... ... 心疼自己1s钟... ...
改良后的版本按照第二种方式排列连接库的顺序
#!/bin/bash
if [ -f libopus.so.0 ]; then
rm -rf libopus.so.0
fi
ln -s libopus.so libopus.so.0
# compile realtime
LOCAL_LDFLAGS="-pthread -I./ -L./ -lrealTimeUnity -lopus -lssl -lcrypto -ldl -D_GLIBCXX_USE_CXX11_ABI=0"
g++ -o realtime-demo realtime-demo.cpp $LOCAL_LDFLAGS
g++ -o asr-demo asr-demo.cpp $LOCAL_LDFLAGS
g++ -o tts-demo tts-demo.cpp $LOCAL_LDFLAGS
g++ -o nlu-demo nlu-demo.cpp $LOCAL_LDFLAGS
这样的方式编译能通过但是,运行没有通过.
心疼自己 1s钟
下面的连接阐述了如何在运行时找到动态库.
https://www.cnblogs.com/smartvessel/archive/2011/01/21/1940868.html
我尝试了23两个方法,都失败了心疼自己2s钟
总结下来主要有3种方法:
1. 用ln将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边
ln -s /where/you/install/lib/*.so /usr/lib
sudo ldconfig
2.修改LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/where/you/install/lib:$LD_LIBRARY_PATH
sudo ldconfig
3.修改/etc/ld.so.conf,然后刷新
vim /etc/ld.so.conf
add /where/you/install/lib
sudo ldconfig
万般无奈尝试第一种,成功... ...
接下来运行nlu-demo
发现
param is not valid. Usage: demo test.wav config.txt 1 1 [your-id] [your-scret] 0 这个问题.
看源码.按照官网的拷贝了一份config.txt
#注意:
#1. 以#开头的行为注释,处理时会直接跳过该行。
#2. 配置中每行只能出现一条配置且以key:value的形式出现,切忌中间、行头、行尾不要出现空格,除非key, value字段中本身含有空格
Url:wss://nls.dataapi.aliyun.com:443
#AppKey 不同领域对应不同的AppKey,详细可见官网简介
AppKey:nls-service
#Language:EN/CHN
#VocabId 表示所要使用的热词对应的id,详细可见官网热词说明文档
#VocabId:
#KeyWordListId 表示所要检测的关键词对应的id,详细可见官网关键词说明文档
#KeyWordListId:
#ResponseMode 支持streaming, normal
ResponseMode:streaming
#Format 支持pcm 、 opu
Format:pcm
AsrInEnable:true
发现有问题.
然后更改源码,使用第二种方式.反正看源码你会看到.
还有如果发送 test.wav 的话注意程序的最后一个参数不能使用0
使用成功:
2017-11-23 11:19:52 AliSpeech_C++SDK(WARN): createNluRequest:202 config file is NULL, pls invoke setParam to set parameters
2017-11-23 11:19:52 AliSpeech_C++SDK(DEBUG): ConnectToHttp:127 send http head to server
2017-11-23 11:19:52 AliSpeech_C++SDK(DEBUG): ConnectToHttp:144 receive http status response from server
2017-11-23 11:19:52 AliSpeech_C++SDK(DEBUG): ConnectToHttp:158 receive http head response from server
Id:1234567 {"version":"4.0","id":"5d9403853756431aa8d8ecd1f729e4d7","status":"1","status_code":0,"bstream_attached":false}
Id:1234567 {"version":"4.0","id":"5d9403853756431aa8d8ecd1f729e4d7","status":"1","status_code":200,"finish":"1","bstream_attached":false,"results":{"asr_out":{"result":"你叫什么名字?","uid":"5d9403853756431aa8d8ecd1f729e4d7","confidence":1.0,"finish":1,"version":"4.0","nbest":[{"result":"你叫什么名字?","lexical":"你 叫 什么 名字","confidence":1.0}],"status":1},"ds_out":{"nlu_result":[],"nlg_result":{},"dm_result":{},"status":"0"},"out":{"nlu_result":[],"nlg_result":{},"dm_result":{},"status":"0"}}}
Id:1234567 nls request finished
NLU应该叫做自然语言理解.我说的是你叫什么名字.出现了.鼓掌.撒花.
阿里云SDK语音识别的使用的更多相关文章
- 阿里云SDK手册之java SDK
进行阿里云sdk开发的前提是已经购买阿里云的相关服务才能调用阿里的相关接口进行开发.最近公司在做云管控的项目,于是进行下摘录总结. 一. 环境准备 阿里云针对不同的开发语言提供不同的sdk,由于项目用 ...
- 阿里云 SDK python3支持
最近的一个项目需要操作阿里云的RDS,项目使用python3,让人惊讶的是官方的SDK竟然只支持python2 在阿里云现有SDK上改了改,文件的修改只涉及aliyun/api/base.py,详见h ...
- 01.阿里云SDK调用,获取ESC主机详细信息
一:通过python SDK获取云主机的详细信息 1.创建Accessky码(不做展示) 2.通过pip安装SDK模块,这个阿里云帮助里面有,也不做详细展示. 3.详细使用方法看代码 我下面展示的返回 ...
- 阿里云直播 C# SDK 如何使用
阿里云直播SDK的坑 1.直播云没有单独的SDK,直播部分被封装在CDN的相关SDK当中. 2.针对SDK,没有相关Demo. 3.针对SDK,没有相关的文档说明. 4.针对SDK的说明,官网上的说明 ...
- 阿里云直播PHP SDK如何使用
前一篇聊了聊关于阿里云直播,如何进行进行调试,ok,那这篇我们就聊一聊关于阿里云直播的SDK(当然是关于PHP的),基于下面的原因: 1.直播云没有单独的SDK,直播部分的SDK是直接封装在CDN的相 ...
- 阿里云 OCS SDK for NodeJS介绍
阿里云 OCS SDK for NodeJS介绍 阿里云技术团队:熊亮 阿里云 SDK for NodeJS 是为 NodeJS 开发者提供使用阿里云各项服务的统一入口,由阿里云UED团队负责开发维护 ...
- 阿里云直播SDK - .NET
阿里云sdk:https://develop.aliyun.com/sdk/csharp?spm=5176.doc27234.2.4.QiJb9l Github:https://github.com/ ...
- 通过SDK和API获取阿里云RDS的监控数据
阿里云的RDS自带的监控系统获取数据不怎么直观,想要通过API获取数据通过zabbix显示,因为网上资料缺乏和其他一些原因,获取API签名很困难,但使用阿里云的SDK可以完美避开获取签名的步骤. 阿里 ...
- 阿里云API网关(8)开发指南-SDK下载
网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...
- 语音识别(ASR) 阿里云
做语音识别这块的呢,国内领先的有科大讯飞,BAT这几家公司,鉴于使用科大讯飞的接口需要付费,腾讯云的语音识别申请了几天也没给通过,比较了一下阿里和百度的,个人觉得阿里云的好用一些,这篇博客来讲讲怎么讲 ...
随机推荐
- c++指针传递与引用传递
c 不支持引用传递的! 在 C++中,指针传递和引用传递是两种常用的参数传递方式,它们各自有不同的特点和适用场景.下面是两者之间的主要区别: 1. 语法和使用 指针传递 定义和调用:函数参数是一个指针 ...
- windows10 激活教程
1.环境 适用对象:VL版本的windows OEM版本请使用文末工具激活 1.1查询自己电脑版本 [win+R]->输入[slmgr /dlv]->查看[产品密钥通道] slmgr /d ...
- FastAPI与SQLAlchemy同步数据库集成
title: FastAPI与SQLAlchemy同步数据库集成 date: 2025/04/15 01:27:37 updated: 2025/04/15 01:27:37 author: cmdr ...
- jmeter:结合while控制器实现性能测试
一.场景 1.导入时,导入操作的用户数比较少,但是单次导入的数据量较大 2.导入文件一共有三步操作,上传-验证-导入,执行完当前操作才可以执行下一步操作. 2.导入时,即使导入数据量较大,导入操作需要 ...
- 定时任务Cron表达式工具类Cron Util
依赖 cron-utils的github地址:https://github.com/jmrozanec/cron-utils <dependency> <groupId>com ...
- [开源] .NetCore 使用 ORM FreeSql 访问 Sqlite
1.创建项目 我们以 console 类型项目试验 插入.删除.更新.查询 等功能,创建控制台项目,使用命令: dotnet new console dotnet add package FreeSq ...
- Sentinel——系统规则(系统自适应保护)
目录 系统自适应保护 系统规则 系统自适应保护 Sentinel 系统自适应保护从整体维度对应用入口流量进行控制,结合应用的 Load.总体平均 RT.入口 QPS 和线程数等几个维度的监控指标,让系 ...
- 【代码】Python3|Requests 库怎么继承 Selenium 的 Headers (2024,Chrome)
本文使用的版本: Chrome 124 Python 12 Selenium 4.19.0 版本过旧可能会出现问题,但只要别差异太大,就可以看本文,因为本文对新老版本都有讲解. 文章目录 1 难点解析 ...
- 【代码】Android|获取存储权限并创建、存储文件
版本:Android 11及以上,gradle 7.0以上,Android SDK > 29 获取存储权限 获取存储权限参考:Android 11 外部存储权限适配指南及方案,这篇文章直接翻到最 ...
- IDEA问题之“接口路径查询插件【RestfulToolkit】”
一.场景 只查询Java代码中的路径,这样就可以快速的找到对应的接口 快捷键:Ctrl + \ 二.安装步骤