当接收到来自wit.ai的数据时,ping和数据包丢失会增加



我正在尝试制作一个可以使用语音命令的discordbot(使用wit.ai进行语音转文本(,我已经让它工作了,但当它向wit.ai发送或从wit.ai接收数据时,ping会高达350毫秒。

此外,语音信道上的出站数据包丢失率高达20%左右,这很烦人,因为这样你听起来很机器人,而且会滞后。当你点击debugdiscord时,它说我的机器人是入站的,但它没有向语音通道发送任何东西,那么为什么它会是入站??

每当有人说话时,机器人都会向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);
}));

滞后与我的代码无关。这是威泰的末日,现在他们已经修复了。

最新更新