iOS 系統(tǒng)Text to Speech功能的使用

世界總是因為懶人才開始變得越來越智能批钠,看書、讀報等諸如此類的事情怠苔,本身就是一個很放松的事情了同廉,某一天懶人想用耳朵來完成看書、讀報的事情柑司,也就是將書和報紙的內(nèi)容通過語音播放出來迫肖,文本轉語音(Text to Speech以下簡稱TTS)的需求大概就是從此處開始的。后來去新公司上班時攒驰,也遇到了此類的需求延伸蟆湖,大概需求內(nèi)容是:當有新的訂單時,需要使用語音播報新訂單的內(nèi)容玻粪。由此下面來記錄下TTS的功能使用隅津。

iOS平臺在iOS7.0之前不支持TTS功能,如果開發(fā)者想使自己的App具有TTS功能劲室,可配置工程最低支持版本為iOS7.0或更高的系統(tǒng)版本伦仍。如果需要兼容iOS7.0以下的版本,則可使用好用的第三方TTS庫很洋。

目前支持iOS平臺的TTS有以下幾個
1.Google的在線語音合成服務
2.iOS7及其以上的系統(tǒng)自帶的TTS功能(條件)

一充蓝、Google的在線語音合成服務

請求接口地址:http://translate.google.com/translate_tts
請求接口參數(shù):

Item Value
tl 語言碼(例如:en、zh)
q 需要播報的內(nèi)容

例子:按要求拼接請求地址
http://translate.google.com/translate_tts?tl=en&q=English
訪問該地址就能獲取到一個mp3格式的文件喉磁,得到mp3文件后并在本地進行播放就達到了TTS的功能要求了谓苟。

總結:如果App中需要的是固定的語音播報,使用google的這個在線服務是個不錯的選擇协怒,只需要一次請求涝焙,將返回的mp3保存在本地,以后直接讀取本地mp3即可斤讥。但是大部分場景都是需要轉換為語音的文本不固定纱皆,我們就只能選擇別的辦法了湾趾。

二芭商、iOS7及其以上的系統(tǒng)自帶的TTS功能

iOS7及其以上的系統(tǒng)自帶TTS很簡單派草,不用設置任何權限,也沒有一大堆代碼铛楣。
具體步驟:
第一步:在工程中導入AVFoundation.Framework框架

第二步:添加調用TTS功能的代碼


源代碼塊:

/**
 系統(tǒng)支持的語言及其語言碼(language)
 "th-TH":[], "pt-BR":[], "sk-SK":[], "fr-CA":[],
 "ro-RO":[], "no-NO":[], "fi-FI":[], "pl-PL":[],
 "de-DE":[], "nl-NL":[], "id-ID":[印尼語], "tr-TR":[],
 "it-IT":[], "pt-PT":[], "fr-FR":[], "ru-RU":[],
 "es-MX":[], "zh-HK":[中文香港], "sv-SE":[], "hu-HU":[],
 "zh-TW":[中文臺灣], "es-ES":[], "zh-CN":[中文大陸], "nl-BE":[],
 "en-GB":[英語國標], "ar-SA":[], "ko-KR":[], "cs-CZ":[],
 "en-ZA":[], "en-AU":[], "da-DK":[], "en-US":[英語美國],
 "en-IE":[], "hi-IN":[], "el-GR":[], "ja-JP":[]
 **/

AVSpeechUtterance *utterance = nil;
AVSpeechSynthesizer *speech = [[AVSpeechSynthesizer alloc] init];
utterance = [[AVSpeechUtterance alloc] initWithString:@"這只是簡單使用文本轉語音功能"];
utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-US"];
utterance.rate = AVSpeechUtteranceDefaultSpeechRate;    //設置語速
utterance.volume = 1.0f;          //設置音量
utterance.pitchMultiplier = 1.0f; //設置語調
[speech speakUtterance:utterance];

雖然在語速近迁、停頓上效果都很生硬,但對于使用簡單的語音播報需求來說簸州,真是一大幸事鉴竭,無需第三方庫就完成了,也不需要聯(lián)網(wǎng)岸浑,語音合成功能在手機上完成搏存,這樣在沒有wifi與流量的情況下也可以使用了。

三矢洲、后續(xù)追加的其他TTS庫使用

第一個:OpenEars和FliteTTS服務

OpenEars和FliteTTS璧眠。OpenEars是開源的iOS庫,支持離線的語音識別和TTS读虏,但它主要是針對英語责静。而FliteTTS比較小巧,也不支持中文盖桥。

第二個:科大訊飛語音以及百度語音

暫時還沒使用過灾螃,如果哪位同學使用過,也可以分享下揩徊。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末腰鬼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子塑荒,更是在濱河造成了極大的恐慌熄赡,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件袜炕,死亡現(xiàn)場離奇詭異本谜,居然都是意外死亡,警方通過查閱死者的電腦和手機偎窘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門乌助,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人陌知,你說我怎么就攤上這事他托。” “怎么了仆葡?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵赏参,是天一觀的道長志笼。 經(jīng)常有香客問我,道長把篓,這世上最難降的妖魔是什么纫溃? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮韧掩,結果婚禮上紊浩,老公的妹妹穿的比我還像新娘。我一直安慰自己疗锐,他們只是感情好坊谁,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著滑臊,像睡著了一般口芍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上雇卷,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天鬓椭,我揣著相機與錄音,去河邊找鬼聋庵。 笑死膘融,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的祭玉。 我是一名探鬼主播氧映,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼脱货!你這毒婦竟也來了岛都?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤振峻,失蹤者是張志新(化名)和其女友劉穎臼疫,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扣孟,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡烫堤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了凤价。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鸽斟。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖利诺,靈堂內(nèi)的尸體忽然破棺而出富蓄,到底是詐尸還是另有隱情,我是刑警寧澤慢逾,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布立倍,位于F島的核電站灭红,受9級特大地震影響,放射性物質發(fā)生泄漏口注。R本人自食惡果不足惜变擒,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望疆导。 院中可真熱鬧赁项,春花似錦葛躏、人聲如沸澈段。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽败富。三九已至,卻和暖如春摩窃,著一層夾襖步出監(jiān)牢的瞬間兽叮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工猾愿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鹦聪,地道東北人。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓蒂秘,卻偏偏與公主長得像泽本,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子姻僧,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容