5

我想创建一个使用 iOS 语音 API 接收语音输入的应用程序。在 google 的 API 中,有一个 SpeechContext 选项,我可以为一些不常见的单词提供提示或偏见。

iOS API 是否提供此功能?我已经在该网站上搜索了一段时间,但没有找到任何东西。

4

1 回答 1

0

没有关于在线实现 Google Speech Clouds for Swift 提示的示例代码,所以我编了!

打开这个类:SpeechRecognitionService.swift

您必须将提示列表数组添加到 SpeechContext,将 SpeechContext 添加到 RecognitionConfig,最后将 RecognitionConfig 添加到 Streaming 识别配置。像这样:

            let recognitionConfig = RecognitionConfig()
            recognitionConfig.encoding =  .linear16
            recognitionConfig.sampleRateHertz = Int32(sampleRate)
            recognitionConfig.languageCode = "en-US"
            recognitionConfig.maxAlternatives = 3
            recognitionConfig.enableWordTimeOffsets = true        
            let streamingRecognitionConfig = StreamingRecognitionConfig()
            streamingRecognitionConfig.singleUtterance = true
            streamingRecognitionConfig.interimResults = true


            //Custom vocabulary (Hints) code
            var phraseArray=NSMutableArray(array: ["my donkey is yayeerobee", "my horse is tekkadan", "bet four for kalamazoo"])
            var mySpeechContext = SpeechContext.init()
            mySpeechContext.phrasesArray=phraseArray
            recognitionConfig.speechContextsArray = NSMutableArray(array: [mySpeechContext])
            streamingRecognitionConfig.config = recognitionConfig
            //Custom vocabulary (Hints) code

            let streamingRecognizeRequest = StreamingRecognizeRequest()
            streamingRecognizeRequest.streamingConfig = streamingRecognitionConfig

奖励:将您的自定义单词混合在一个简单的短语中,而不是单独添加单词给了我更好的结果。

于 2018-02-08T14:54:57.380 回答