Skip to content

lmiguelgato/DAP_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

144 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robot audition system

Location and tracking of multiple speakers using an array of 3 microphones

  • Estimate the directions of arrival (DOA) of multiple speakers in real-time (or from a set of recordings).
  • Spatial filtering to improve the signal-to-interference ratio (simple delay-and-sum beamforming).

Requirements:

  • libsndfile (version 1.0.28 or higher)
  • fftw (version 3.3.8 or higher)
  • Eigen (version 3.3.7 or higher)

How to use:

1 - For compilation, run: 'make'.

2(a)- If the directions of arrival (azimuth) are known, and just to perform beamforming, run: 'beamformer'; or ...

2(b)- if the directions of arrival (azimuth) are unkown, first perform azimuth estimation and then beamforing by running: 'gcc_beamformer'.

$ ./gcc_beamformer <separation between microphones (meters)> <maximum number of sources to localize> <which source to filter (set to 0 to filter all)>

For example: $ ./gcc_beamformer 0.23 2 1

3(a)- Use JACK to manually connect the audio sources to the corresponfing ports of 'jack_doa_beamformer' JACK client; or ...

3(b)- if the audio sources are .wav files, run: 'ReadMicWavs'

$ ./ReadMicWavs <jack agent's name> <audio file root name> <audio file path> <number of channels>

For example: $ ./ReadMicWavs jack_doa_beamformer wav_mic corpus/ 3

All output files are stored in './output'. MATLAB scripts and functions in './matlab' are meant for analysis of the output files.

About

Multiple DOA estimation & delay-and-sum beamforming

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages