需求是專案要開始用語音翻譯
查詢了一些市面上面常用的SDK 模組,大約是 google 語音,百度語音 ,讯飞语音
個人的一些淺見是
1.google很紅,背後金主很夠力,所以當然如果考慮之後功能的拓展性,是很好的選擇,不過重點是,他是要收費的!要收費的!要收費的..
2.百度語音感覺使用的人也很多,資源也算多了
3.讯飞语音,老實說這是第一次聽到,但感覺使用的人不會少於百度,SDK 的做法,好像和百度相近
最後我選擇了讯飞~~
我特別推薦 MemoryC 大大的一系列關於 讯飞语音 ,相當的專業和用心
MemoryC 讯飞语音 語音系列文章
[MemoryC] Unity3D调用Android功能与组件(一)——调用Toast
解說 在 unity 裡調用 AndroidJavaClass 的方法和原裡
http://m.manew.com/thread-96254-1-1.html
[MemoryC] Unity3D调用Android功能与组件(八)——讯飞语音识别与合成
unity 調用 讯飞语音 的基本功
http://www.manew.com/thread-98696-1-1.html
Unity3D调用Android功能与组件(八Plus)-全功能讯飞语音
作者把之前 寫的jar ,再寫成c# ,可以從可了原理~~ 用心!!
http://m.manew.com/thread-100446-1-1.html
當然一開始,一定要去讯飞科大拜碼頭
http://www.xfyun.cn/
然後這篇文章可以供您在讯飞科大裡做為導航,找到語音的模組
http://www.manew.com/blog-123323-3938.html
這過程中,我也摸索了許久,如何自己包jar 去unity 使用,雖說這個部份似乎不是也一定要做,
但其實就算引用 讯飞 的 jar ,那也是它用的許多技術包成給 unity使用的 ,了解這個部份,有助於自己開發的能力~
這部份可參考 此文章
http://gn02214231.pixnet.net/blog/post/177357928-android-studio-%E5%8C%AF%E5%87%BA-jar-%E6%AA%94
在unity呼叫 android 的function上,其實也有些關念要懂的,這文章說有了需注意的事情
https://blog.csdn.net/Silk2018/article/details/72328264
綜合一點自己的心得
最後自己完成專案後,最主要需要的模組都會在 Plugins>Android 裡面
AndoridMianifest 這個xml 除了要加上所需的參數外,
記得也要加這個<activity android:name="com.unity3d.player.UnityPlayerActivity" 才可引用 anroid 相關SDK
VoiceStatic.cs 裡這一行也為最關鍵
iflyVoiceJava=new AndroidJavaObject("com.unity3d.player.IFlyVoiceJava","你自己申请的appid",currentActivity);
appid 是去官網申請來的語音功能,有了它,才算是和讯飞 這個 生命體有了連結
然後lib 裡的這些也是從官網註刪後,download下來的語音部份的SDK
注意一開始libs,其實還不只這幾個資料匣,是build專案時會報錯
去爬文後,才知那也算是 讯飞 的問題吧,但...人家是免錢,還想要怎樣 ?..
於是刪一刪,剩這3個資料匣,就可以了
好了,來個簡單測單的測試吧
string text1="我真是大帥哥!! ";
IFlyVoice.startSpeaking(text1);
成功在手機聽到語音 "我真是大帥哥" 心中有點感動><..
而且實在說.. 它的語音女聲還挺好聽的~~
最後,還是對這個我原本陌生的體系 讯飞科大,產生敬意
去google 了一下它是何來頭呢 ?
原來人家成立很久了,是專門研究人工智能的
在大陸也掛牌的上市公司
哇...失敬~
