我正在尝试制作一个可与语音命令配合使用的不和谐机器人(使用wit.ai进行语音转文本),并且可以正常工作,但是当它向wit.ai发送数据或从wit.ai接收数据时,最多可达350毫秒
此外,语音通道上的出站数据包丢失率高达20%左右,这很烦人,因为那样的话您听起来会很机械,而且会滞后。当您单击debug时,discord表示我的漫游器已入站,但未将任何内容发送到语音通道,因此为何会入站?
每次有人讲话时,该机器人都会将数据发送到wit.ai,因此它几乎总是处于高ping状态。如果有人可以改进我的代码(或者可能是另一个库?)以使其影响ping和数据包(很多),那就太好了。
先谢谢了。这是有人讲话时运行的代码:
const accessHeaders = function (access_token, others) {
return _.extend(others || {}, {
'Authorization': 'Bearer ' + access_token,
'Accept': 'application/vnd.wit.' + "20170217"
});
};
// Request options
const request_options = {
url: 'https://api.wit.ai/speech',
method: 'POST',
json: true,
headers: accessHeaders('TKOAGFCMGDIRYNZU36XHQDFD32HWXM6O', { 'Content-Type': 'audio/wav' })
};
var wav = require('wav');
var converter = new wav.Writer();
const receiver = member.guild.voiceConnection.createReceiver();
const inputStream = receiver.createPCMStream(member);
inputStream.pipe(converter);
converter.pipe(request(request_options, (error, response, body) => {
receiver.destroy();
if (response && response.statusCode != 200) {
error = "Invalid response received from server: " + response.statusCode;
}
if(error)
return console.log(error);
console.log("you said: " + body._text);
}));
答案 0 :(得分:0)
滞后与我的代码无关。 witai即将结束,现在他们已将其修复。