网络赚钱平台

    # 語音聽寫 Java SDK 文檔

    # 1、簡介

    音頻聊天聽寫,是利用場景自燃文字加工,將自燃文字音頻改換為文內容工作輸出的技術設備性性。音頻聊天聽寫技術設備性性與英語語法學正常認別技術設備性性的不相同就在,音頻聊天聽寫不所需利用場景某一實際上的英語語法學文件格式,其正常認別范圍內是一個語種內的詞條。在聽寫時,利用還是可以提交特性化的詞表,如建立通訊錄目錄等,延長目錄中句子的配備率(見后方章數)。

    自2019/8/16起,高階實用功能-動態圖片調整 免費資源放開!可到這里 動態修正效果 (opens new window) 在線體驗
    使用方法詳見 動態修正

    語音聽寫詳細的接口介紹及說明請參考: MSC Java API 文檔 (opens new window), 在集成過程中如有疑問,可登錄,查找答案或與其他開發者交流。

    小語種:暫不支持小語種!

    # 2、SDK集成指南

    # 2.1 Demo運行步驟

    1.在管理臺下載下載使用相匹配的sdk(怎么樣下載下載使用見左下方比較常見一些問題)。 2.增加JDK區域環境 編者進行的舊版是jdk1.8,意林雜志都可以從 免費下載需要備考的舊版; 3.進行安裝Eclipse Java IDE 編者用于的傳奇是Ecilpse Java IDE,大家需要到eclipse網官下載地址需用的傳奇; 4.間接打開File-->import Projects--->進行已下載地址java sdk內的sample/MscDemo。 5.作業Mainview只能,中間IatSpeechView為聲音聽寫的能力編號舉例。

    # 2.2 項目集成步驟

    # 2.2.1 SDK包說明

    《JAVA SDK文件節構概覽》
    • bin:

      • 相關類文件
    • lib:

      • msc相關jar包
    • msc:

      • 日志存放文件夾
    • res:

      • UI圖片存放文件夾
    • src:

      • IatSpeechView.java(語音聽寫示例代碼)
    • libmsc32庫文本
    • libmsc64庫文件夾
    • msc32.dll
    • msc64.dll

    # 2.2.2 SDK導入

    1. 在Eclipse中建立你的Java工程。
    2. 將開發工具包中lib目錄下的Msc.jar復制到新建工程的lib目錄中(如下圖所示)。

    1. 在Eclipse中選中工程,通過工具欄Project->Properties->Java Build Path->Libraries->Add JARS或ADD External JARS引入Msc.jar(如下圖所示)。

    1. 將SDK.\lib目錄下庫文件拷貝到工程根目錄(如下圖所示)。

    1. 在你需實用MSC的服務的信息中接入合適的類,如。
      import com.iflytek.cloud.speech.SpeechRecognizer;
      
      

    # 2.2.3 初始化方式

    創辦用戶名手機語音視頻配備對象圖片后才能否安全使用手機語音視頻服務,改進措施在步驟平臺入口跳轉。 更多幼兒園一開始化時確定庫名,或報加載圖片庫驗證失敗的處理小妙招,請基準《MSC Reference Manual》中,更多幼兒園SpeechUtility類,各種SpeechConstant類的就說明。
    // 將“XXXXXXXX”截取成您公司申請的APPID
    SpeechUtility.createUtility( SpeechConstant.APPID +"=XXXXXXXX ");
    

    # 2.3 參數與說明

    # 2.3.1 使用麥克風錄音聽寫示例

    private RecognizerListener recognizerListener = new RecognizerListener() {
    		@Override
    		public void onBeginOfSpeech() {
    			DebugLog.Log( "onBeginOfSpeech enter" );
    			((JLabel) jbtnRecognizer.getComponent(0)).setText("聽寫中...");
    			jbtnRecognizer.setEnabled(false);
    		}
    		@Override
    		public void onEndOfSpeech() {
    			DebugLog.Log( "onEndOfSpeech enter" );
    		}
    		/**
    		 * 調用聽寫報告單. 調用RecognizerResult內型的設別報告單,并對報告單展開累計,顯示信息到Area里
    		 */
    		@Override
    		public void onResult(RecognizerResult results, boolean islast) {
    			DebugLog.Log( "onResult enter" );			
    			//若果要剖析json最終結果,請借鑒本項目流程樣例的 com.iflytek.util.JsonParser類
    //			String text = JsonParser.parseIatResult(results.getResultString());
    			String text = results.getResultString();
    			resultArea.append(text);
    			text = resultArea.getText();
    			if( null!=text ){
    				int n = text.length() / TEXT_COUNT + 1;
    				int fontSize = Math.max( 10, DEF_FONT_SIZE - 2*n );
    				DebugLog.Log( "onResult new font size="+fontSize );
    				int style = n>1 ? Font.PLAIN : DEF_FONT_SIZE;
    				Font newFont = new Font( DEF_FONT_NAME, style, fontSize );
    				resultArea.setFont( newFont );
    			}
    			if( islast ){
    				iatSpeechInitUI();
    			}
    		}
    		@Override
    		public void onVolumeChanged(int volume) {
    			DebugLog.Log( "onVolumeChanged enter" );
    			if (volume == 0)
    				volume = 1;
    			else if (volume >= 6)
    				volume = 6;
    			labelWav.setIcon(new ImageIcon("res/mic_0" + volume + ".png"));
    		}
    
    		@Override
    		public void onError(SpeechError error) {
    			DebugLog.Log( "onError enter" );
    			if (null != error){
    				DebugLog.Log("onError Code:" + error.getErrorCode());
    				resultArea.setText( error.getErrorDescription(true) );
    				iatSpeechInitUI();
    			}
    		}
    		@Override
    		public void onEvent(int eventType, int arg1, int agr2, String msg) {
    			DebugLog.Log( "onEvent enter" );
    			//下面源代碼代替復位,如若會出現間題會將sid能提供給訊飛開發設計者,代替間題精準定位進行排查
    			/*if(eventType == SpeechEvent.EVENT_SESSION_ID) {
    				DebugLog.Log("sid=="+msg);
    			}*/
    		}
    	};
    

    # 2.3.2 使用音頻文件聽寫示例

    	public void RecognizePcmfileByte() {
    		SpeechRecognizer recognizer = SpeechRecognizer.getRecognizer();
    		recognizer.setParameter(SpeechConstant.AUDIO_SOURCE, "-1");
    		//寫音響流時,zip文件是廣泛應用層多余的,不用說再存有
    		//recognizer.setParameter(SpeechConstant.ASR_AUDIO_PATH,
    		//		"./iat_test.pcm");
    		recognizer.setParameter( SpeechConstant.RESULT_TYPE, "plain" );
    		recognizer.startListening(recListener);
    		
    		FileInputStream fis = null;
    		final byte[] buffer = new byte[64*1024];
    		try {
    			fis = new FileInputStream(new File("./test.pcm"));
    			if (0 == fis.available()) {
    				mResult.append("no audio avaible!");
    				recognizer.cancel();
    			} else {
    				int lenRead = buffer.length;
    				while( buffer.length==lenRead && !mIsEndOfSpeech ){
    					lenRead = fis.read( buffer );
    					recognizer.writeAudio( buffer, 0, lenRead );
    				}//end of while			
    				recognizer.stopListening();
    			}
    			
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				if (null != fis) {
    					fis.close();
    					fis = null;
    				}
    		} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}//end of try-catch-finally
    		
    	}
    

    # 2.3.3 上傳用戶詞表

    批量下載業主詞表可不能夠 提升 詞表內關鍵詞的認別率,也可不能夠 提升 語義的功效,同一個業主消費終端設備應對同一個詞表,業主詞表的格試及的結構做法詳細UserWords類。
    private void uploadUserWords() {
    	SpeechRecognizer recognizer = SpeechRecognizer.getRecognizer();
    	UserWords userwords = new UserWords(USER_WORDS);
    	recognizer.setParameter( SpeechConstant.DATA_TYPE, "userword" );
    	recognizer.updateLexicon("userwords", userwords.toString(), lexiconListener);
    }
    
    /**
     * 詞表上傳照片偵聽器
     */
    LexiconListener lexiconListener = new LexiconListener() {
    	@Override
    	public void onLexiconUpdated(String lexiconId, SpeechError error) {
    		if (error == null)
    			DebugLog.Log("*************傳上去好*************");
    		else
    			DebugLog.Log("*************" + error.getErrorCode()+ "*************");
    	}
    };
    
    自己的名字:微信粉絲級詞表和用途級詞表的差異,安轉微信粉絲級熱門話題只在已安轉某個主設備最終上開始即時生效日對該用途下其它主設備不開始即時生效日,在調節臺安轉個人風格化熱門話題(用途級)則對該用途下主設備保障都開始即時生效日。近年聽寫脫機大環境下暫不支撐熱門話題上傳文件。

    # 2.3.4 動態修正

    • 未開啟動態修正:實時返回識別結果,每次返回的結果都是對之前結果的追加;
    • 開啟動態修正:實時返回識別結果,每次返回的結果有可能是對之前結果的的追加,也有可能是要替換之前某次返回的結果(即修正);
    • 開啟動態修正,相較于未開啟,返回結果的顆粒度更小,視覺沖擊效果更佳;
    • 使用動態修正功能需到控制臺-流式聽寫-高級功能處點擊開通,并設置相應參數方可使用,參數設置方法:this.mParamMap.put( SpeechConstant.DWA, DefaultValue.DWA );
    • 動態修正功能僅 中文 支持;

    未開啟與開啟返回的結果格式不同,若開通了動態修正功能并設置了dwa=wpgs(僅中文支持),會有如下字段返回:

    參數 類型 描述
    pgs string 開啟wpgs會有此字段
    取值為 "apd"時表示該片結果是追加到前面的最終結果;取值為"rpl" 時表示替換前面的部分結果,替換范圍為rg字段
    rg array 替換范圍,開啟wpgs會有此字段
    假設值為[2,5],則代表要替換的是第2次到第5次返回的結果

    # 2.3.5 代理服務器設置方法

    在createUtility音頻接口的params技術指標中增添:
    net_type=custom, proxy_ip=<host>, proxy_port=<port>
    其中,<host>,<port>替換為實際的代理服務器地址和端口。
    
    隨后:SpeechUtility.createUtility(SpeechConstant.APPID + “=12345678” + “,” + “net_type=custom, proxy_ip=192.168.1.2, proxy_port=8080”); 還要注意:各性能間,以日語單引號劃分。
    音頻接口原行: public static SpeechUtility createUtility(java.lang.String params)

    注意: 若在設置代理參數后,使用語音服務過程中,報錯10204/10205/10212等網絡異常錯誤時,請查閱以下內容,做出相關操作:

    • 訊飛語音SDK的通信協議使用的是標準HTTP1.1協議,其代理協議使用的是標準HTTP代理協議。
    • 代理服務器需要支持全雙工多問多答方式,即 pipeline 模式。
    • 代理服務器不能對80端口做限制,不能對如下域名做攔截: hdns.openspeech.cn scs.openspeech.cn open.xf-yun.com dev.voicecloud.cn
    • 需要確保代理服務器只負責轉發數據包,不能改變數據包的完整性和時序性。
    • 代理服務器在轉發數據包時,不能在HTTP協議頭部添加 IE6 標識頭。

    # 2.3.6 常用參數說明

    參數名稱 名稱 說明
    domain 應用領域 應用領域
    iat:日常用語
    medical:醫療
    :醫療領域若未授權無法使用,可到控制臺-語音聽寫(流式版)-高級功能處添加試用或購買;若未授權無法使用會報錯11200。
    language 語言區域 選擇要使用的語言區域,目前sdk支持中文:zh_cn,英文:en_us。
    accent 方言 當前僅在LANGUAGE為簡體中文時,支持方言選擇,其他語言區域時, 請把此參數值設為null。默認值:中文普通話(mandarin),其他方言參數可在控制臺方言一欄查看。
    vad_bos 前端點超時 開始錄入音頻后,音頻前面部分最長靜音時長 聽寫默認值5000ms,取值范圍[1000ms,10000ms]。
    vad_eos 后端點超時 開始錄入音頻后,音頻后面部分最長靜音時長,聽寫默認值1800ms,取值范圍[0,10000ms]。
    sample_rate 采樣率 音頻的采樣率是音頻屬性的其中一個,一般來說,采樣率越高音頻的質量越好,識別的匹配率越高,但上傳帶寬消耗也越大。聽寫:支持采樣率{8KHZ,16KHZ}。
    nbest 句子多侯選 通過設置此參數,獲取在發音相似時的句子多侯選結果。設置多候選會影響性能,響應時間延遲200ms左右。取值范圍:聽寫[1,5]。
    注:該擴展功能若未授權無法使用,可到控制臺-語音聽寫(流式版)-高級功能處免費開通;若未授權狀態下設置該參數并不會報錯,但不會生效。
    wbest 詞語多侯選 通過設置此參數,獲取在發音相似時的詞語多侯選結 果。設置多候選會影響性能,響應時間延遲200ms左右。取值范圍:聽寫[1,5]。
    注:該擴展功能若未授權無法使用,可到控制臺-語音聽寫(流式版)-高級功能處免費開通;若未授權狀態下設置該參數并不會報錯,但不會生效。
    result_type 結果類型 結果類型包括:xml, json, plain。xml和json即對應的結構化文本結構,plain即自然語言的文本。
    ptt 標點 (僅中文支持)是否開啟標點符號添加1:開啟(默認值)0:關閉 ;示例:this.mParamMap.put( SpeechConstant.ASR_PTT, DefaultValue.PTT );

    注: 多候選效果是由引擎決定的,并非絕對的。即使設置了多候選,如果引擎并沒有識別出候選的詞或句,返回結果也還是單個。
    備注:以上均為SDK常用參數說明,更多詳細參數請參考:.

    # 2.3.7 識別結果說明

    JSON字段 英文全稱 類型 說明
    sn sentence number 第幾句
    ls last sentence boolean 是否最后一句
    bg begin number 保留字段,無需關注
    ed end number 保留字段,無需關注
    ws words array
    cw chinese word array 中文分詞
    w word string 單字
    sc score number 分數
    聽寫效果范本:
    {
        "sn": 1,
        "ls": true,
        "bg": 0,
        "ed": 0,
        "ws": [
            {
                "bg": 0,
                "cw": [
                    {
                        "w": "令天",
                        "sc": 0
                    }
                ]
            },
            {
                "bg": 0,
                "cw": [
                    {
                        "w": "的",
                        "sc": 0
                    }
                ]
            },
            {
                "bg": 0,
                "cw": [
                    {
                        "w": "天氣",
                        "sc": 0
                    }
                ]
            },
            {
                "bg": 0,
                "cw": [
                    {
                        "w": "怎么能樣",
                        "sc": 0
                    }
                ]
            },
            {
                "bg": 0,
                "cw": [
                    {
                        "w": "。",
                        "sc": 0
                    }
                ]
            }
        ]
    }
    
    多侯選數據舉例:
    {
        "sn": 1,
        "ls": false,
        "bg": 0,
        "ed": 0,
        "ws": [
            {
                "bg": 0,
                "cw": [
                    {
                        "w": "想必聽",
                        "sc": 0
                    }
                ]
            },
            {
                "bg": 0,
                "cw": [
                    {
                        "w": "拉德斯基進行曲",
                        "sc": 0
                    },
                    {
                        "w": "拉得斯實行曲",
                        "sc": 0
                    }
                ]
            }
        ]
    }
    

    # 3、常見問題

    # 集成語音識別功能時,程序啟動后沒反應

    答:請診斷是不是忘啦利用SpeechUtility原始化。 也能夠 在聽寫監聽器器的onError涵數中網頁打印不正確資訊,會按照資訊警告,查看不正確源。

    # SDK是否支持本地語音能力

    答:Java網絡平臺短暫不支撐地方學習能力。

    # 如何設置語音网络赚钱平台服務URL?

    答:在createUtility插口中獲取:server_url = http://YourDomainName/msp.do (YourDomainName所指微信語音网络赚钱平台提供服務阿里网络赚钱平台域名,請制作者擅自替代) 列舉:SpeechUtility.createUtility(SpeechConstant.APPID + "=12345678" + "," + "server_url = http://sdk.openspeech.cn/msp.do"); 注重:各基本參數間,以英語怎么說句號分倉縫。 插口扮演: public static SpeechUtility createUtility(java.lang.String params)

    # SDK形式是否支持多路并發?

    答:sdk:業主端滿足規劃,鼓勵軟件Android、ios、windows、linux、Java網站,不鼓勵軟件高潛在; webapi:安全服務端滿足規劃,不要求網站、不要求語言英語,鼓勵軟件高潛在。

    # 如何設置識別業務所需的額外參數(其它業務類似)?

    答:如要使用性能數據,各大性能數據使用考慮SpeechConstant類

    # 獲取到語音聽寫結果為空或錯誤內容或者內容不全的原因是什么?

    答:原因可能是:
    1、音頻格式不正確,客戶端支持的音頻編解碼算法只支持16位Intel PCM格式的音頻,請使用Cool Edit Pro工具(網頁搜索下載即可)查看音頻格式,sdk目前支持的格式是 pcm 和 wav 格式、音頻采樣率要是 16k 或者 8k、采樣精度16 位、單聲道音頻。請使用cool edit軟件(網頁搜索下載此軟件即可)查看音頻格式是否滿足相應的識別引擎類型
    2、引擎的參數設置不正確,如沒有設置好正確的引擎類型和采樣率等。
    3、音頻中間有靜音或者雜音音頻超過了后端點(默認為2000ms)的設置,此時請使用Cool Edit Pro工具查看音頻內容,并且設置后端點(vad_eos)為最大值10000ms
    包含超過后端點最大值的靜音或者雜音音頻識別不完整是正常的。

    # 語音聽寫支持識別多長時間的音頻,支持的音頻格式是什么?

    答:語音聽寫的功能是可以識別60S以內的短音頻,將音頻轉化成文本信息。
    聽寫sdk目前支持的格式是 pcm 和 wav 格式、音頻采樣率要是 16k 或者 8k、采樣精度16 位、單聲道音頻。請使用cool edit軟件(網頁搜索下載此軟件即可)查看音頻格式是否滿足相應的識別引擎類型,否則識別為空或者識別為錯誤文本,格式必須正確,除上述格式均不識別,音頻格式一定要滿足要求。現語音聽寫WebAPI接口的中文普通話和英文支持mp3格式,如有需要,請參考語音聽寫(流式版)WebAPI (opens new window)
    具體可以參考:http://bbs.teknisi-computer.com/forum.php?mod=viewthread&tid=7051
    另外我們識別的音頻長度最大為 60S,在使用音頻是要注意你的本地音頻的參數要和代碼里的讀取音頻參數保持一致

    # Java聽寫sdk如何下載?

    答:文檔中心---快速指引 (opens new window)有介紹步驟---根據步驟下載Java在線聽寫sdk

    # 更多Java問題,請見論壇帖子

    SDK一般話題:
    日赚300的网络兼职 趣闲赚app persistentfrontiers.comambrosiachocolatemaker.comweb20office.com