iOS快速入手語(yǔ)音識(shí)別、聽寫、評(píng)測(cè)、播報(bào)

引言

子彈短信,不僅支持語(yǔ)音輸入、文本輸入,同時(shí)還支持“語(yǔ)音輸入、文字輸出”。

前言

之前在訊飛人臉識(shí)別的基礎(chǔ)上做了活體人臉識(shí)別,并在當(dāng)時(shí)沒(méi)有免費(fèi)活體識(shí)別的大環(huán)境下,本著程序猿的互聯(lián)網(wǎng)精神,在Git上第一個(gè)站出來(lái)開源出來(lái),感謝大家的支持。

后來(lái)也一直打算拿出來(lái)訊飛的語(yǔ)音識(shí)別,做些事情方便大家,初衷是想做一款讀書軟件,后來(lái)拖延癥晚期患者一直沒(méi)上手。今年7月份偶然參加了一個(gè)活動(dòng),需要做一款A(yù)PP參賽,后來(lái)決定做一個(gè)語(yǔ)音識(shí)別方面的,又重新找回訊飛語(yǔ)音識(shí)別,做了一個(gè)語(yǔ)音方面的APP。

趕巧制作過(guò)程中聽聞錘子公司出了“子彈短信”,也是使用了語(yǔ)音識(shí)別的功能,想來(lái)后續(xù)會(huì)有很多同胞會(huì)應(yīng)用到語(yǔ)音方面內(nèi)容,故做完APP后,趕緊過(guò)來(lái)開源分享給大家。

正文

本次開源的語(yǔ)音識(shí)別是在訊飛語(yǔ)音的基礎(chǔ)上,重新封裝了語(yǔ)音評(píng)測(cè)、語(yǔ)音聽寫、語(yǔ)音朗讀三個(gè)功能,集成更方便,使用更便捷。下面仍從集成和使用方面來(lái)講解。

集成

集成可以參考訊飛語(yǔ)音識(shí)別官方集成API。同時(shí)在APP中需要首先初始化語(yǔ)音識(shí)別功能。

NSString*initString = [[NSStringalloc]initWithFormat:@"appid=%@",@"訊飛平臺(tái)注冊(cè)APPID"];

[IFlySpeechUtility createUtility:initString];

語(yǔ)音聽寫

語(yǔ)音聽寫功能用于識(shí)別輸入語(yǔ)音,輸出文字功能。

這里封裝成了一個(gè)方法,通過(guò)Block回調(diào)識(shí)別結(jié)果resText和錯(cuò)誤信息error。

/**

?語(yǔ)音聽寫

?@param callback 聽寫結(jié)果回調(diào)

?*/

+ (void)xf_AudioRecognizerResult: (void(^)(NSString *resText,NSError *error))callback

語(yǔ)音評(píng)測(cè)

語(yǔ)音評(píng)測(cè)功能中,可以設(shè)置想要評(píng)測(cè)的內(nèi)容,通過(guò)用戶朗讀內(nèi)容,機(jī)器識(shí)別并對(duì)比評(píng)測(cè),得到朗讀評(píng)分。

這里把評(píng)測(cè)中的狀態(tài)分了開始錄音、錄音音量、停止錄音、取消錄音、評(píng)測(cè)結(jié)果、評(píng)測(cè)失敗 6種情況,在Block回調(diào)中可通過(guò)type獲取狀態(tài),并進(jìn)行判斷。progress為各個(gè)狀態(tài)情況下的數(shù)值,為0-100之間的有理數(shù)。resultMsg為評(píng)測(cè)結(jié)果、評(píng)測(cè)失敗兩種情況下返回的評(píng)測(cè)結(jié)果、失敗內(nèi)容。

/**

?語(yǔ)音測(cè)評(píng)

?@param text 評(píng)測(cè)內(nèi)容

?@param callback 評(píng)測(cè)結(jié)果返回

?*/

+ (void)xf_AudioEvaluationOfText: (NSString*)text callback:(void(^)(XF_Audio_Evaluation_Type type,float progress,NSString *resultMsg))callback;

語(yǔ)音合成

語(yǔ)音合成即語(yǔ)音播報(bào),給出內(nèi)容,由機(jī)器朗讀內(nèi)容。

Block返回內(nèi)容里type分為合成進(jìn)度、開始播放、播放進(jìn)度、播放結(jié)束四種合成狀態(tài)。progress為各個(gè)階段的進(jìn)度值。

以下為默認(rèn)播報(bào)語(yǔ)音發(fā)音人的方法:

/**

?語(yǔ)音合成

?@param text 合成內(nèi)容

?@param callback 回調(diào)結(jié)果

?*/

+ (void)xf_AudioSynthesizeOfText: (NSString*)text callback:(void(^)(XF_Audio_Synthesize_Type type,NSInteger progress))callback;

以下為自定義語(yǔ)音發(fā)音人的語(yǔ)音合成調(diào)用方法

/**

?語(yǔ)音合成

?@param text 合成內(nèi)容

?@param people 設(shè)置發(fā)音人

?@param callback 回調(diào)結(jié)果

?*/

+ (void)xf_AudioSynthesizeOfText: (NSString*)text fromPeople:(NSString*)people callback:(void(^)(XF_Audio_Synthesize_Typetype,NSIntegerprogress))callback;

尾聲

Demo的gitHub地址為:https://github.com/fuzheng0301/FZSpeak,如果能幫到大家,深感榮幸,感謝您的star。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容