Unity Hololens2 离线中文语音转文字-(离线讯飞中文语音)
注意:如果MR上测试麦克风输入后得到的音频音量很小,环境声音会覆盖人输入的声音,可以买个type-c麦克风插在MR上。准备试下Hololens上的MicStream的麦克风输入的,结果卡在了MR上这部分的DLL缺失问题。讯飞的离线中文语音是安卓版本的,思路就是MR上发送需要转文字的语音数据到服务器上,然后服务器往安卓(离线中文语音)上发送这段语音数据,在安卓上进行转文字后再返回给服务器,服务器发给
##笔记记录
还没找到可以在Hololens2上离线中文转文字的好插件,所以用的是讯飞的离线中文语音。
讯飞的离线中文语音是安卓版本的,思路就是MR上发送需要转文字的语音数据到服务器上,然后服务器往安卓(离线中文语音)上发送这段语音数据,在安卓上进行转文字后再返回给服务器,服务器发给MR。
Unity- Hololens2
MR上开发获取语音数据就可以用unity的Microphone来获取麦克风输入的语音数据
au.clip = Microphone.Start("", false, 10, 16000);
au.Stop();
获取语音数据和保存文件可参考:
unity录音并保存为mp3或wav文件(pc端) - 路过暴风的个人空间 - OSCHINA - 中文开源技术交流社区
然后通过HTTP发送语音文件到服务器端。
注意:如果MR上测试麦克风输入后得到的音频音量很小,环境声音会覆盖人输入的声音,可以买个type-c麦克风插在MR上。 准备试下Hololens上的MicStream的麦克风输入的,结果卡在了MR上这部分的DLL缺失问题。
MicSteam可参考:
Voice recording/playing — Mixed Reality Developer Forum
GitHub - microsoft/MixedRealityToolkit-Unity at htk_release
I want to know how to use Microphone Stream Selector with HoloLens2 - Microsoft Q&A
服务器
建立一个与MR进行HTTP交互,与安卓进行websocket交互的服务器
安卓端-讯飞离线中文语音
再Andorid studio上开发出讯飞离线中文语音的arr包,再导入Unity进行开发安卓。
Andorid Stuidio:
导入讯飞的Msc.jar和导入untiy的classes.jar。
导入讯飞的离线中文库:两个.jet文件
基于下面这个在线语音安卓工程改成了离线的中文语音
设置离线:
mIat.setParameter(SpeechConstant.ENGINE_TYPE,SpeechConstant.TYPE_LOCAL); mIat.setParameter(ResourceUtil.ASR_RES_PATH,getResourcePath());
public static String getResourcePath() { StringBuffer tempBuffer = new StringBuffer(); tempBuffer.append(ResourceUtil.generateResourcePath(UnityPlayer.currentActivity,ResourceUtil.RESOURCE_TYPE.assets,"iat/common.jet")); tempBuffer.append(";"); tempBuffer.append(ResourceUtil.generateResourcePath(UnityPlayer.currentActivity,ResourceUtil.RESOURCE_TYPE.assets,"iat/sms_16k.jet")); return tempBuffer.toString(); }
更多推荐
所有评论(0)