2017-03-19 16 views
3

iOS 음성 API를 사용하여 음성 입력을 수신하는 앱을 만들고 싶습니다. Google의 API에는 희귀 한 단어에 힌트 또는 바이어스를 제공 할 수있는 speechContext 용 옵션이 있습니다.iOS 음성 인식 API에 힌트를 제공하는 방법은 무엇입니까?

iOS API가이 기능을 제공합니까? 나는 잠시 동안 사이트를 찾고 있었지만 아무 것도 찾지 않았다.

+0

나는 이것에 또한 흥미있다. 내가 찾은 것을 나눠 줄거야. –

+0

여기에, 나는 speechContext에 문자열 배열의 단어 목록을 adde지만, 응용 프로그램이 충돌합니다. – Josh

답변

0

Swift 온라인 용 Google 음성 클라우드에 대한 힌트를 구현하는 데 필요한 샘플 코드가 없으므로 작성했습니다.

를 열고이 클래스 : SpeechRecognitionService.swift

당신의 SpeechContext에 힌트 목록 배열을 추가 RecognitionConfig에 SpeechContext을 추가하고, 마지막으로 스트리밍 인식 설정에 RecognitionConfig을 추가해야합니다. 이처럼 :

  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 

보너스 : 대신 혼자 단어를 추가하는 간단한 문구 내부에서 혼합 추가 사용자 정의 단어는 나에게 더 나은 결과를 주었다.