UE4 集成讯飞听写插件
搞了几天,有些坑记录一下。
3个方面的知识需要学习
1、制作UE4插件
2、引入第三方库
3、讯飞听写的api
一看是参考 https://blog.csdn.net/u012793104/article/details/78067937
http://doc.xfyun.cn/msc_windows/%E8%AF%AD%E9%9F%B3%E5%90%AC%E5%86%99.html
API:http://mscdoc.xfyun.cn/windows/api/iFlytekMSCReferenceManual/qisr_8h.html
整个插件架构:录音 ->识别(讯飞语音听写,即上图架构)->本地转码 以显示
主要需要了解的API: QISRSessionBegin 需要你更改自己的参数,可以按照下载的案例改
QISRAudioWrite: 搞懂这个才能明白整个讯飞识别功能的机制
开发过程主要的问题表现为打印信息有时并不是中文,而是未转换的拼接字符串
所以好好看了看 下载的案例,和API 经过不断调试才发现就是json的问题
之前的代码 都是拼接所有 从 QISRGetResult获得的结果,然后最后一步转换,所以出现问题了.
比如录入"床前明月光"
{"sn":1,
"ls":false,
"bg":0,
"ed":0,
"ws":
[
{"bg":1,"cw":[{"sc":0.0,"w":"床"}]},
{"bg":1,"cw":[{"sc":0.0,"w":"前"}]},
{"bg":1,"cw":[{"sc":0.0,"w":"明"}]},
{"bg":1,"cw":[{"sc":0.0,"w":"月光"}]}
]
}
{"sn":2,"ls":true,"bg":0,"ed":0,
"ws":
[{"bg":0,"cw":[{"sc":0.0,"w":"。"}]}]
}
如果结果为上面,则无法转换json以致原样输出,因为这是直接将两个json对象拼接了。
{"sn":1,
"ls":false,
"bg":0,
"ed":0,
"ws":
[
{"bg":1,"cw":[{"sc":0.0,"w":"床"}]},
{"bg":1,"cw":[{"sc":0.0,"w":"前"}]},
{"bg":1,"cw":[{"sc":0.0,"w":"明"}]},
{"bg":1,"cw":[{"sc":0.0,"w":"月光"}]}
]
}
这种情况就会成功输出中文。
所以问题是 我获得的结果有时被加了一个句号,我想着应该是语法的缘故。
所以我换了一个方法,先解析再拼接 解决了问题。
----
ps:测试要时刻注意麦克风是否正常·,别搞自己
下载地址:
github:https://github.com/huzhongyidihao/XFPlugin
UE4 集成讯飞听写插件的更多相关文章
- 集成讯飞听写iOS sdk到unity遇到的问题:weak成员和strong成员
在unity里集成讯飞语音听写iOS sdk的过程中,遇到一个问题,官方的demo中可以将多次onResults回调返回的结果累积拼接起来组成一个完整的结果,而我集成过来以后就不能累积了,只拿到最后一 ...
- Android Studio快速集成讯飞SDK实现文字朗读功能
今天,我们来学习一下怎么在Android Studio快速集成讯飞SDK实现文字朗读功能,先看一下效果图: 第一步 :了解TTS语音服务 TTS的全称为Text To Speech,即“从文本到语音” ...
- Android集成讯飞语音、百度语音、阿里语音识别
项目实践:https://blog.csdn.net/Jsagacity/article/details/80094164 demo下载地址:https://fir.im/jy28 demo源码:ht ...
- 讯飞语音JavaWeb语音合成解决方案
在线语音合成 将文字信息转化为声音信息,给应用配上"嘴巴".我们提供了众多极具特色的发音人(音库)供您选择.其合成音在音色.自然度等方面的表现均接近甚至超过了人声.这种语音合成体验 ...
- Android讯飞语音云语音听写学习
讯飞语音云语音听写学习 这几天两个舍友都买了iPhone 6S,玩起了"Hey, Siri",我依旧对我的Nexus 5喊着"OK,Google" ...
- Android 讯飞语音听写SDK快速接入(附空指针解决和修改对话框文字方法)
1.账号准备工作 首先要有一个讯飞的账号啦,为后面申请APPID.APPKey等东西做准备.顺带一提:讯飞对不同认证类型用户开 放的SDK的使用次数是有不同的,详情如下图. 账号申请完成后,需要去你自 ...
- iOS开发讯飞语音的集成
1.进入官网注册账号,登陆,注册,应用. 2,下载sdk 导入系统库. 3,关闭bitcode 4,初始化讯飞语音. NSString * initString = [[NSString alloc ...
- 讯飞语音唤醒SDK集成流程
唤醒功能,顾名思义,通过语音,唤醒服务,做我们想做的事情. 效果图(开启应用后说讯飞语音或者讯飞语点唤醒) 源码下载 地址:http://download.csdn.net/detail/q48788 ...
- 一百元的智能家居——Asp.Net Mvc Api+讯飞语音+Android+Arduino
大半夜的,先说些废话提提神 如今智能家居已经不再停留在概念阶段,高大上的科技公司都已经推出了自己的部分或全套的智能家居解决方案,不过就目前的现状而言,大多还停留在展厅阶段,还没有广泛的推广起来,有人说 ...
随机推荐
- 【Codeforces 300C】Beautiful Numbers
[链接] 我是链接,点我呀:) [题意] 让你找到长度为n的数字 这个数字只由a或者b组成 且这n个数码的和也是由a或者b组成的 求出满足这样要求的数字的个数 [题解] 枚举答案数字中b的个数为y,那 ...
- mysql 查询当天、本周,本月,上一个月的数据---https://www.cnblogs.com/benefitworld/p/5832897.html
mysql 查询当天.本周,本月,上一个月的数据 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM ...
- RabbitMQ-rabbitMq各个特性的使用(三)
准备 1.引入客户端和配置文件依赖类 <dependency> <groupId>com.rabbitmq</groupId> <artifactId> ...
- Ubuntu16.04再次装机记
个人的吐槽 整个国庆假期(9天),基本上都在搭建PHP环境中耗费了. 是这样的——来大学报到前,想着大学里用个Dev-C++应该够了,于是把Ubuntu删了,腾出了100G的空间.到了CSU,加了团委 ...
- (15)MOG背景减少
1.根据上一帧找出变化的东西(如行走的人),消除背景,即不变的东西 motion detection 2.存在自身移动时的噪声和周围物体缓慢移动的噪声(这里播放的视频,我不断移动,背景可能有轻微的 ...
- Hihocoder 1329(splay)
Problem 平衡树 Splay 题目大意 维护一个数列,支持三种操作. 操作1:添加一个数x. 操作2:询问不超过x的最大的数. 操作三:删除大小在区间[a,b]内的数. 解题分析 和上一题相比, ...
- Junit4使用总结
常用注解 @Before:初始化方法,在任何一个测试方法执行之前,必须执行的代码. @After:释放资源,在任何一个测试方法执行之后,需要进行的收尾工作. @Test:测试方法,表明这是一个测试 ...
- ubuntu tweak Install
ubuntu tweak 1:增加PPA源 sudo add-apt-repository ppa:tualatrix/ppa 2:編輯源列表sudo gedit /etc/apt/sources.l ...
- mysql 存储引擎的选择你会吗?
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXExMzU1NTQxNDQ4/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- ZOJ 1860:Dog & Gopher
Dog & Gopher Time Limit: 2 Seconds Memory Limit: 65536 KB A large field has a dog and a gop ...