根据最佳做法,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
我现在该怎么办?我将实现语音到文本功能,以搜索数据库中的人名。所以,我的输入始终是任何语言的任何人名。所以,请给出如何添加短语的解决方案。并建议任何其他语音文本最好的服务。