introlab / odas

ODAS: Open embeddeD Audition System
MIT License
782 stars 249 forks source link

Using ReSpeaker Mic Array v2.0, CPU Usage ~95%-100% #104

Open w0lvram opened 6 years ago

w0lvram commented 6 years ago

I'm a high school student running an experiment on sound localization. My setup uses a ReSpeaker Mic Array v2.0 connected to a Raspberry Pi 3 Model B. I'm experiencing an issue where the CPU usage is usually between 95% and 100%. The application usually freezes when I try launching it. I can still move my mouse, and I can see the CPU Usage and CPU Temp. change from time to time. However, the Source Elevation and Source Azimut usually don't show anything. It's very slow to respond to stimuli. I have the config file as the odas.cfg that was originally in the ReSpeaker Mic Array library.

I followed the installation process, but skipped the configuration section. Could this be the source of the problem? I was also wondering if I could use ODAS on an Asus Tinkerboard. Thanks in advance!

taospartan commented 6 years ago

Hi there, from my experience running odas and odas_web on the same machine ( especially a pi) doesn’t offer the best experience. odas_web is quite resource intensive as an interface. As the data could be collected from odas’s sockets in json maybe you could limit what data you need and make a little web interface?

It all depends on what you are trying to do?

Tao

Sent from my iPhone

On 9 Aug 2018, at 15:33, ericg689 notifications@github.com wrote:

I'm a high school student running an experiment on sound localization. My setup uses a ReSpeaker Mic Array v2.0 connected to a Raspberry Pi 3 Model B. I'm experiencing an issue where the CPU usage is usually between 95% and 100%. The application usually freezes when I try launching it. I can still move my mouse, and I can see the CPU Usage and CPU Temp. change from time to time. However, the Source Elevation and Source Azimut usually don't show anything. It's very slow to respond to stimuli. I have the config file as the odas.cfg that was originally in the ReSpeaker Mic Array library.

I followed the installation process, but skipped the configuration section. Could this be the source of the problem? I was also wondering if I could use ODAS on an Asus Tinkerboard. Thanks in advance!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

w0lvram commented 6 years ago

Thanks for your response! If you say that running odas and odas_web on the same machine won't work, what solution would you recommend? I'm just trying to get the program running first. I'm not sure about the steps after that, but I probably want to see if I can record the data into a file.

taospartan commented 6 years ago

First you need to edit the respeaker config you are using, changing the type from socket to file and path. Like this

interface: { type = "file"; path = "/temp/filename.ext"; }

Then run odas from command line with this new cfg, the data will go into files you’ve described above

Tao

Sent from my iPad

On 9 Aug 2018, at 16:16, ericg689 notifications@github.com wrote:

Thanks for your response! If you say that running odas and odas_web on the same machine won't work, what solution would you recommend? I'm just trying to get the program running first. I'm not sure about the steps after that, but I probably want to see if I can record the data into a file.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

w0lvram commented 6 years ago

Should I be using the ReSpeaker config file or the odas.cfg file that originally comes with the ReSpeaker library? Also, which of the "interface:{ ..." should I be changing? I see that there are several, each under a different section. Will this reduce CPU usage? I'm currently just trying to run the program and not collect data yet. Thank you!

taospartan commented 6 years ago

The one that comes with the respeaker

All the interfaces have differing purposes, if you are just interested in the sound source tracking set the interface in that section.

I would set the other interfaces that you aren’t using to this:

format = "undefined";

    interface: {
        type = "blackhole";
    }

If you want to save the audio files generated in separated and postfiltered just leave them as they are

Hope this helps

Tao

Sent from my iPhone

On 9 Aug 2018, at 19:51, ericg689 notifications@github.com wrote:

Should I be using the ReSpeaker config file or the odas.cfg file that originally comes with the ReSpeaker library? Also, which of the "interface:{ ..." should I be changing? I see that there are several, each under a different section. Will this reduce CPU usage? I'm currently just trying to run the program and not collect data yet. Thank you!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

w0lvram commented 6 years ago

Thanks for the help so far! I'm trying to use information from the application to move servo motors towards a sound source. Should I be using SSL data or SST data? Thank you again!

taospartan commented 6 years ago

Sst, the json file produced will give normalised vectors ( the x,y,z coords add up to 1). There is quite a bit more info about sst in the closed issues. Remember odas by default will track 4 sources but this can be changed in the config

nPots = 4;

Hope this helps, good luck with the project!

Sent from my iPhone

On 9 Aug 2018, at 21:28, ericg689 notifications@github.com wrote:

Thanks for the help so far! I'm trying to use information from the application to move servo motors towards a sound source. Should I be using SSL data or SST data? Thank you again!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

w0lvram commented 6 years ago

Thanks! For some reason, I can't get the mic array to track sound sources even though it can detect sounds pretty well. Any solution for this? Attached is the config file I am using. I changed the parameters that you mentioned and I also changed the sensitivity so that the mic array is a bit more sensitive. Thanks again!

`# 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.3; sigma2 = 0.0025 }
);

inactive = (
    { weight = 1.0; mu = 0.1; 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 = "/home/linaro/odas/temp/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";
    };        

};

postfiltered: {

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

    interface: {
        type = "file";
        path = "postfiltered.raw";
    };        

};

};

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";
    }

}

} `

taospartan commented 6 years ago

Can you post your tracks.txt?

Sent from my iPad

On 9 Aug 2018, at 22:48, ericg689 notifications@github.com wrote:

Thanks! For some reason, I can't get the mic array to track sound sources even though it can detect sounds pretty well. Any solution for this? Attached is the config file I am using. I changed the parameters that you mentioned and I also changed the sensitivity so that the mic array is a bit more sensitive. Thanks again!

`# 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.3; sigma2 = 0.0025 } );

inactive = ( { weight = 1.0; mu = 0.1; 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 = "/home/linaro/odas/temp/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";
};        

};

postfiltered: {

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

interface: {
    type = "file";
    path = "postfiltered.raw";
};        

}; };

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";
}

} } `

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

w0lvram commented 6 years ago

Sure, here it is: tracks.txt

taospartan commented 6 years ago

Which firmware are you using on the respeaker mic array?

Sent from my iPhone

On 9 Aug 2018, at 23:00, ericg689 notifications@github.com wrote:

Sure, here it is: tracks.txt

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

w0lvram commented 6 years ago

I believe the 6 channel one.

w0lvram commented 6 years ago

After looking through the tracks.txt file, I noticed that sometimes there's a change from (0, 0, 0), but always reverts back to (0, 0, 0). Not sure if that means that the SST is working or not.

taospartan commented 6 years ago

If it was me I’d record some audio using the respeaker and the app arecord. Make sure you capture it at 16bit 16k in raw format.

Then import the audio into audacity to check the audio is working and you have 6 channels.

I think we need to confirm audio is working before we go further:)

Sent from my iPhone

On 10 Aug 2018, at 14:03, ericg689 notifications@github.com wrote:

After looking through the tracks.txt file, I noticed that sometimes there's a change from (0, 0, 0), but always reverts back to (0, 0, 0). Not sure if that means that the SST is working or not.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

w0lvram commented 6 years ago

I think the audio is working. I just tried using SSL and SST in tandem (commented out the file section for SST), and the dot for SST appeared. However, I then turned SSL off and put back the file section for SST, which made it so that there was nothing appearing on the interface (with the globe thing). There was data in the tracks.txt file though.

taospartan commented 6 years ago

Hmmm puzzling I’d still look that the audio files first to prove a solid foundation I have a working config for my respeaker if you think that would help?

Sent from my iPhone

On 10 Aug 2018, at 15:54, ericg689 notifications@github.com wrote:

I think the audio is working. I just tried using SSL and SST in tandem (commented out the file section for SST), and the dot for SST appeared. However, I then turned SSL off and put back the file section for SST, which made it so that there was nothing appearing on the interface (with the globe thing). There was data in the tracks.txt file though.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

w0lvram commented 6 years ago

Sure, if I could see it I can compare it with mine

taospartan commented 6 years ago

Configuration file for respeaker 4 mic array v2.0

version = "2.1";

Raw

raw: {

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

# Input with raw signal from microphones
interface: {
    type = "file";
    path = "test.raw"
}

}

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.0239, +0.0239, +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 = ( 90.0, 100.0 );
    },

    # Microphone 3
    { 
        mu = ( -0.0239, +0.0239, +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 = ( 90.0, 100.0 );
    },

    # Microphone 4
    { 
        mu = ( -0.0239, -0.0239, +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 = ( 90.0, 100.0 );
    },

    # Microphone 5
    { 
        mu = ( +0.0239, -0.0239, +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 = ( 90.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 = (90.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 = "dds";
mode_pf = "ss";

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 = "blackhole";
       #type = "socket"; ip = "127.0.0.1"; port = 10000;
       type = "file"; path = "/tmp/sep.raw";

    };        

};

postfiltered: {

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

    interface: {
        #type = "blackhole";
        #type = "socket"; ip = "127.0.0.1"; port = 10010;
        type = "file"; path = "/tmp/pf.raw";
    };        

};

};

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";
    }

}

}

w0lvram commented 6 years ago

Is there any reason for the mapping you used 0.0239 instead of 0.032 for the mu and 90 instead of 80 for the angle? Also, what do the abbreviations mean for SSS? I believe we have some differences there in the mode_sep and mode_pf. Besides those differences, our files are essentially the same.

I believe you are also using the ReSpeaker Mic Array v2.0 right? Thanks so much for the help!

taospartan commented 6 years ago

I rotated the coords to be exactly as on respeaker v2 as the makers have them lined up in a perfect horizontal vertical cross, if you draw them out you’ll see what I mean the other settings are what I’ve found to be best :)

No trouble at all:)

Sent from my iPhone

On 10 Aug 2018, at 19:03, ericg689 notifications@github.com wrote:

Is there any reason for the mapping you used 0.0239 instead of 0.032 for the mu and 90 instead of 80 for the angle? Also, what do the abbreviations mean for SSS? I believe we have some differences there in the mode_sep and mode_pf. Besides those differences, our files are essentially the same.

I believe you are also using the ReSpeaker Mic Array v2.0 right? Thanks so much for the help!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

w0lvram commented 6 years ago

Gotcha. In that case, I will try to use your settings and see how it goes. I’ll let you know how it goes!

taospartan commented 6 years ago

Cool:)

Sent from my iPhone

On 10 Aug 2018, at 20:47, ericg689 notifications@github.com wrote:

Gotcha. In that case, I will try to use your settings and see how it goes. I’ll let you know how it goes! — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

w0lvram commented 6 years ago

It seems like it's performing a lot better, but the tracking still doesn't show up on the GUI. I'm still able to get data though, so I think it should be fine. You mentioned in your very first response to this thread that running odas and odas_web on the same machine would lead to the slow speeds I experienced on the Pi. Is there a way to run them separately, that way alleviating some of the processing pressure on the Pi?

Also, do you know if it's possible to get sound level readings from the ReSpeaker mic array? Thanks!

taospartan commented 6 years ago

Just run odas web separately on a laptop and use sockets to the ip of the laptop from the pi, that’s what I did

Sent from my iPhone

On 13 Aug 2018, at 14:45, ericg689 notifications@github.com wrote:

It seems like it's performing a lot better, but the tracking still doesn't show up on the GUI. I'm still able to get data though, so I think it should be fine. You mentioned in your very first response to this thread that running odas and odas_web on the same machine would lead to the slow speeds I experienced on the Pi. Is there a way to run them separately, that way alleviating some of the processing pressure on the Pi?

Also, do you know if it's possible to get sound level readings from the ReSpeaker mic array? Thanks!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

taospartan commented 6 years ago

Sound readings... maybe you could use the activity field in the tracks json?

Sent from my iPhone

On 13 Aug 2018, at 14:49, Rich Gunton richgunton@gmail.com wrote:

Just run odas web separately on a laptop and use sockets to the ip of the laptop from the pi, that’s what I did

Sent from my iPhone

On 13 Aug 2018, at 14:45, ericg689 notifications@github.com wrote:

It seems like it's performing a lot better, but the tracking still doesn't show up on the GUI. I'm still able to get data though, so I think it should be fine. You mentioned in your very first response to this thread that running odas and odas_web on the same machine would lead to the slow speeds I experienced on the Pi. Is there a way to run them separately, that way alleviating some of the processing pressure on the Pi?

Also, do you know if it's possible to get sound level readings from the ReSpeaker mic array? Thanks!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

w0lvram commented 6 years ago

Regarding the sound readings, I thought the activity field was just the probability that the source that the program is tracking is "active." In other words, the probability whether that source is actually making noise or not. I may be getting this wrong, so please correct me if that is the case!

w0lvram commented 6 years ago

I updated npm this morning (it gave me a message saying that I should type in "npm i -g npm"). However, after I updated this, the SST stopped working. I'm not able to obtain any data. I reinstalled the ODAS library and the ReSpeaker library, yet it still does not work. Not sure what the issue is. Any help on this?

taospartan commented 6 years ago

I would post this issue in the odas web repo, it’s a bit out of my league

Sent from my iPad

On 13 Aug 2018, at 20:48, ericg689 notifications@github.com wrote:

I updated npm this morning (it gave me a message saying that I should type in "npm i -g npm"). However, after I updated this, the SST stopped working. I'm not able to obtain any data. I reinstalled the ODAS library and the ReSpeaker library, yet it still does not work. Not sure what the issue is. Any help on this?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

w0lvram commented 6 years ago

Ok, thanks!