Multi channel bss locate

Logo 3

Multi Channel BSS Locate is a toolbox for sources localization in a multichannel convolutive mixture using an angular spectrum based approach.


Please log in to perform a job with this app.


MULTI-CHANNEL BSS LOCATE

This software aims at localizing audio sources in 3D audio scene based on recorded signals using a small array of N microphones (“small array” means that sources have to be outside of the space defined by all microphones used). Results are given in terms of directions (azimuth and elevation) expressed from the centroid of this microphone array.

The complete version of the software (Matlab source code, user's guide and algorithm description) is available here.

How to use Multi-Channel BSS Locate on Allgo?

Before using the software, have a look to this documentation and "Demo" section which provides some typical input files (parameters and wav) that can be used with Multi-Channel BSS Locate. The "Demo" section also provides output examples.

In order to create a new job, execute following steps:

  • Download, in the "Demo" section, the Multi-Channel BSS Locate parameters text file (multi_channel_bss_locate_params.txt), open it and modify parameter entries with yours. Additional information are available in section 1. of this documentation

  • Prepare the Multi-Channel wav file to be analysed. Additional informations are available in section 2. of this documentation

Now, you are ready to create a new job. Please start by uploading your files on the platform :

  • Upload your modified Multi-Channel BSS Locate parameters text file (multi_channel_bss_locate_params.txt) with the "+ Upload File" button

  • Upload your Multi-Channel wav file (.wav) with the "+ Upload File" button

Finally, select latest software version and fill parameters section as follows :

  • Parameters section example:

[myMultiChannelBSSLocateParameterFile.txt] [myWavFile.wav]

Note : Do not use square brackets [ ] and respect parameters order

1. Multi-Channel BSS Locate parameters

Multi-Channel BSS Locate parameters is a text file which contains algorithm's parameters and description.

You should reuse the provided parameter file, multi_channel_bss_locate_params.txt, in the "Demo" section and change parameters entries with yours.

To avoid execution issues when you modify the text file, please consider these following tips:

Tips:

  • Do not change parameter order and comments
  • Space separator is used to delimit values in matrices and vectors

For further information, please refer to the complete documentation available with Multi-Channel BSS Locate Matlab toolbox (full or basic).

2. Input wav file

The input wav file must be sampled at 16 kHz and contains the same number of channels than specified in Multi-Channel parameters text file (which correspond to the number of microphones used).

3. Output parameters

When job execution is done, you should have access to the following files :

MBSS_Locate_log.txt: This file provides some algorithm execution logs and the estimated sources localization both in azimuth (Theta) and elevation (Phi) resultsFigure.png: Map of the estimated localization in a 2D representation

Please refer to the "Demo" section which provide typical output files as examples.

Contact

The complete software (documentation and Matlab code) is available here.

For any suggestions or questions about the software, please contact : support.mbss.locate@inria.fr

This software version has been released by PANAMA research team.

In input :

male_female_mixture.wav


multi_channel_bss_locate_params.txt
%Number of audio channels
%Permitted value : strictly positive integer
8

%Microphone positions in cartesian coordinate (expressed in meters)
%Permitted value : 3 x nChannels matrix
2.742 2.671 2.649 2.649 2.668 2.739 2.761 2.761
2.582 2.582 2.563 2.492 2.470 2.470 2.489 2.560
1.155 1.231 1.155 1.231 1.155 1.231 1.155 1.231

%Angular spectrum method
%Permitted value : GCC-PHAT, GCC-NONLIN, MVDR, MVDRW, DS, DSW, DNM, MUSIC
GCC-PHAT

%Time integration method (pooling)
%Permitted value : max or sum
max

%Instantaneous angular spectrum normalization
%Permitted value : 0 or 1 (expert parameter, please refer to the complete documentation)
0

%Speed of sound (expressed in meters per second)
%Permitted value : strictly positive value
343

%Azimuthal boundaries of the search grid (expressed in degrees)
%Permitted value : 1 x 2 vector, first element = lower bound, second element = upper bound
-179 180

%Elevation boundaries of the search grid (expressed in degrees)
%Permitted value : 1 x 2 vector, first element = lower bound, second element = upper bound
-90 90

%Search grid resolution both in azimuth and elevation (expressed in degrees)
%Permitted value : strictly positive value
1

%Sampling resolution applied to each microphone pair referential (expressed in degrees)
%Permitted value : strictly positive value (expert parameter, please refer to the complete documentation)
5

%Number of sources to localize
%Permitted value : strictly positive integer
2

%Minimum angle distance between estimated directions
%Permitted value : value greater than or equal to search grid resolution
10



In output :

resultsFigure.png
Resultsfigure
MBSS_Locate_log.txt
Parameters File : multi_channel_bss_locate_params.txt
Wav File : male_female_mixture.wav 

Multi-channel BSS Locate parameters evaluation
Reading input wav file
Execute Multi-channel BSS Locate

Estimated source 1 : 
 Azimuth (Theta): 45 	 Elevation (Phi): 45 

Estimated source 2 : 
 Azimuth (Theta): 135 	 Elevation (Phi): 0 

16/11/2016 : Version 1.3,
12/11/2015 : Version 1.0, initial version

How to use our REST API :

Think to check your private token in your account first. You can find more detail in our documentation tab.

This app id is : 67

This curl command will create a job, and return your job url, and also the average execution time

files and/or dataset are optionnal, think to remove them if not wanted
curl -H 'Authorization: Token token=<your_private_token>' -X POST
-F job[webapp_id]=67
-F job[param]=""
-F job[queue]=standard
-F files[0]=@test.txt
-F files[1]=@test2.csv
-F job[file_url]=<my_file_url>
-F job[dataset]=<my_dataset_name> https://allgo.inria.fr/api/v1/jobs

Then, check your job to get the url files with :

curl -H 'Authorization: Token token=<your_private_token>' -X GET https://allgo.inria.fr/api/v1/jobs/<job_id>