摘要:最后,現(xiàn)在時(shí)間是年月日到目前為止科大訊飛的不支持客戶端和服務(wù)端分開的情況,也就是說,語音合成是在服務(wù)端的話筒的播放,語音識(shí)別需要服務(wù)端的麥克風(fēng)錄音,,對(duì)于沒有任何卵用。
首先登陸科大訊飛開發(fā)者平臺(tái),注冊(cè)賬號(hào),(走你->http://www.xfyun.cn/)
可以根據(jù)功能(語音識(shí)別,語音播放等),平臺(tái)(java,window等),來創(chuàng)建屬于自己的應(yīng)用。
應(yīng)用創(chuàng)建成功后對(duì)有一個(gè)對(duì)應(yīng)的appid以及sdk(開發(fā)工具包);
我們自己開發(fā)的話需要sdk里面的四個(gè)文件
分別是兩個(gè)庫文件:libmsc64(32).so ,msc64(32).dll 兩個(gè)jar包 :Msc.jar ,json-jena.jar
jar包正常導(dǎo)入,兩個(gè)文件需要注意,如果是javaSE項(xiàng)目,就直接放到項(xiàng)目的根目錄下,
如果項(xiàng)目是javaweb且在window系統(tǒng)中,將文件放在哪里都可以,但是必須將文件的路徑加入到電腦環(huán)境變量的path路徑里,
如果是項(xiàng)目是javaweb在linux系統(tǒng)中,需要將兩個(gè)庫文件放到lib文件夾下。
最后,現(xiàn)在時(shí)間是2017年7月11日14:39.到目前為止科大訊飛的javaSDK不支持客戶端和服務(wù)端分開的情況,也就是說,語音合成是在服務(wù)端的話筒的播放,語音識(shí)別需要服務(wù)端的麥克風(fēng)錄音,so,javaSDK對(duì)于javaWeb沒有任何卵用。
下面是javaSE版本的dome的介紹:
/** * Created by Mshu on 2017/6/27. * 語音識(shí)別 */ public class Listening { private static final String APPID = "你的專屬appid"; public static void main(String[] args) { SpeechUtility.createUtility("appid=" + APPID); //1.創(chuàng)建SpeechRecognizer對(duì)象 SpeechRecognizer mIat= SpeechRecognizer.createRecognizer( ); //2.設(shè)置聽寫參數(shù),詳見《MSC Reference Manual》SpeechConstant類 mIat.setParameter(SpeechConstant.DOMAIN, "iat"); //領(lǐng)域短信和日常用語:iat (默認(rèn));視頻:video;地圖:poi;音樂:music mIat.setParameter(SpeechConstant.LANGUAGE, "zh_cn");//簡(jiǎn)體中文:zh_cn(默認(rèn));美式英文:en_us mIat.setParameter(SpeechConstant.ACCENT, "mandarin ");//方言普通話:mandarin(默認(rèn));粵 語:cantonese四川話:lmz;河南話:henanese mIat.setParameter(SpeechConstant.ASR_AUDIO_PATH, "./tts_test.pcm"); //識(shí)別完成后在本地保存一個(gè)音頻文件 mIat.setParameter(SpeechConstant.AUDIO_SOURCE,"1"); //如果不寫默認(rèn)是“1”,“1”是從麥克風(fēng)讀取聲音,“-1”是從.pcm音頻文件讀取聲音 //3.開始聽寫- Recognizer recognizer =new Recognizer(); mIat.startListening (recognizer); } } /** * Created by Mshu 2017/7/11. * 語音識(shí)別回掉 */ public class Recognizer implements RecognizerListener { //開始錄音 public void onBeginOfSpeech() { System.out.println(".。開始錄音。."); } //音量值0~30 public void onVolumeChanged(int volume){ /*System.out.println("當(dāng)前音量"+volume);*/ } //結(jié)束錄音 public void onEndOfSpeech() { System.out.println("錄音結(jié)束"); } //擴(kuò)展用接口 public void onEvent(int eventType,int arg1,int arg2,String msg) {} //聽寫結(jié)果回調(diào)接口(返回Json格式結(jié)果,用戶可參見附錄); //一般情況下會(huì)通過onResults接口多次返回結(jié)果,完整的識(shí)別內(nèi)容是多次結(jié)果的累加; //關(guān)于解析Json的代碼可參見MscDemo中JsonParser類; //isLast等于true時(shí)會(huì)話結(jié)束。 public void onResult(RecognizerResult results, boolean isLast){ System.out.println("Result:"+results.getResultString ()); //結(jié)果實(shí)例 //Result:{"sn":1,"ls":false,"bg":0,"ed":0,"ws":[{"bg":0,"cw":[{"sc":0.00,"w":"你好"}]}]} //sn:第幾句 //ls:是否是第一句 //bg:開始 //ed:結(jié)束 //ws:詞語 //cw:中文分詞 //w:單詞 //sc:分?jǐn)?shù) } //會(huì)話發(fā)生錯(cuò)誤回調(diào)接口 public void onError(SpeechError error) { // error.getPlainDescription(true); //獲取錯(cuò)誤碼描述 System.out.println(error.getErrorDesc()); } * Created by Mshu on 2017/6/27. * 語音合成 */ import com.iflytek.cloud.speech.*; public class Spesking { private static final String APPID = "59522b3c"; public static void specking() { SpeechUtility.createUtility("appid=" + APPID); //1.創(chuàng)建SpeechSynthesizer對(duì)象 SpeechSynthesizer mTts= SpeechSynthesizer.createSynthesizer( ); //2.合成參數(shù)設(shè)置,詳見《MSC Reference Manual》SpeechSynthesizer 類 mTts.setParameter(SpeechConstant.VOICE_NAME, "xiaoyan"); //設(shè)置發(fā)音人 mTts.setParameter(SpeechConstant.SPEED, "50"); //設(shè)置語速 范圍0~100 mTts.setParameter(SpeechConstant.VOLUME, "80"); //設(shè)置音量,范圍0~100 //設(shè)置合成音頻保存位置(可自定義保存位置),保存在“./tts_test.pcm” //如果不需要保存合成音頻,注釋該行代碼 mTts.setParameter(SpeechConstant.TTS_AUDIO_PATH, "./tts_test.pcm"); //3.開始合成 Synthesizer synthesizer = new Synthesizer(); mTts.startSpeaking("語音合成測(cè)試程序", synthesizer); } } /** * Created by Asus on 2017/6/29. * 語音合成回掉 */ public class Synthesizer implements SynthesizerListener { //會(huì)話結(jié)束回調(diào)接口,沒有錯(cuò)誤時(shí),error為null public void onCompleted(SpeechError error) { } @Override public void onEvent(int i, int i1, int i2, int i3, Object o, Object o1) { } //緩沖進(jìn)度回調(diào) //percent為緩沖進(jìn)度0~100,beginPos為緩沖音頻在文本中開始位置,endPos表示緩沖音頻在文本中結(jié)束位置,info為附加信息。 public void onBufferProgress(int percent, int beginPos, int endPos, String info) { } //開始播放 public void onSpeakBegin() { } //暫停播放 public void onSpeakPaused() { } //播放進(jìn)度回調(diào) //percent為播放進(jìn)度0~100,beginPos為播放音頻在文本中開始位置,endPos表示播放音頻在文本中結(jié)束位置. public void onSpeakProgress(int percent, int beginPos, int endPos) { } //恢復(fù)播放回調(diào)接口 public void onSpeakResumed() { } }
以上是語音識(shí)別和語音合成兩個(gè)基礎(chǔ)功能,由于篇幅限制,就不寫其他功能了,
其他功能比如無聲合成和音頻流聽寫,其實(shí)就是將文字合成語音文件和讀取語音文件并播放兩個(gè)功能。對(duì)了!
還有上傳詞匯表的功能,上傳用戶詞表可以提高詞表內(nèi)詞匯的識(shí)別率,也可以提高語義的效果,對(duì)付多音字比較奏效,比如 Fa Yan的讀音,對(duì)應(yīng)的漢子有 “發(fā)言” , “發(fā)炎” ;如果將 ”發(fā)炎“ 的詞匯加入詞匯表,它會(huì)優(yōu)先辨識(shí)為發(fā)炎。
完整功能的dome地址:https://github.com/Mshu95/vioce (別用我的appid)
----在下載的SDK里面也有官方的例子。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/67365.html
摘要:近日,科大訊飛與華為在深圳簽署了戰(zhàn)略合作協(xié)議,科大訊飛董事長(zhǎng)劉慶峰華為輪值董事長(zhǎng)徐直軍均出席簽約儀式,足以看出雙方對(duì)此次合作的重視程度。華為云需要科大訊飛,特別是科大訊飛的智能語音技術(shù)。在云計(jì)算智能語音領(lǐng)域,BAT由于多年的互聯(lián)網(wǎng)基因,都有非常深厚的智能語音功底,百度有百度度秘,阿里有阿里小蜜,騰訊有騰訊小微。而華為云作為一家傳統(tǒng)ICT轉(zhuǎn)型做云的企業(yè),似乎并沒有經(jīng)受太多互聯(lián)網(wǎng)智能語音訓(xùn)練。但...
摘要:目前較好的語音識(shí)別系統(tǒng)采用雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò),,這種網(wǎng)絡(luò)能夠?qū)φZ音的長(zhǎng)時(shí)相關(guān)性進(jìn)行建模,從而提高識(shí)別正確率。因而科大訊飛使用深度全序列卷積神經(jīng)網(wǎng)絡(luò)來克服雙向的缺陷。 人工智能的應(yīng)用中,語音識(shí)別在今年來取得顯著進(jìn)步,不管是英文、中文或者其他語種,機(jī)器的語音識(shí)別準(zhǔn)確率在不斷上升。其中,語音聽寫技術(shù)的發(fā)展更為迅速,目前已廣泛在語音輸入、語音搜索、語音助手等產(chǎn)品中得到應(yīng)用并日臻成熟。但是,語音應(yīng)用的...
摘要:科大訊飛的語音識(shí)別客戶端提供了下的語言,卻沒有的。有了,我們就可以很輕松的用來使用科大訊飛的語音識(shí)別了。通過函數(shù)加載動(dòng)態(tài)庫在里面調(diào)用函數(shù)時(shí)主要是注意參數(shù)的類型。 ctypes 是 Python 的一個(gè)模塊,它提供了C語言相關(guān)的數(shù)據(jù)類型,可以方便的調(diào)用C語言編寫的DLL(Windows 動(dòng)態(tài)鏈接庫)和so(Linux動(dòng)態(tài)鏈接庫)??拼笥嶏w的語音識(shí)別客戶端SDK提供了Linux下的C語言S...
摘要:一背景作為一名前端同學(xué)有時(shí)候感覺挺可憐的,復(fù)雜的操作都依賴后端同學(xué)在服務(wù)器端完成。 一、背景 作為一名前端同學(xué)有時(shí)候感覺挺可憐的,復(fù)雜的操作都依賴后端同學(xué)在服務(wù)器端完成。那么,有一天我們自己想玩一個(gè)新技術(shù)或者后端同學(xué)不搭理我們,怎么辦?絕望中..... 二、小程序語音識(shí)別 接到這個(gè)需求,我們明確兩個(gè)問題: 小程序錄音支持什么格式 由小程序文檔可知:只支持 mp3格式和 aac格式微信...
摘要:所以這次總結(jié)一下在中使用訊飛進(jìn)行語音合成的過程。最后需要將配置參數(shù)編碼為字符串字典類型明文字符串編碼字符串,具體實(shí)現(xiàn)可以參考代碼。返回值的具體說明請(qǐng)參考返回值語音合成。 前幾日訊飛開放平臺(tái)推出了WebAPI接口,恰好最近需要實(shí)現(xiàn)一個(gè)文字轉(zhuǎn)語音的功能,于是就嘗試著用了起來。但不知什么原因,官方文檔的調(diào)用示例一直報(bào)錯(cuò),最后自己照著示例的思路用python3重寫了一遍。所以這次總結(jié)一下在Py...
閱讀 550·2021-08-31 09:45
閱讀 1661·2021-08-11 11:19
閱讀 895·2019-08-30 15:55
閱讀 833·2019-08-30 10:52
閱讀 2865·2019-08-29 13:11
閱讀 2937·2019-08-23 17:08
閱讀 2847·2019-08-23 15:11
閱讀 3077·2019-08-23 14:33