 
						 
						 
			 
						 
						(1) 概念解釋
短語音識別:將一段不超過15秒的語音轉換成文本,將音頻文件中的文字信息識別出來,代替傳統輸入場景
(2) 說明
Hi,您好,歡迎使用有道智云短語音識別iOS SDK。
如果您想快速體驗服務,建議您前往 語音識別體驗中心 或者在體驗中心右下側找到小程序二維碼,掃描進行體驗。
本文檔主要針對需要集成短語音識別服務iOS SDK的開發工程師,詳細描述有道智云短語音識別能力及集成過程。
如果您有與我們商務合作的需求,可以通過以下方式聯系我們:
商務郵箱: AIcloud_Business@corp.youdao.com
如果您對文檔內容有任何疑問,可以通過以下幾種方式聯系我們:
客服QQ:1906538062
智云語音技術交流QQ群:861723255
聯系郵箱: zhiyun@corp.youdao.com
溫馨提示: 本文檔主要針對開發人員,接入測試前需要在后臺創建 IOS 應用,并綁定實例;如果您還沒有,請按照 新手指南 操作。 平臺向每個賬戶贈送50元的體驗金,供用戶集成前測試所用,具體資費規則詳見 短語音識別服務報價 。
開始集成SDK之前開發者需要登錄 有道智云平臺 ,創建應用獲取應用ID(或者通過運營人員獲取應用ID),以便使用識別服務。
語音識別 SDK 由如下幾個 SDK 組成,用戶可根據需要組合使用:
語音識別 SDK 由如下幾個 SDK 組成:FanYiSDK.h、libbase.a、libspeechrecognition.a;
(1). 添加頭文件和庫文件:將語音識別 SDK 添加到工程中,包括 FanYiSDK.h頭文件、libbase.a和libspeechrecognition.a文件。
(2). 設置工程Other Linker Flags為-ObjC。
(3). 在工程build Phases – Link Binary With Libraries中添加libbase.a, AdSupport.framework, CoreTelephony.framework, SystemConfiguration, libz.tbd和libsqlite3.tbd。
說明:所有的查詢都需要初始化key,只執行初始化一次即可。
//初始化key
YDTranslateInstance *yd = [YDTranslateInstance sharedInstance];
yd.appKey = @"your appkey";
說明:支持最長15秒的短語音在線識別功能,請參考 demo 中 SpeechRecognitionViewController 的使用;
-格式支持:wav(不壓縮,pcm編碼,采樣率:推薦16k ,編碼:16bit位深的單聲道),aac,mp3
YDSpeechRecognitionRequest *request = [YDSpeechRecognitionRequest request];
YDSpeechRecognitionParam *param = [YDSpeechRecognitionParam param];
param.langType = @"zh-CHS";//源語言
param.rate = @"8000";//采樣率
param.channel = @"1";//聲道數,目前只支持單聲道,請寫固定值1
request.param = param;
NSData *speechData = [NSData dataWithContentsOfURL:self.recordFileUrl];
NSString *base64Str = [speechData base64EncodedStringWithOptions:0];
識別返回兩種情況,一種是成功,相關結果存儲在 result 參數中,另外一種是失敗,失敗信息放在 error,是一個枚舉類。
[request lookup:base64Str WithCompletionHandler:^(YDSpeechRecognitionRequest *request, YDSpeechRecognitionResult *result, NSError *error) {
if (error) {
//失敗
NSLog(@"error:%@", error);
}else {
//成功
[self handleReuslt:result];
}
}];
對于在線語音識別,服務器查詢結果返回數據如下:
{
    "result": [
        "今天天氣不錯"    //識別結果
    ],  
    "errorCode": "0",   //錯誤碼。一定存在
}
| 字段 | 含義 | 
|---|---|
| result | 識別結果發音地址,識別成功一定存在 | 
| errorCode | 識別結果錯誤碼,一定存在。詳見 錯誤代碼列表 | 
SDK demo對上述json數據解析封裝為YDSpeechRecognitionResult對象,如下:
@interface YDSpeechRecognitionResult : NSObject
/* 識別結果 */
@property (nonatomic, copy) NSArray *result;
/* 翻譯結果錯誤碼,一定存在 */
@property (nonatomic, copy) NSString *errorCode;
+ (instancetype)initWithDict:(NSDictionary *)info;
@end
| 英文名 | 中文名 | 代碼 | 
|---|---|---|
| Arabic | 阿拉伯語 | ar | 
| Bahasa (Indonesia) | 巴哈薩語(印度尼西亞) | in | 
| Cantonese | 粵語 | yue | 
| Catalan | 加泰隆語 | ca | 
| Czech | 捷克語 | cs | 
| Danish | 丹麥語 | da | 
| Dutch | 荷蘭語 | nl | 
| Dutch (Belgium) | 荷蘭語(比利時) | nl-BEL | 
| English (Australia) | 英語(澳大利亞) | en-AUS | 
| English (GB) | 英語(英國) | en-GBR | 
| English (India) | 英語(印度) | en-IND | 
| English (Ireland) | 英語(愛爾蘭) | en-IRL | 
| English (Scotland) | 英語(蘇格蘭) | en-SCT | 
| English (South Africa) | 英語(南非) | en-ZAF | 
| English (US) | 英語(美國) | en | 
| Finnish | 芬蘭語 | fi | 
| French | 法語 | fr | 
| French (Canada) | 法語(加拿大) | fr-CAN | 
| German | 德語 | de | 
| Greek | 希臘語 | el | 
| Hebrew | 希伯來語 | he | 
| Hindi | 印地語 | hi | 
| Hungarian | 匈牙利語 | hu | 
| Italian | 意大利語 | it | 
| Japanese | 日語 | ja | 
| Korean | 韓語 | ko | 
| Mandarin (China) | 普通話(中國) | zh-CHS | 
| Mandarin (Taiwan) | 普通話(中國臺灣) | zh-TWN | 
| Norwegian | 挪威語 | no | 
| Polish | 波蘭語 | pl | 
| Portuguese (Brazil) | 葡萄牙語(巴西) | pt-BRA | 
| Portuguese (Portugal) | 葡萄牙語(葡萄牙) | pt | 
| Romanian | 羅馬尼亞語 | ro | 
| Russian | 俄語 | ru | 
| Slovak | 斯洛伐克語 | sk | 
| Spanish (Castilian) | 西班牙語(卡斯蒂利亞) | es-ESP | 
| Spanish (Columbia) | 西班牙語(哥倫比亞) | es-COL | 
| Spanish (Mexico) | 西班牙語(墨西哥) | es-MEX | 
| Swedish | 瑞典語 | sv | 
| Thai | 泰語 | th | 
| Turkish | 土耳其語 | tr | 
| Valencian | 巴倫西亞語 | spa-ESP | 
| 錯誤碼 | 含義 | 
|---|---|
| 101 | 缺少必填的參數 | 
| 102 | 不支持的語言類型 | 
| 103 | 翻譯文本過長 | 
| 104 | 不支持的API類型 | 
| 105 | 不支持的簽名類型 | 
| 106 | 不支持的響應類型 | 
| 107 | 不支持的傳輸加密類型 | 
| 108 | 應用ID無效,注冊賬號,登錄后臺創建應用和實例并完成綁定,可獲得應用ID和應用密鑰等信息 | 
| 109 | batchLog格式不正確 | 
| 110 | 無相關服務的有效實例 | 
| 111 | 開發者賬號無效 | 
| 113 | q不能為空 | 
| 114 | 不支持的圖片傳輸方式 | 
| 201 | 解密失敗,可能為DES,BASE64,URLDecode的錯誤 | 
| 202 | 簽名檢驗失敗 | 
| 203 | 訪問IP地址不在可訪問IP列表 | 
| 205 | 請求的接口與應用的平臺類型不一致,如有疑問請參考入門指南 | 
| 206 | 因為時間戳無效導致簽名校驗失敗 | 
| 207 | 重放請求 | 
| 301 | 辭典查詢失敗 | 
| 302 | 翻譯查詢失敗 | 
| 303 | 服務端的其它異常 | 
| 304 | 會話閑置太久超時 | 
| 401 | 賬戶已經欠費停 | 
| 402 | offlinesdk不可用 | 
| 411 | 訪問頻率受限,請稍后訪問 | 
| 412 | 長請求過于頻繁,請稍后訪問 | 
| 1001 | 無效的OCR類型 | 
| 1002 | 不支持的OCR image類型 | 
| 1003 | 不支持的OCR Language類型 | 
| 1004 | 識別圖片過大 | 
| 1201 | 圖片base64解密失敗 | 
| 1301 | OCR段落識別失敗 | 
| 1411 | 訪問頻率受限 | 
| 1412 | 超過最大識別字節數 | 
| 2003 | 不支持的語音聲道 | 
| 2004 | 不支持的語音上傳類型 | 
| 2005 | 不支持的語言類型 | 
| 2006 | 不支持的識別類型 | 
| 2201 | 識別音頻文件過大 | 
| 2301 | 識別音頻時長過長 | 
| 2411 | 不支持的音頻文件類型 | 
| 2412 | 不支持的發音類型 | 
| 3001 | 不支持的語音格式 | 
| 3002 | 不支持的語音采樣率 | 
| 3003 | 不支持的語音聲道 | 
| 3004 | 不支持的語音上傳類型 | 
| 3005 | 不支持的語言類型 | 
| 3006 | 不支持的識別類型 | 
| 3007 | 識別音頻文件過大 | 
| 3008 | 識別音頻時長過長 | 
| 3009 | 不支持的音頻文件類型 | 
| 3010 | 不支持的發音類型 | 
| 3201 | 解密失敗 | 
| 3301 | 語音識別失敗 | 
| 3302 | 語音翻譯失敗 | 
| 3303 | 服務的異常 | 
| 3411 | 訪問頻率受限,請稍后訪問 | 
| 3412 | 超過最大請求字符數 | 
| 4001 | 不支持的語音識別格式 | 
| 4002 | 不支持的語音識別采樣率 | 
| 4003 | 不支持的語音識別聲道 | 
| 4004 | 不支持的語音上傳類型 | 
| 4005 | 不支持的語言類型 | 
| 4006 | 識別音頻文件過大 | 
| 4007 | 識別音頻時長過長 | 
| 4201 | 解密失敗 | 
| 4301 | 語音識別失敗 | 
| 4303 | 服務的異常 | 
| 4411 | 訪問頻率受限,請稍后訪問 | 
| 4412 | 超過最大請求時長 | 
| 4414 | 音頻格式轉換失敗 | 
| 5001 | 無效的OCR類型 | 
| 5002 | 不支持的OCR image類型 | 
| 5003 | 不支持的語言類型 | 
| 5004 | 識別圖片過大 | 
| 5005 | 不支持的圖片類型 | 
| 5006 | 文件為空 | 
| 5201 | 解密錯誤,圖片base64解密失敗 | 
| 5301 | OCR段落識別失敗 | 
| 5411 | 訪問頻率受限 | 
| 5412 | 超過最大識別流量 | 
| 9001 | 不支持的語音格式 | 
| 9002 | 不支持的語音采樣率 | 
| 9003 | 不支持的語音聲道 | 
| 9004 | 不支持的語音上傳類型 | 
| 9005 | 不支持的語音識別 Language類型 | 
| 9301 | ASR識別失敗 | 
| 9303 | 服務器內部錯誤 | 
| 9411 | 訪問頻率受限(超過最大調用次數) | 
| 9412 | 超過最大處理語音長度 | 
| 10001 | 無效的OCR類型 | 
| 10002 | 不支持的OCR image類型 | 
| 10004 | 識別圖片過大 | 
| 10201 | 圖片base64解密失敗 | 
| 10301 | OCR段落識別失敗 | 
| 10411 | 訪問頻率受限 | 
| 10412 | 超過最大識別流量 | 
| 13001 | 不支持的角度類型 | 
| 13002 | 不支持的文件類型 | 
| 13003 | 表格識別圖片過大 | 
| 13004 | 文件為空 | 
| 13301 | 表格識別失敗 | 
| 17001 | 需要圖片 | 
| 17002 | 圖片過大(1M) | 
| 17003 | 識別類型未找到 | 
| 17004 | 不支持的識別類型 | 
| 17005 | 服務調用失敗 | 
| -1000 | 未知錯誤 | 
| -2000 | 查詢輸入為空 | 
運行程序崩潰?
 檢查下是否對應的 SDK靜態庫包 是否放到當前工程目錄下。
翻譯沒結果? 檢查下識別接口回調的錯誤信息,保證申請的應用ID是有效且提前綁定了。
如何獲得應用ID 注冊賬號,登錄后臺創建應用和實例并完成綁定, 可獲得應用ID和應用密鑰等信息。