如何从Microsoft Cognitive语音客户端库的StartContinuousRecognitionAsync()接收数据

时间:2018-07-30 11:36:58

标签: speech-to-text microsoft-cognitive

由于要接收数据,无法找到如何从StartContinuousRecognitionAsync()获取数据,因此我只能在使用关键字后才能处理数据。

2 个答案:

答案 0 :(得分:0)

您必须“收听”语音事件才能从语音端点接收语音识别结果。在文档中对此进行了说明,并在示例中进行了演示。

这是C#示例:https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/how-to-recognize-speech-csharp#continuous-speech-recognition-from-a-file

有关最新样本集,请查看我们的https://aka.ms/csspeech/samples GitHub存储库。

关于此声明的其他评论:

  
    
      

这样我只能在使用关键字后才能处理数据。

    
  

SDK的场景是您将音频流转录为文本(更多场景:按下按钮并开始讲话)。场景不必等待关键字,然后从该位置开始转录

从理论上讲,使用SDK可以“等待关键字”,更适合的是专用的“关键字查找器”,甚至在低功耗支持下也可以!我们计划在将来的版本中提供类似的功能(但尚无ETA)。 “语音设备开发工具包(预览版)”已经提供了KWS功能,请参见此处:https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/speech-devices-sdk

希望这会有所帮助 沃尔夫冈

答案 1 :(得分:0)

尝试一下:

...

recognizer = new SpeechSDK.SpeechRecognizer(speechConfig, audioConfig);

recognizer.startContinuousRecognitionAsync(cb?: () => void, err?: (e: string) => void);

//  The event recognizing signals that an intermediate recognition result is received.
recognizer.recognizing = function(s, e){
    console.log('recognizing text', e.result.text);
};

//  The event recognized signals that a final recognition result is received.
recognizer.recognized = function(s, e){
    console.log('recognized text', e.result.text);
    script += e.result.text;
};