Open surebak opened 6 years ago
When the interface is 'terminal' it seems all work fine.
If you run netcat on 127.0.0.1 port 9001 (nc -l 9001) first, then run odas live, that should work.
Hope this helps
Sent from my iPad
On 12 Jul 2018, at 15:57, surebak notifications@github.com wrote:
Hi, Thanks for developing this nice tool. I really appreciate it.
What I want to achieve is sending SSL(sound source localization) information to other machine using respeaker 4 mic array with raspberry pi.
So, my basic understanding is ODAS can send JSON data through websocket. isn't that right?
But I keep seeing this message
pi@raspberrypi:~/odas/bin $ sudo ./odaslive -c respeaker_4_mic_array.cfg Sink pots: Cannot connect to server And my configuration is like below
Configuration file for ReSpeaker 4 Mic Array (a hat for Raspberry Pi)
version = "2.1";
Raw
raw: {
fS = 16000; hopSize = 128; nBits = 32; nChannels = 4; # Input with raw signal from microphones interface: { type = "soundcard"; card = 2; device = 0; }
}
Mapping
mapping: {
map: (1, 2, 3, 4);
}
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 1 { mu = ( -0.0405, +0.0000, +0.0000 ); 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, 90.0 ); }, # Microphone 2 { mu = ( +0.0000, +0.0405, +0.0000 ); 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, 90.0 ); }, # Microphone 3 { mu = ( +0.0405, +0.0000, +0.0000 ); 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, 90.0 ); }, # Microphone 4 { mu = ( +0.0000, -0.0405, +0.0000 ); 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, 90.0 ); } ); # Spatial filters to include only a range of direction if required # (may be useful to remove false detections from the floor, or # limit the space search to a restricted region) spatialfilters = ( { direction = ( +0.000, +0.000, +1.000 ); angle = (80.0, 90.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.15; 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 = ( 150, 200, 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 = "undefined"; format = "json"; interface: { # type = "blackhole"; # type = "socket"; ip = "127.0.0.1"; port = 9000; type = "terminal"; }; };
}
sss: {
# Mode is either "dds", "dgss" or "dmvdr" mode_sep = "dds"; 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 = 44100; hopSize = 512; nBits = 16; interface: { type = "file"; path = "separated.raw"; } }; postfiltered: { fS = 44100; hopSize = 512; nBits = 16; interface: { type = "file"; path = "postfiltered.raw"; } };
}
classify: {
frameSize = 1024; winSize = 3; tauMin = 32; tauMax = 200; deltaTauMax = 7; alpha = 0.3; gamma = 0.05; phiMin = 0.15; r0 = 0.2; category: { format = "undefined"; interface: { type = "blackhole"; } }
} — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
@taospartan Thanks! Now it seems working. But from other machine, how can I get this JSON data? Any instruction or tutorial for this? I tried to read through Websocket (https://developer.mozilla.org/en-US/docs/Web/API/WebSocket), but it didn't work out.
You could use node.js there are plenty of socket tutorials for this, or play around with python again lots of examples for this. Just depends on what your overall aim is and what language you are comfortable in.
In the odas config just change 127.0.0.1 to which IP address you want to send the json to.
Sent from my iPhone
On 13 Jul 2018, at 10:34, surebak notifications@github.com wrote:
@taospartan Thanks! Now it seems working. But from other machine, how can I get this JSON data? Any instruction or tutorial for this? I tried to read through Websocket (https://developer.mozilla.org/en-US/docs/Web/API/WebSocket), but it didn't work out.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
Hi, Thanks for developing this nice tool. I really appreciate it.
What I want to achieve is sending SSL(sound source localization) information to other machine using respeaker 4 mic array with raspberry pi.
So, my basic understanding is ODAS can send JSON data through websocket. isn't that right?
But I keep seeing this message
And my configuration is like below