node.js - odas web 执行时出现错误 "sink pots: cannot connect to server"

标签 node.js npm hardware

我正在尝试将 odas_web 与 Respeaker Mic Array V2.0 结合使用来执行声源定位和跟踪。设置相应的配置文件后启动 odas 时,GUI 不提供任何数据(它保持原样!)。

此外,当我执行命令“./odaslive -c ./-v”时,会导致以下错误;

"sink pots: cannot connect to server"

我使用的配置文件是:

# Configuration file for XMOS circular sound card

version = "2.1";

# Raw

raw: 
{
    fS = 16000;
    hopSize = 128;
    nBits = 16;
    nChannels = 6; 

    # Input with raw signal from microphones
    interface: {
        type = "soundcard";
        card = 1;
        device = 0;
    }
}

# Mapping

mapping:
{
    map: (2, 3, 4, 5);
}

# General

general:
{
    epsilon = 1E-20;

    size: 
    {
        hopSize = 128;
        frameSize = 256;
    };

    samplerate:
    {
        mu = 16000;
        sigma2 = 0.01;
    };

    speedofsound:
    {
        mu = 343.0;
        sigma2 = 25.0;
    };

    mics = (

        # Microphone 2
        { 
            mu = ( -0.032, +0.000, +0.000 ); 
            sigma2 = ( +0.000, +0.000, +0.000, +0.000, +0.000, +0.000, +0.000, +0.000, +0.000 );
            direction = ( +0.000, +0.000, +1.000 );
            angle = ( 80.0, 100.0 );
        },

        # Microphone 3
        { 
            mu = ( +0.000, -0.032, +0.000 ); 
            sigma2 = ( +0.000, +0.000, +0.000, +0.000, +0.000, +0.000, +0.000, +0.000, +0.000 );
            direction = ( +0.000, +0.000, +1.000 );
            angle = ( 80.0, 100.0 );
        },

        # Microphone 4
        { 
            mu = ( +0.032, +0.000, +0.000 ); 
            sigma2 = ( +0.000, +0.000, +0.000, +0.000, +0.000, +0.000, +0.000, +0.000, +0.000 );
            direction = ( +0.000, +0.000, +1.000 );
            angle = ( 80.0, 100.0 );
        },

        # Microphone 5
        { 
            mu = ( +0.000, +0.032, +0.000 ); 
            sigma2 = ( +0.000, +0.000, +0.000, +0.000, +0.000, +0.000, +0.000, +0.000, +0.000 );
            direction = ( +0.000, +0.000, +1.000 );
            angle = ( 80.0, 100.0 );        
        }
    );

    # Spatial filter to include only a range of direction if required
    # (may be useful to remove false detections from the floor)
    spatialfilters = (

        {
            direction = ( +0.000, +0.000, +1.000 );
            angle = (80.0, 100.0);
        }    
    );

    nThetas = 181;
    gainMin = 0.25;
};

# Stationnary noise estimation

sne:
{
    b = 3;
    alphaS = 0.1;
    L = 150;
    delta = 3.0;
    alphaD = 0.1;
}

# Sound Source Localization

ssl:
{
    nPots = 4;
    nMatches = 10;
    probMin = 0.5;
    nRefinedLevels = 1;
    interpRate = 4;

    # Number of scans: level is the resolution of the sphere
    # and delta is the size of the maximum sliding window
    # (delta = -1 means the size is automatically computed)
    scans = (
        { level = 2; delta = -1; },
        { level = 4; delta = -1; }
    );

    # Output to export potential sources
    potential: {

        # format = "undefined";
        format = "json";

        interface: {
            # type = "blackhole";
            type = "socket";
        ip = "127.0.0.1";
        port = 9001;
        };
    };
};

# Sound Source Tracking

sst:
{
    # Mode is either "kalman" or "particle"

    mode = "kalman";

    # Add is either "static" or "dynamic"

    add = "dynamic";    

    # Parameters used by both the Kalman and particle filter

    active = (
        { weight = 1.0; mu = 0.4; sigma2 = 0.0025 }
    );

    inactive = (
        { weight = 1.0; mu = 0.25; sigma2 = 0.0025 }
    );

    sigmaR2_prob = 0.0025;
    sigmaR2_active = 0.0225;
    sigmaR2_target = 0.0025;
    Pfalse = 0.1;
    Pnew = 0.1;
    Ptrack = 0.8;

    theta_new = 0.9;
    N_prob = 5;
    theta_prob = 0.8;
    N_inactive = ( 250, 250, 250, 250 );
    theta_inactive = 0.9;

    # Parameters used by the Kalman filter only

    kalman: {

        sigmaQ = 0.001;

    };

    # Parameters used by the particle filter only

    particle: {

        nParticles = 1000;
        st_alpha = 2.0;
        st_beta = 0.04;
        st_ratio = 0.5;
        ve_alpha = 0.05;
        ve_beta = 0.2;
        ve_ratio = 0.3;
        ac_alpha = 0.5;
        ac_beta = 0.2;
        ac_ratio = 0.2;
        Nmin = 0.7;

    };

    target: ();

    # Output to export tracked sources
    tracked: {

        format = "json";

        interface: {
            # type = "file";
            # path = "tracks.txt";
            type = "socket";
        ip = "127.0.0.1";
        port = 9000;
        };
    };
}

sss:
{
    # Mode is either "dds", "dgss" or "dmvdr"

    mode_sep = "dgss";
    mode_pf = "ms";

    gain_sep = 1.0;
    gain_pf = 10.0;

    dds: {

    };

    dgss: {

        mu = 0.01;
        lambda = 0.5;

    };

    dmvdr: {

    };

    ms: {

        alphaPmin = 0.07;
        eta = 0.5;
        alphaZ = 0.8;        
        thetaWin = 0.3;
        alphaWin = 0.3;
        maxAbsenceProb = 0.9;
        Gmin = 0.01;
        winSizeLocal = 3;
        winSizeGlobal = 23;
        winSizeFrame = 256;

    };

    ss: {

        Gmin = 0.01;
        Gmid = 0.9;
        Gslope = 10.0;

    };

    separated: {

        fS = 16000;
        hopSize = 128;
        nBits = 16;        

        interface: {
            #type = "file";
            #path = "separated.raw";
        type = "socket";
        ip = "127.0.0.1";
        port = 10000;
        };        

    };

    postfiltered: {

        fS = 16000;
        hopSize = 128;
        nBits = 16;        
        gain = 10.0;

        interface: {
            #type = "file";
            #path = "postfiltered.raw";
        type = "socket";
        ip = "127.0.0.1";
        port = 10010;
        };        
    };
};

classify:
{

    frameSize = 4096;
    winSize = 3;
    tauMin = 88;
    tauMax = 551;
    deltaTauMax = 20;
    alpha = 0.3;
    gamma = 0.05;
    phiMin = 0.5;
    r0 = 0.2;    

    category: {

        format = "undefined";

        interface: {
            type = "blackhole";
        }
    }
}

最佳答案

这意味着 odas 已启动,无法找到 ip = "127.0.0.1"处的套接字服务器; 端口=9001; 或设置为在本地网络中发送潜在源地址,其中已经运行 odas 的 Web 部分,例如

potential: {

        format = "json";
        interface: {
            type = "socket";
            ip = "192.168.0.102";
            port = 9001;
        }; 

或者这样设置:

potential: {

        format = "json"; 
        interface: {
             type = "file";
path = "potential.json"; 
        };

    };

将发现的电位保存到文件中,以供将来调试

关于node.js - odas web 执行时出现错误 "sink pots: cannot connect to server",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52784881/

相关文章:

hardware - 用户空间 PCI BAR 访问在每个偏移处返回 0xFF

macos - 获取 RAM 信息 OSX

javascript - SyntaxError : expected expression, 在运行 angularJs 和 Node 时得到 '<'

javascript - 如何在 React 中显示图像,这些图像作为文件下载并保存在服务器上的文件夹中,文件路径存储在我的数据库中?

javascript - xlsx 到 json 并带有空单元格

gradle - 将JHipster应用程序转换为gradle,现在在dev中返回空白页

javascript - 使用 ^ 作为默认保存前缀的优点

node.js - npm 发布 node.js 模块,但在 npm 安装后找不到模块

php - ImageMagick 服务器要求

javascript - 访问 Express 中的 get 请求返回的对象中的元素时遇到问题