科大訊飛和百度語音平臺語音識別Java呼叫記錄
註冊並建立應用,下載SDK,選擇語音聽寫+Java+建立的應用(APPID);
未提交稽核的應用,服務量會有500次/日的限制,開發完成後提交稽核解除限制;
SDK裡面的Sample功能直接匯入eclipse,編譯執行,支援粵語;
2、百度http://yuyin.baidu.com/註冊並 建立應用,下載REST API的壓縮文件,提供Http介面支援整段錄音檔案的識別;
原始語音的錄音格式目前支援評測 8k/16k 取樣率 16bit 位深的單聲道語音;
壓縮格式支援:pcm(不壓縮)、wav、opus、speex、amr、x-flac;
語音識別服務開通成功後即可獲得 50000次/日 的線上識別呼叫配額;
http://yuyin.baidu.com/docs/asr/57
Sample程式碼
package org.asr.baidu.speech.serviceapi; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import javax.xml.bind.DatatypeConverter; import org.asr.json.JSONObject; public class Sample { private static final String serverURL = "http://vop.baidu.com/server_api"; private static String token = ""; //private static final String testFileName = "test.pcm"; private static final String testFileName = "D:\\tmp\\1.wav"; //put your own params here private static final String apiKey = ""; private static final String secretKey = ""; private static final String cuid = ""; public static void main(String[] args) throws Exception { getToken(); //method1(); method2(); } private static void getToken() throws Exception { String getTokenURL = "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials" + "&client_id=" + apiKey + "&client_secret=" + secretKey; HttpURLConnection conn = (HttpURLConnection) new URL(getTokenURL).openConnection(); token = new JSONObject(printResponse(conn)).getString("access_token"); } private static void method1() throws Exception { File pcmFile = new File(testFileName); HttpURLConnection conn = (HttpURLConnection) new URL(serverURL).openConnection(); // construct params JSONObject params = new JSONObject(); params.put("format", "pcm"); params.put("rate", 8000); params.put("channel", "1"); params.put("token", token); params.put("cuid", cuid); params.put("len", pcmFile.length()); params.put("speech", DatatypeConverter.printBase64Binary(loadFile(pcmFile))); // add request header conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/json; charset=utf-8"); conn.setDoInput(true); conn.setDoOutput(true); // send request DataOutputStream wr = new DataOutputStream(conn.getOutputStream()); wr.writeBytes(params.toString()); wr.flush(); wr.close(); printResponse(conn); } private static void method2() throws Exception { File pcmFile = new File(testFileName); HttpURLConnection conn = (HttpURLConnection) new URL(serverURL + "?cuid=" + cuid + "&token=" + token).openConnection(); // add request header conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "audio/pcm; rate=8000"); conn.setDoInput(true); conn.setDoOutput(true); // send request DataOutputStream wr = new DataOutputStream(conn.getOutputStream()); wr.write(loadFile(pcmFile)); wr.flush(); wr.close(); printResponse(conn); } private static String printResponse(HttpURLConnection conn) throws Exception { if (conn.getResponseCode() != 200) { // request error return ""; } InputStream is = conn.getInputStream(); BufferedReader rd = new BufferedReader(new InputStreamReader(is)); String line; StringBuffer response = new StringBuffer(); while ((line = rd.readLine()) != null) { response.append(line); response.append('\r'); } rd.close(); System.out.println(new JSONObject(response.toString()).toString(4)); return response.toString(); } private static byte[] loadFile(File file) throws IOException { InputStream is = new FileInputStream(file); long length = file.length(); byte[] bytes = new byte[(int) length]; int offset = 0; int numRead = 0; while (offset < bytes.length && (numRead = is.read(bytes, offset, bytes.length - offset)) >= 0) { offset += numRead; } if (offset < bytes.length) { is.close(); throw new IOException("Could not completely read file " + file.getName()); } is.close(); return bytes; } }
3)兩個平臺都提供相對詳細的開發者教程,Demo也可以直接使用,相對來說科大訊飛平臺支援方言和語音訓練,百度暫時沒發現有語音訓練功能。
相關推薦
科大訊飛和百度語音平臺語音識別Java呼叫記錄
1、科大訊飛平臺:http://www.xfyun.cn/doccenter/java 註冊並建立應用,下載SDK,選擇語音聽寫+Java+建立的應用(APPID); 未提交稽核的應用,服務量會有500次/日的限制,開發完成後提交稽核解除限制;
騰訊地圖和百度地圖的PHP相互轉換
/** * 百度地圖---->騰訊地圖 * @param double $lat 緯度 * @param double $lng 經度 * @return array(); */ function Convert_BD09_To_GCJ02($lat,$lng){ $x_pi =
騰訊地圖和百度地圖的相互轉換
關於百度和騰訊地圖座標轉換的問題,網上大多給的是JS實現的,而JS又是非同步實現的,無法返回值,在有些應用場景下不好使用,這裡我從騰訊論壇上找到了一個PHP轉換的方法,貼出來分享給大家。經測試十分有效
語音識別介面webAPI-python測試:百度和科大訊飛
概述 目前市場上有很多家的語音識別介面可用,簡單測試都不要錢。國內的BAT和科大訊飛,國外的微軟和谷歌都提供了中文的語音識別介面,既有sdk又有webAPI。我的測試都是在python3環境下進行的。 最終選擇百度和科大訊飛的介面。主要是考慮中文識別應該國內
ROS百度語音、科大訊飛參考
百度語音介面:https://blog.csdn.net/u011118482/article/details/55001444科大訊飛:https://www.ncnynl.com/archives/201702/1287.htmlhttps://blog.csdn.net
離線語音合成使用——科大訊飛or雲知音or百度語音
本片主要講解如果使用科大訊飛和雲知音這兩個離線語音合成功能。目前語音合成的主要有科大訊飛、百度語音、雲知聲。一、三大產品功能分析1.百度語音百度語音合成只有離線上語音服務(免費),沒有純離線,離線上語音合成,在首次使用語音功能,必須聯網,讓其通過網路獲得百度的授權檔案之後,方
為什麼百度語音比科大訊飛差了幾條街?
辛辛苦苦,信心滿滿的集成了百度TTS語音合成,結果客戶隨便發了個abcdefghijklmn,分分鐘把百度語音完爆了。 http://ai.baidu.com/tech/speech/tts http://www.xfyun.cn/services/online_tts
FreeSWITCH 語音識別 ASR 介面介紹 科大訊飛 百度 阿里雲 等介面實現
FreeSWITCH 語音識別 ASR 模組 最近很多人都對FreeSWITCH和ASR對接比較感謝興趣,我之前已經做了一個商業模組(商業模組請點選這裡http://www.dingdingtong.
10月15日科技聯播:百度外賣正式更名“餓了麼星選”;央視曝科大訊飛以AI為名拿地蓋別墅
百度外賣退出歷史舞臺,正式更名為“餓了麼星選”,外賣之爭的新戰役打響;科大訊飛再次陷入“輿情高地”,頂著AI的名號搞房地產,遭央視點名曝光;巨頭聯手,網易雲聯手百度,線上音樂市場是否會掀起新的波瀾?一起來看今天的科技快訊: 百度外賣更名“餓了麼星選”,外賣業變兩軍對壘 百度外賣今日正式更名為“餓了麼星
unity接科大訊飛語音識別Windows平臺(補充前面的文章,添加了錄音功能)
其他操作就不在一一贅述了,直說一下新增的負責錄音的那段程式碼 1、首先利用Microphone類開始錄製和結束錄製音訊 2、利用AudioSource類播放錄製的音訊 3、然後用自己寫的方法Float2Byte將錄製的音訊轉成byte資料,供訊飛語音識別方法呼叫 詳細
科大訊飛實現“文字轉語音”和“語音轉文字”
請在這裡檢視示例 ☞ iat示例 詳細介紹 這裡整合了科大訊飛官方示例,去除一些不必要的元素,便於開發者理解和應用相關功能 經測試,在chrome瀏覽器下不允許在http協議下使用html5的ap
Android 科大訊飛 線上和離線語音聽寫
效果圖: 參考資料 專案裡要用語音聽寫,想到了科大訊飛,參考上面的資料完成了最簡單的線上有UI的語音識別,後面想要改成離線也可以使用。參考下面的文章 下載好語記和離線資源之後,想要改成有UI的RecognizerDialog離線語音聽寫,但是沒
我的秋招總結(百度,搜狗,京東,美團,科大訊飛,新華三,國家網際網路應急中心,微盟,ofo面經)
寫在前面的話: 一轉眼已經十一月下旬,也終於得空能夠把剛過去不久的秋招記錄一下,本人是軟體工程專業,工作職位投遞的主要是大資料開發和軟體開發。這篇文章會涉及一些公司的面經以及我個人的一些心得體會,希望能夠對能夠看到這篇文章的朋友有所幫助。 八月到十月,三個多月的時間裡,投
科大訊飛(語音合成和語音聽寫)
由於google的自帶的TTS不支援中文轉語音。所以很無奈的只能選擇語音龍頭中的科大訊飛了 本文章只是簡單的實現語音合成和語音聽寫 package com.example.viocedemo; import com.iflytek.cloud.speech.Rec
C#調用科大訊飛離線語音SDK合成TTS
zha http post ref top 代碼 來源 內容 lib bin目錄下有msc.dll動態庫。c#調用科大訊飛的語音合成,需要引用該文件。 該文件是C語言生成的dll,C#沒辦法直接引用。所有需要用C#重新封裝一個TTS.dll,然後再在C#項目中引用封裝的TT
在C#中使用科大訊飛Web API進行語音合成
.get 接口 style serialize pan python版本 compute serial try 最近工作中需要用到訊飛語音合成接口,網上看了下基本都是Java,PHP,Python版本的,正好補上C# 版本,代碼比較簡單。 首先在訊飛開放平臺上創
有關整合科大訊飛sdk的語音(三)語音合成
有關語音合成的,廢話不說,直接程式碼 @property (nonatomic, strong) IFlySpeechSynthesizer *iFlySpeechSynthesizer;//語音合成 - (void)viewWillAppear:(BOOL)animated
有關整合科大訊飛sdk的語音(二)不帶語音的介面
不帶語音的就需要自定義語音識別時播放的動畫.在呼叫的時候我們需要先判斷麥克風的許可權. - (void)getUserMicrophonePermissions{ int flag; AVAuthorization
有關整合科大訊飛sdk的語音(一)帶語音的介面
最近專案需要整合語音這塊,我選擇了科大訊飛的sdk,IFlySpeechRecognizer是不帶介面的語音聽寫控制元件,顯示介面的時候需要使用者進行自定義語音動畫介面,IFlyRecognizerView是帶介面的控制元件.我會分別介紹這兩種顯示. 帶語音的介面: #impor
手把手的操作——用java呼叫科大訊飛的離線語音識別dll實現離線識別(JNA實現)(一)
#用java呼叫科大訊飛的離線語音識別dll實現離線識別(JNA實現)(一) 本人接的任務,做離線語音識別,用的是科大訊飛的離線識別,java不支援離線了,所以下載了windows的離線包,用JNA進行呼叫。之前用的是jni,但是一直沒有測試通過,本人又不會C++,研究了一個星期終究