语音接入常见问题

语音

(yam.zhang) #1

Q:按以下方法手动设置了语音接入相关资料, 检查 /data/system/openvoice_profile.json 也有了。Rokid(我是 amlogic 905D 开发板 Rokid) 经 sync 后 reboot 了。 怎么检查已设置成功?

A:首先再次确认一下配置文件有没有操作正确,使用命令 adb shell cat /system/etc/openvoice_profile.json,然后本身我们系统没有放置任何交互逻辑,只有一个激活模块在里面,需要使用命令adb logcat -s VoiceService查看唤醒和语音识别结果,重点关注日志中的 result 信息,前提是你需要对着开发板说 “若琪,你好”,“若琪,今天天气怎么样”, “若琪,xxxxxx”。

如果有返回就是写对了呢,乱码问题可能是由于在 windows 系统的原因。

Q:请问TTS功能可以离线使用么?

A:目前还不行哟

Q:android sdk 的初始化的 参数都是哪里获取的??appKey, appSecret, accessKey 都是哪里来的

A:这个是针对 B 端的 ,需要研发大大手动添加呢,目前不开发给普通的开发者呢,不好意思哟,你可以直接用我们自己的 rokid app 呢

Q:语音接入中的已选技能如何使用

A:建议您选择公有技能哟,私有技能暂时还没有开发呢,如果您选择了公有技能,页面显示已添加的话,就可以正常的跟其他的技能一样使用啦

Q:是否可以接入瑞芯微芯片

A:我们这边支持芯片接入 SDK,只支持 32 位。

Q:在 TtsRequest 请求时,设置 sample_rate 为 16000, codec 为 OPU,将返回的语音数据用 foobar2000 播放无法识别?请问我可以通过什么工具来播放?

A:建议 codec 用 mp3 或者 pcm 格式来听

Q:板子运行的是 freertos 操作系统,能够通过 websocket 按照协议接入 tts 和 speech?

A:可以的呢

Q:设备通过 websocket 像服务器发起 TtsRequest 请求,如果 TtsResponse 中的 finish 不为 1,设备这边一直读取数据直到 TtsResponse 中 finish 为 1,然后再吧 pb 数据中 voice 合并起来就是完整的语音了,这样理解对吗?

A:是的,完全正确。

Q:目前想通过 rokid 做第三方品牌的开发;现在唤醒词是 rokid,是否能够使用第三方的品牌词,例如小乐、小白等等

A:支持替换自定义唤醒词的哈

Q:是否支持英语识别?

A:支持识别英语,但目前识别单词效果比较好一些,识别长句效果还需多多提升。

Q:有没有直接获取麦克风阵列的原始数据的接口(不是命令行)

A:目前没有接口,可以获取多路语音数据,你可以从 hal 层的 mic_array 阵列的源码中去截取这部分数据。

Q:请问有没有直接能跑在手机上的APP demo啊?包括(asr tts nlp)等功能

A:demo目前还没有,已经在安排,如果有了我们在论坛上放出。

Q:请问目前Rokid 目前有哪些功能?比如能点歌?能查天气?能查股票?这样的

A:如果您已经买了机器,那么目前有两个地方可以查看应用功能,一个是手机APP上有所有的应用功能介绍,以及如何把这个功能玩起来;另外,你也可以看一下我们的产品说明书,有做应用功能的说明;

如果您还没有买机器,我们现在已有的应用大致是这样,内容类的:音乐、故事、新闻、以及喜马拉雅上的内容都做了对接;工具类:天气、时间日历、闹钟提醒、翻译、计算器、倒计时等等;智能家居控制,对接了部分智能家居厂商;基础聊天;后面还有很多的应用规划

Q:没有看到跟语音唤醒相关的内容介绍,请问语音唤醒是在哪个模块里啊?

A:激活在rokid-blacksiren里面

Q:怎样获得麦克风阵列的输出数据?怎样获得原始的4 路音频以及那输出的一路音频数据呢?

A:参考链接文档

可以把这个参数:


"vt_classify_shield":-0.3,

"vt_nnet_path":""

}

],

"alg_rs_delay_on_left_right_channel":true,

"raw_stream_channel_num":1,

"raw_stream_sample_rate":16000,

"raw_stream_byte":2

},

"debug_config": {

"debug_mic_array_record":false,

"debug_pre_result_record":false,

"debug_proc_result_record":false,

"debug_rs_record":false,

"debug_aec_record":false,

"debug_bf_record":true,

"debug_bf_raw_record":false,

"debug_vad_record":false,

"debug_opu_record":false,

"debug_record_path":"/data/blacksiren"

}

设置为 true,然后重启 blacksiren 后,会在 /data/blacksiren 目录拿到你要的 PCM 数据。

Q:rokid-openvoice-sdk有没有app可以直接调用的sdk?

Q:集成 TTS 的相关问题

A:详见语音开放平台android sdk尝鲜版

Q:有没有本地识别的SDK,Linux系统的?

A:我们目前已经有了初步可用的 linux turn key solution, 可以到参考文档 了解下目前的系统情况。

Q:使用linux sdk 测试 asr,个把小时后,必定会出现崩溃

Q:linux sdk asr,现在测试老返回错误-------asr onError 101

A:我们目前已经有了初步可用的 linux turn key solution, 可以到参考文档 了解下目前的系统情况。

Q:Android手机如何接入Rokid语音测试?

A:可以使用 android 的 sdk,先接入 speech 功能,将 audiorecord 的结果直接上云

Q:使用linux sdk测试void tts_demo(),出来的声音是男声的,如果设置为女声呢?

A:tts 的语音是女声,pcm 格式是 22.05K 16 位 单声道;

Q:在某个NLU Domain特殊训练的结果,能否独立出来只为某个客户所用?

A:如果客户将此 domain 设置为私有,则该 domain 就只能对该客户或者该客户允许的友商使用。

这个可以在创建技能的时候声明为私有。

Q:前端降噪可以独立出来吗

A:暂时独立不出来,siren 目前只能以 native service 的形式存在。

Q:libcurl依赖问题

编译 siren,发现无 libcurl,需要移植:

make: *** 没有规则可以创建 “out/target/product/rk312x/obj/SHARED_LIBRARIES/libbsiren_intermediates/import_includes” 需要的目标“out/target/product/rk312x/obj/SHARED_LIBRARIES/libcurl_intermediates/export_includes”。 停止。

请问是否有现成的方案安装这个库?

A:建议您同步一个 aosp6.0 的干净代码,然后将相关依赖加进您的工程,可以使用清华的源,速度挺快的。

https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/

如果仍然有问题,我们很快会直接提供 so

Q:有没有单独的TTS开发接口

A:android tts 及 speech sdk 已放出

https://developer-forum.rokid.com/t/android-sdk/203

我们 github 上面还有一个 go 的 sample code 可以参考,您可以参考一下:https://github.com/Rokid/rokid-openvoice/tree/master/sample-code-golang/src/ttsclient

Q:app接入TTS语音合成功能问题

A:编译好的 android sdk 已放出

https://developer-forum.rokid.com/t/android-sdk/203

Q:这个音接入对语音格式作何要求? 是单声道,立体声音频还是多轨音频。声音采样率要求多高?多少位音频数据(16bit 还是 24bit)

A:目前我们系统有对接过 48k/32bit 4mic, 6mic, 8mic 的接入方式。

如果直接对接云端不通过我们的前端降噪模块的话,使用 16K 采样率, 16bit,1 路的 PCM/OPUS 编码的音频文件。

如果使用前端降噪,则需要按照 mic 阵列的参数完成一个配置文件,前端降噪支持 4,6,8 路,48K,32bit 的 PCM 语音流。

Q:mic 阵列的硬件方案会是统一标准设计吗?还是只需要遵循接口定义即可? 降噪,寻向算法是跑在 android 上的还是 Linux?

A:硬件会提供多种方案选择。软件都是通过标准 ALSA 接入。目前是包装在 android 的 native 层。我们提供了 HAL 层的实现。Linux 版本还在开发中。