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