2017-08-28 176 views
3

我正在使用ios語音識別,並且每當有足夠的上下文時它的表現都非常好。我僅將語音識別用於數字輸入,並看到問題。例如,使用單個數字的數字(如2 - 也是,或8 - 吃);沒有足夠的上下文。甚至有一些兩位數字(80有時被翻譯成白癡)。我想向語音識別器表明輸入是數字。例如,如果輸入是「數字2」,那麼語音識別器的功能非常出色。我玩過一些提示 - SFSpeechRecognitionTaskHint(未指定,聽寫,搜索,確認) - 但這些模式都不適合數字輸入。如何提高ios數字輸入的語音識別?

所以,問題是:

  • 有沒有辦法給出一個提示SFSpeechRecognizer的音頻將是數字?或
  • 是否有另一種語音識別器技術可能更適合我的需求?

請注意,我希望這也可以在許多不同的語言(不只是英語)工作。

感謝您的幫助, 埃裏克

回答

2

當前沒有任何言語的框架,將允許您自定義爲僅包含數字。如果您說前綴「數字」字樣的文本效果更好 - 您可以嘗試使用「數字」聲音錄製語音文件,並隨時隨地將該文件附加到任何用戶所說的內容,以便獲得適當的識別。並且在識別完成之後,從您從Speech框架接收的文本中刪除單詞「number」。這聽起來很不可靠,但我不確定是否有其他解決方案。

UPDATE

另一種選擇是等待和分析,您將收到內部SFSpeechTranscriptionResult.transcriptions[] https://developer.apple.com/documentation/speech/sfspeechrecognitionresult/1648282-transcriptions

等待多個變種,直到這個數組包含一些可以解釋爲數字並不能接受第一個可用。

+0

這是一個很酷的黑客 –

+0

謝謝沙。我喜歡這個主意,但有一些擔憂。其一,我不確定我是否可以將預先備份的音頻與現場音頻混合搭配。我懷疑你可以,但以前沒有見過。兩個,更重要的是,我希望這可以與很多語言一起工作 - 所以不知道這將如何工作,特別是因爲在某些語言(例如普通話)中,沒有相當於「數字」的語言。至少這就是我的普通話朋友告訴我的。 – Eric