1. 程式人生 > >訊飛語音轉文字

訊飛語音轉文字

Button點選事件:

public void but(View view) {
    //1.建立RecognizerDialog物件,第二引數就是一個初始化的監聽,我們用不上就設定為null
RecognizerDialog mDialog = new RecognizerDialog(this, null);
//2.設定accent、language等引數
mDialog.setParameter(SpeechConstant.LANGUAGE, "zh_cn");//設定為中文模式
mDialog.setParameter(SpeechConstant.ACCENT, "mandarin");
//設定為普通話模式 //若要將UI控制元件用於語義理解,必須新增以下引數設定,設定之後onResult回撥返回將是語義理解 //mDialog.setParameter("asr_sch", "1"); //mDialog.setParameter("nlp_version", "2.0"); //建立一個裝每次解析資料的容器(你說話有停頓,解析就是一段一段的,而用容器就能拼接成一句話了) mStringBuilder = new StringBuilder(); //3.設定回撥介面,語音識別後,得到資料,做響應的處理. mDialog.setListener(new RecognizerDialogListener() { //識別成功執行 引數1 recognizerResult:識別出的結果,Json格式(使用者可參見附錄12.1)
// 引數2 b:等於true時會話結束。方法才不會繼續回撥 //一般情況下會通過onResults介面多次返回結果,完整的識別內容是多次結果的累加,(關於解析Json的程式碼可參見MscDemo中JsonParser類) public void onResult(RecognizerResult recognizerResult, boolean b) { //拿到訊飛識別的結果 String resultString = recognizerResult.getResultString(); System.out.println("訊飛識別的結果 "
+ resultString); //自定義解析bean資料的一個方法.用到了Gson,在專案裡關聯一下. String text = parseData(resultString); //容器裝解析出來的資料 mStringBuilder.append(text); //對引數2進行判斷,如果為true,代表這個方法不會再回調,就把容器裡的資料轉成字串.拿來使用. if (b) { String result = mStringBuilder.toString(); System.out.println("話說完,最終的結果 : " + result); editText.setText(result); } } @Override//識別失敗執行 speechError:錯誤碼 public void onError(SpeechError speechError) { } }); //4.顯示dialog,接收語音輸入 mDialog.show(); }
private String parseData(String resultString) {
    //建立gson物件,記得要關聯一下gson.jar包方可以使用.
Gson gson = new Gson();
//引數 1.String型別的json資料  引數 2.存放json資料對應的bean類
XFBean xfBean = gson.fromJson(resultString, XFBean.class);
//建立一個集合,用來存放bean類裡的物件.
ArrayList<XFBean.WS> ws = xfBean.ws;
//建立一個容器,用來存放從每個集合裡拿到的資料,使用StringBuilder效率更高
StringBuilder stringBuilder = new StringBuilder();
//使用高階for迴圈,取出特定屬性的特有資料,裝入StringBuilder中
for (XFBean.WS w : ws) {
        String text = w.cw.get(0).w;
stringBuilder.append(text);
}
    //把容器內的資料轉為字串返回出去.
return stringBuilder.toString();
}


相關推薦

科大語音文字JSON資料的

  報名參加了一個創青春大學生創業大賽,需要把人機互動完善一下,就做了一個簡單的語音互動介面。程式的大體思路是語音方面(包括文字轉語音,語音轉文字)呼叫科大訊飛的 SDK完成,智慧方面(包括智慧文字回覆) ,程式不難,但是在json資料的解析方面花的時間有點長。     j

語音文字

Button點選事件: public void but(View view) { //1.建立RecognizerDialog物件,第二引數就是一個初始化的監聽,我們用不上就設定為null RecognizerDialog mDialog = new Recogn

第三方整合 語音識別 文字

private void init() { //合成監聽器 SynthesizerListener mSynListener = new SynthesizerListener() { //會話結束回撥介面,沒有錯誤時,error為null public

如何通過語音文字合成後的語音儲存到本地

轉自:http://www.krislq.com/2014/02/voicecloud_local/ 訊飛大家一定都非常的熟悉。最近需要把做個小功能來把文字轉換成語音,所以網上搜索了下,剛好訊飛在android端做了更新,可以儲存語音到本地啦。果斷下載來試了下。效果不錯喲。親。 如果下載訊飛的開發包就

Android Studio 接入 語音合成(文字語音

1.下載相應的SDK(參考我上一篇文章:https://mp.csdn.net/postedit/83743563) 2.佈置資源 . 3.新增許可權 :在Application的根目錄下,為了可以訪問手機的一些功能 <!--連線網路許可權,用於執行雲端語音能力 -->

呼叫科大API實現文字語音

#ifndef TRANSCODE_AUDIO_H #define TRANSCODE_AUDIO_H typedef void(*TranscodeCallbackFcn)(int, int, void*); extern int transcode_audio(const char *inAudio,

科大實現“文字語音”和“語音文字

請在這裡檢視示例 ☞ iat示例 詳細介紹 這裡整合了科大訊飛官方示例,去除一些不必要的元素,便於開發者理解和應用相關功能 經測試,在chrome瀏覽器下不允許在http協議下使用html5的ap

iOS ---使用科大技術實現語音文字(語音聽寫)

本文主要介紹的是利用科大訊飛技術實現語音轉文字的功能(語音聽寫).首先,註冊訊飛賬號,申請APPID然後,下載科大訊飛SDK將開發工具包中lib目錄下的iflyMSC.framework新增到新建工程中.按下圖新增SDK所需要的iOS庫。(除iflyMSC.framework

語音整合(語音文字文字語音

語音聽寫SDK適配安卓6.0需要手動申請許可權 關於語音聽寫SDK的開發,參考科大訊飛開放平臺官網為準 在百度搜索訊飛科技開放平臺,自己註冊賬號 自己建立一個新應用 在控制檯介面建立完應用,然後選擇SDK下載 選擇需要的SDK進行下載(這裡我們選

Android 科大語音整合,文字語音

前言: 記錄一下科大訊飛的文字轉語音功能的sdk的整合過程,希望能夠幫助到大家。 1. 登入官網,應用註冊。 訊飛開放平臺,進行簡單的開發者註冊。進入個人中心,註冊應用。 註冊完成後,我們可以看到自己的appid。選擇自己要開通的功能,然

2018 Android 文字語音(中文) TextToSpeech+科大語音引擎3.0

最近專案中需要用到文字轉語音。 本來是想使用朗讀女生成的聲音檔案放到專案資源中進行播放。 但是產品要求改成動態的。於是就用了Google為我們封裝好的類TTS,即[TextToSpeech]:大家可以看下詳細文件。 程式碼其實不多,但是寫完之後測試就有問題

利用語音聽寫介面實現實時語音寫。

訊飛語音,識別真的很準確。 訊飛語音轉寫,實時的貴,不實時的慢。。。 今天嘗試了用訊飛聽寫通過流的方式實現實時轉寫。 主要思路是這樣。首先確認pcm檔案的儲存路徑。 然後建立一個執行緒不斷讀寫pcm內的內容變化。 每次讀取1024*1024位元組呼叫 mIat.w

android+語音+一個簡單的文字語音相互轉換

<!--連線網路許可權,用於執行雲端語音能力 -->    <uses-permissionandroid:name="android.permission.INTERNET"/>    <!--獲取手機錄音機使用許可權,聽寫、識別、語義理解需要用到此許可權 -->  

科大語音合成,pcmwav

import android.media.AudioFormat; import android.media.AudioRecord; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.Fi

語音開發之文字理解

在做語音機器人中,文字理解和語音理解一樣重要,而且可以互換。我前期用的是語音理解,感覺效果不是太好後面改成語音聽寫+文字理解。不過不管哪種理解前幾部分都是一樣的。 在你的工程應用裡面由我的應用中進入 進入已開通的開放語音部分: 進入建立我的語義

使用語音實現語音識別,朗讀文字

一.走近訊飛(iFly) 語音技術實現了人機語音互動,使人與機器之間溝通變得像人與人溝通一樣簡單。語音技術主要包括語音合成和語音識別兩項關鍵技術。讓機器說話,用的是語音合成技術;讓機器聽懂人說話,用的是語音識別技術。此外,語音技術還包括語音編碼、音色轉換、口語評測、語音

語音聲紋識別技術——自由說(文字密碼,數字密碼也會介紹)

訊飛科技的語音技術,個人認為非常強大,但是技術文件的介紹,還是有些不完全,也沒有線上的技術客服,相信有很多朋友都會遇到大大小小的問題,第三方SDK的整合,或者整合後方法的呼叫等。 廢話不多說,這裡我先介紹下最近我使用的聲紋識別技術——自由說(文字密碼,數字密碼也會介紹到)

iOS中 語音識別功能/語音文字教程具體解釋 韓俊強的博客

rdd tex forkey dex errortype map pin ins prop 原文地址:http://blog.csdn.net/qq_31810357/article/details/51111702前言:近期研究了一下語音識別,從百度語音識別到訊飛語音

語音JavaWeb語音合成解決方案

docker ffmpeg 訊飛 語音合成 在線語音合成 將文字信息轉化為聲音信息,給應用配上“嘴巴”。我們提供了眾多極具特色的發音人(音庫)供您選擇。其合成音在音色、自然度等方面的表現均接近甚至超過了人聲。這種語音合成體驗,達到了真正可商用的標準 訊飛的語音合成還是很牛P的,不但有基礎發音

Android集成語音、百度語音、阿裏語音識別

下載 oid androi tail dst -- 阿裏 info 科大 項目實踐:https://blog.csdn.net/Jsagacity/article/details/80094164 demo下載地址:https://fir.im/jy28 d