首页 文章

Swift - 在语音上下文数组中添加短语时崩溃

提问于
浏览
1

根据最佳做法,google documentation中建议了以下信息 .

“Cloud Speech API包含非常大的词汇表 . 但是,如果专有名称或特定领域的单词不在词汇表中,您可以将它们添加到提供给请求的speechContext的短语中 . “

所以,我在google sample application中的speechContextsArray中添加了短语,如下所示:

let recognitionConfig = RecognitionConfig()
recognitionConfig.encoding =  .linear16
recognitionConfig.sampleRateHertz = Int32(sampleRate)
recognitionConfig.languageCode = "en-US"
recognitionConfig.maxAlternatives = 0
recognitionConfig.enableWordTimeOffsets = false

// My line:
recognitionConfig.speechContextsArray = [["phrases": ["BalaKrishnan", "Liu Xiang", "Tirupati", "Pushpanathan", "Ashraf"]]]

但是当我从示例应用程序点击开始流式按钮时遇到了运行时问题:

***由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [_ TtGCs26_SwiftDeferredNSDictionarySSGSaSS__ isInitialized]:无法识别的选择器发送到实例0x60000023c3a0'

阅读下面的行:

let streamingRecognizeRequest = StreamingRecognizeRequest()
streamingRecognizeRequest.audioContent = audioData as Data // crash here - on run time

我现在应该怎么做?我将实现语音到文本功能,以搜索数据库中的人名 . 所以,我的输入始终是任何语言的任何人名 . 所以,请给出如何添加短语的解决方案 . 并建议任何其他语音文本最佳服务 .

1 回答

  • 0

    我遇到了同样的问题,但后来注意到 recognitionConfig.speechContextsArray 需要一个 speechContext 的数组,而不是短语本身 .

    这是我的解决方案:

    var phraseHints : NSMutableArray = ["one", "two", "three"]
    let speechContext = SpeechContext()
    speechContext.phrasesArray = phraseHints
    recognitionConfig.speechContextsArray = [speechContext]
    

相关问题