Microsoft Speech API - 认知语音STT iOS:语言不变

时间:2018-04-19 08:53:46

标签: ios objective-c azure speech-recognition microsoft-cognitive

我已经开始使用

进行识别了
_micClient = [SpeechRecognitionServiceFactory createMicrophoneClient:SpeechRecognitionMode_ShortPhrase withLanguage:locale withKey:API_KEY withProtocol:(self)];

一切都按预期工作。

但是,第二次使用相同的语言环境时,识别只能使用第一种语言。

例如:App启动并开始使用" hi-IN"

进行识别
  

应用程序名称:com.XXXX.XXXX / 1.0.1 STS:   https://api.cognitive.microsoft.com/sts/v1.0/issueToken令人耳目一新   token /sts/v1.0/issueToken初始化音频服务初始化   语音服务没有为控制器提供应用程序ID   GetIdentityPropertyValue 3使用价值iOS助手(iOS;   11.2.6;移动; ProcessName / AppName的= com.XXXX.XXXX / 1.0.1;设备类型=近; SpeechClient = 1.0.161216)   网址:' https://websockets.platform.bing.com/ws/speech/recognize'   地区:' hi-IN'申请ID:''版本:4.0.150429   UserAuthorizationToken:ServerLoggingLevel:1启动websocket   连接。 m_connection = 0x0 host = websockets.platform.bing.com   port = 443身份验证令牌状态:200授权令牌hr 0'承载   eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzY29wZSI6Imh0dHBzOi8vc3BlZWNoLnBsYXRmb3JtLmJpbmcuY29tIiwic3Vic2NyaXB0aW9uLWlkIjoiMGZhNGQ5NmZjODc5NDA1ZmIyZDc3ZGVmY2NiOTc0MzUiLCJwcm9kdWN0LWlkIjoiQmluZy5TcGVlY2guUzAiLCJjb2duaXRpdmUtc2VydmljZXMtZW5kcG9pbnQiOiJodHRwczovL2FwaS5jb2duaXRpdmUubWljcm9zb2Z0LmNvbS9pbnRlcm5hbC92MS4wLyIsImF6dXJlLXJlc291cmNlLWlkIjoiL3N1YnNjcmlwdGlvbnMvZjJmNWJmMGYtZTRlOC00NDY1LTg4ZDQtYmMyMGFiYTNmMTIzL3Jlc291cmNlR3JvdXBzL1NwZWVjaFJlY29nbml0aW9uL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29nbml0aXZlU2VydmljZXMvYWNjb3VudHMvU3BhcmtsaW5nU3BlZWNoIiwiaXNzIjoidXJuOm1zLmNvZ25pdGl2ZXNlcnZpY2VzIiwiYXVkIjoidXJuOm1zLnNwZWVjaCIsImV4cCI6MTUyMjkyODc1OH0.PTBvhZ18q __- PCJRtWLr-KkQ99yt4c-mnrd2kdyOn1c'   成功初始化客户端连接创建ImpressionId:   fff94b5814ae9a097f0d749c137069d9创建ImpressionId:   01eb6b249fc1d90e37ba61a1a2d64fe9重置

     

创建ImpressionId:e69685c047daf66ef0887614b2a35fc4 ImpressionId:   b53b312c6dfd13609e5b1cf2952f0af6添加requestId:   ' cadbb055d5d4ef5c669d210a5fed2bf7' for' text / cu.client.context'   订阅请求[cadbb055d5d4ef5c669d210a5fed2bf7]音频流   创建添加requestId:' e9012ec9fe3d9ee9e8a075e6274eda06'对于   '音频/ X-WAV'订阅请求[e9012ec9fe3d9ee9e8a075e6274eda06]   Audio Stream Created Creating transcoder 2

     

使用HTTP状态代码返回的升级请求:101 Web套接字   握手完成CU客户端连接的ConnectionStateChanged   麦克风权限:0发送第一个音频流块,   的requestId =' e9012ec9-fe3d-9ee9-e8a0-75e6274eda06'录音   开始语音录制开始OnDataAvailable:81 => 1型   收到消息:' audio.stream.response'响应请求ID:   ' e9012ec9-fe3d-9ee9-e8a0-75e6274eda06'回复印象:   ' b53b312c6dfd13609e5b1cf2952f0af6'

     

LanguageGeneration OK Partial:आपOnDataAvailable:81 => 1型   收到消息:' audio.stream.response'响应请求ID:   ' e9012ec9-fe3d-9ee9-e8a0-75e6274eda06'回复印象:   ' b53b312c6dfd13609e5b1cf2952f0af6'

     

LanguageGeneration OK Partial:आपकेOnDataAvailable:81 => 1型   收到消息:' audio.stream.response'响应请求ID:   ' e9012ec9-fe3d-9ee9-e8a0-75e6274eda06'回复印象:   ' b53b312c6dfd13609e5b1cf2952f0af6'

     

LanguageGeneration OK Partial:आपकिसOnDataAvailable:81 => 1型   收到消息:' audio.stream.response'响应请求ID:   ' e9012ec9-fe3d-9ee9-e8a0-75e6274eda06'回复印象:   ' b53b312c6dfd13609e5b1cf2952f0af6'

     

LanguageGeneration OK Partial:आपकेसेOnDataAvailable:01 => 1型   收到消息:' audio.stream.response'响应请求ID:   ' e9012ec9-fe3d-9ee9-e8a0-75e6274eda06'回复印象:   ' b53b312c6dfd13609e5b1cf2952f0af6'

     

LanguageGeneration OK

     

发送音频流端点,   的requestId =' e9012ec9-fe3d-9ee9-e8a0-75e6274eda06'发送音频流   endpoint,requestId =' e9012ec9-fe3d-9ee9-e8a0-75e6274eda06'发信号   OnAudioEvent(AUDIO_EVENT_RECORD_STOP)

然后使用" en-US"。

初始化新的麦克风客户端

现在开始识别时:

  

创建ImpressionId:0eed72b0b8019f0d7647b4d5d1adc8c6重置取消   请求[cadbb055d5d4ef5c669d210a5fed2bf7]取消请求   [e9012ec9fe3d9ee9e8a075e6274eda06]

     

创建ImpressionId:ff9306c014eba5a9da0fa5979269bced ImpressionId:   04bfd4c2fce0e631c6b6d9f3d16877f2添加requestId:   ' b9148688143a0a9526df6bd9e31110d1' for' text / cu.client.context'   订阅请求[b9148688143a0a9526df6bd9e31110d1]音频流   创建添加requestId:' 158b5857d7f60759687076b3bfa9d2bc'对于   '音频/ X-WAV'订阅请求[158b5857d7f60759687076b3bfa9d2bc]   Audio Stream Created Creating transcoder 2

     

麦克风权限:0开始语音录制语音录制   开始发送第一块音频流,   的requestId =' 158b5857-d7f6-0759-6870-76b3bfa9d2bc'

     

发送音频流端点,   的requestId =' 158b5857-d7f6-0759-6870-76b3bfa9d2bc'发送音频流   endpoint,requestId =' 158b5857-d7f6-0759-6870-76b3bfa9d2bc'发信号   OnAudioEvent(AUDIO_EVENT_RECORD_STOP)语音录制已停止语音   录制停止OnDataAvailable:81 => type 1收到的消息:   ' audio.stream.response'响应请求ID:   ' 158b5857-d7f6-0759-6870-76b3bfa9d2bc'回复印象:   ' 04bfd4c2fce0e631c6b6d9f3d16877f2'

     

LanguageGeneration OK Partial:तोOnDataAvailable:81 => 1型   收到消息:' audio.stream.response'响应请求ID:   ' 158b5857-d7f6-0759-6870-76b3bfa9d2bc'回复印象:   ' 04bfd4c2fce0e631c6b6d9f3d16877f2'

     

LanguageGeneration OK原始错误0x80070057错误:没有Reco   原始错误0x80070057

第二次无法在日志中找到区域设置,并注意到部分响应仍在" hi-IN"中。有没有办法删除旧语言配置?

1 个答案:

答案 0 :(得分:0)

如果您想更改语言,必须在一个话语和下一个话语之间关闭websocket连接。在3分钟内没有活动的话语之间等待3分钟将关闭连接。此外,调用AudioStop()应该关闭连接。如果您已经尝试调用AudioStop()并且不起作用,我们将确保在即将发布的API版本中修复此问题。