从wit.ai接收数据时ping和数据包丢失率上升

时间:2018-11-30 05:10:28

标签: discord lag discord.js

我正在尝试制作一个可与语音命令配合使用的不和谐机器人(使用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);
}));

1 个答案:

答案 0 :(得分:0)

滞后与我的代码无关。 witai即将结束,现在他们已将其修复。