gpt4 book ai didi

javascript - IBM Watson 语音转文本 JavaScript SDK : how to get messages?

转载 作者:行者123 更新时间:2023-11-30 15:06:58 26 4
gpt4 key购买 nike

我在浏览器或控制台中看到了文字转录,但我没有看到诸如 {'state': 'listening'} 之类的消息。更重要的是,我没有看到诸如 {"results": [{"alternatives": [{"transcript": "name the mayflower "}],"final": true}],"result_index 这样的结果": 0}.

我读了RecognizeStream documentation并尝试了这段代码:

stream.on('message', function(message) {
console.log(message);
});

但这行不通。我在 truefalse 中都尝试了 object_mode 但输出是一样的。

这是我使用的完整代码:

document.querySelector('#button').onclick = function () {

var stream = WatsonSpeech.SpeechToText.recognizeMicrophone({
token: token,
model: 'en-US_BroadbandModel',
keywords: ["Colorado"],
keywords_threshold: 0.50,
word_confidence: true,
// outputElement: '#output' // send text to browser instead of console
object_mode: false
});

stream.setEncoding('utf8'); // get text instead of Buffers for on data events

stream.on('data', function(data) { // send text to console instead of browser
console.log(data);
});

stream.on('error', function(err) {
console.log(err);
});

document.querySelector('#stop').onclick = function() {
stream.stop();
};
};

最佳答案

recognizeMicrophone() 方法是一个将多个流链接在一起的助手。 message 事件在中间的一个流上触发。但是,您可以在 stream.recognizeStream 访问它 - 它始终附加到链中的最后一个以支持这种情况。

因此,在您的代码中,它应该看起来像这样:

stream.recognizeStream.on('message', function(frame, data) {
console.log('message', frame, data)
});

不过,这主要是为了调试。如果设置 objectMode: true 并且调用 stream.setEncoding( 'utf8');.

(如果您熟悉 Watson Node.js SDK 的行为,这与 Watson Node.js SDK 有所不同。有计划统一两者,但时间不够...)

关于javascript - IBM Watson 语音转文本 JavaScript SDK : how to get messages?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45600197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com