語音識別完成詩句的查詢功能,iOS AVSpeechSynthesis語音輸出結果的詩歌APP
阿新 • • 發佈:2017-10-17
water 兩個 min 介紹 ech fin com esp log
前言
當前的APP的查詢都是使用手動輸入,不僅效率低,而且查詢的語句的限制比較大,不能夠方便的擴展。 如果能方便的擴展查詢語句,那麽APP的使用就會有很大的靈活性。可以設計各種問句和語句,可以方便的和用戶進行交互。在這裏使用了olami平臺提供的語音平臺接口,很方便的實現了查詢語句的擴展,而且可以返回需要的結果。同時,Olami平臺也提供了完整的語音識別功能,再結合iOS 提供的AVSpeechSynthesis接口,就可以實現一套類似Siri的智能語音查詢詩句的APP
APP功能介紹
這是一個查詢《唐詩三百首》、《宋詞三百首》、《元曲三百首》的詩歌學習APP,可以查詢名字查詢詩歌,可以通過詩人查詢詩歌,可以通過詩詞查詢是哪一首,可以查詢唐代有哪些詩人,這些詩人的代表作是什麽。並通過語音讀出來
通過詩人查詢代表作,點擊可以顯示詩歌
通過詩歌名稱查詢
通過詩句查詢詩歌
通過詩句查詢詩人
功能的實現
語音識別和語義理解都是通過Olami平臺來實現的。這個需要去Olami平臺進行註冊,然後就可以免費試用了。官網的地址https://olami.ai,網站上有豐富的教學資源具體的使用可以查看相關的文檔,也可以查詢我的前幾篇博客
定義的語句大部分都是查詢的:例如
落花時節又逢君出自哪首詩
你會背李白的詩嗎
元代的詩人有哪些
唐朝有哪些詩人
唐朝詩人李白的主要作品有哪些
李商隱的詩
語音的讀取是使用了蘋果的AVSpeechSynthesis庫進行的。這個庫的使用也很簡單。這個庫是在AVFoundation中
#import<AVFoundation/AVFoundation.h>
使用了兩個類
AVSpeechSynthesizer
AVSpeechUtterance
AVSpeechSynthesizer *av= [[AVSpeechSynthesizer alloc]init];
av.delegate=self;//掛上代理
AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc]initWithString:@"你好!"];//需要轉換的文字
utterance.rate=0.5;// 設置語速,範圍0-1,註意0最慢,1最快;AVSpeechUtteranceMinimumSpeechRate最慢,AVSpeechUtteranceMaximumSpeechRate最快
AVSpeechSynthesisVoice*voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"zh-TW"];//設置發音,這是中文普通話
utterance.voice= voice;
[av speakUtterance:utterance];//開始
AVSpeechSynthesizer定義了一些回調代理,可以偵測一些狀態
- (void)speechSynthesizer:(AVSpeechSynthesizer*)synthesizer didStartSpeechUtterance:(AVSpeechUtterance*)utterance{
NSLog(@"---開始播放");
}
- (void)speechSynthesizer:(AVSpeechSynthesizer*)synthesizer didFinishSpeechUtterance:(AVSpeechUtterance*)utterance{
NSLog(@"---完成播放");
}
- (void)speechSynthesizer:(AVSpeechSynthesizer*)synthesizer didPauseSpeechUtterance:(AVSpeechUtterance*)utterance{
NSLog(@"---播放中止");
}
- (void)speechSynthesizer:(AVSpeechSynthesizer*)synthesizer didContinueSpeechUtterance:(AVSpeechUtterance*)utterance{
NSLog(@"---恢復播放");
}
- (void)speechSynthesizer:(AVSpeechSynthesizer*)synthesizer didCancelSpeechUtterance:(AVSpeechUtterance*)utterance{
NSLog(@"---播放取消");
}
語音識別完成詩句的查詢功能,iOS AVSpeechSynthesis語音輸出結果的詩歌APP