2013-04-12 39 views
1

我一直在試圖爲我的應用使用的NSSpeechSynthesizer派生語音引擎設置自定義發音。但是,我遇到了問題。如何將新的語音詞典添加到NSSpeechSynthesizer中?

我正在使用NSSpeechSynthesizer類引用中指定的鍵創建一個新詞典,以添加到我的語音引擎中,但文檔非常混亂並且缺少一些重要信息。相關部分的標題是「語音字典屬性鍵」在下面的鏈接:https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSSpeechSynthesizer_Class/Reference/Reference.html

我有點這個困惑,因爲它看起來像NSSpeechDictionaryPronunciations鍵包含相同的信息NSSpeechDictionaryEntryPhonemes和NSSpeechDictionaryEntrySpelling。也沒有關於是否需要所有密鑰,或者它們是否可選,每個密鑰的有效數據是什麼,或者如何從已經初始化的語音引擎中獲取現有值的信息。我也無法找到何時可以接受添加新語音詞典的任何細節。

基於我從本文檔中收集到的內容,我認爲每個關鍵字都是可選的,並附加到引擎已經使用的任何數據,並且新添加的字典將優先於存在衝突的現有數據。我定義了一個只包含NSSpeechDictionaryPronunciations鍵的diuctionary,其值是包含NSSpeechDictionaryEntrySpelling和NSSpeechDictionaryEntryPhonemes鍵的NSDictionary對象的數組,如文檔中詳述。當我調用-addSpeechDictionary時,語音引擎已經初始化:

但是,這會引發錯誤。引發的實際錯誤代碼取決於我選擇的語音,但它總是會引發錯誤,並且定義的發音不起作用。

我只能假設我做錯了什麼,但由於我無法找到任何有關如何使用此功能的信息(超出了非常模糊的文檔),所以我有點卡住了。有沒有人有任何這方面的經驗,並coudl指向我在正確的方向?或者甚至指向一本書的方向,或者更詳細地說明這一點?谷歌一直沒有幫助...

回答

0

我自己不知道答案,但我知道你可能得到它的地方。訂閱speech-dev郵件列表(https://lists.apple.com/mailman/listinfo/speech-dev)並在那裏發佈您的問題。這就是蘋果發言人所說的話。

+0

好的,我已經訂閱並在那裏發佈了問題,謝謝。如果我收到任何回覆,我一定會在此發佈。與此同時,任何有任何想法的人,請讓我知道:) – AndyB