小编Ste*_*son的帖子

如何在 JavaScript 中更改 Azure 文本到语音静音超时

我正在使用 Azure SpeechSDK 服务通过recognizeOnceAsync. 当前的代码类似于:

var SpeechSDK, recognizer, synthesizer;
var speechConfig = SpeechSDK.SpeechConfig.fromSubscription('SUB_KEY', 'SUB_REGION');
var audioConfig  = SpeechSDK.AudioConfig.fromDefaultMicrophoneInput();
recognizer = new SpeechSDK.SpeechRecognizer(speechConfig, audioConfig);
new Promise(function(resolve) {
    recognizer.onend = resolve;
    recognizer.recognizeOnceAsync(
        function (result) {
            recognizer.close();
            recognizer = undefined;
            resolve(result.text);
        },
        function (err) {
            alert(err);
            recognizer.close();
            recognizer = undefined;
        }
    );
}).then(r => {
    console.log(`Azure STT enterpreted: ${r}`);
});
Run Code Online (Sandbox Code Playgroud)

在 HTML 文件中,我导入 Azure 包,如下所示:

<script src="https://aka.ms/csspeech/jsbrowserpackageraw"></script>
Run Code Online (Sandbox Code Playgroud)

问题是我想增加方法recognizeOnceAsync返回结果之前允许的“静默时间”量。(也就是说,假设您已经讲完了,您应该能够停下来呼吸一下,而无需使用该方法)。有什么办法可以做到这一点fromDefaultMicrophoneInput吗?我尝试过各种方法,例如:

const SILENCE_UNTIL_TIMEOUT_MS = 5000;
speechConfig.SpeechServiceConnection_EndSilenceTimeoutMs = SILENCE_UNTIL_TIMEOUT_MS;
audioConfig.setProperty("Speech_SegmentationSilenceTimeoutMs", SILENCE_UNTIL_TIMEOUT_MS); …
Run Code Online (Sandbox Code Playgroud)

javascript azure speech-to-text azure-cognitive-services azure-speech

3
推荐指数
1
解决办法
1870
查看次数