Marsyas
0.6.0-alpha
|
Azimuth Discrimination and Resynthesis (ADRess) - sound source separation. More...
#include <ADRess.h>
Inherits MarSystem.
Public Member Functions | |
ADRess (std::string name) | |
ADRess (const ADRess &a) | |
MarSystem * | clone () const |
void | myProcess (realvec &in, realvec &out) |
Processes data. | |
~ADRess () |
Azimuth Discrimination and Resynthesis (ADRess) - sound source separation.
ADRess takes a stereo input (i.e. input is expected to be the output of a parallel of two Spectrum MarSystems, one for each stereo channel), and outputs the phase vector and frequency dependent nulls matrix for each channel using the following format:
[bin_phases_l][AZl] [bin_phases_r][AZr]
This algorithm was proposed by Dan Barry et al at the DAfX04, "Sound Source Separation: azimuth discrimination and resynthesis". The algorithm exploits the use of pan pot as a means to achieve image localisation within stereophonic recordings, assuming only an interaural intensity difference exists between left and right channels for a single source. A gain scaling and phase cancellation technique is then used to expose frequency dependent nulls across the azimuth domain, from which source separation and resynthesis may be carried out.
Controls:
ADRess | ( | std::string | name | ) |
Definition at line 29 of file ADRess.cpp.
Definition at line 34 of file ADRess.cpp.
~ADRess | ( | ) |
Definition at line 39 of file ADRess.cpp.
Implements MarSystem.
Definition at line 44 of file ADRess.cpp.
Processes data.
in | Input data to read. |
out | Output data to write. |
Implement this method in subclass to define specific data processing.
Implements MarSystem.
Definition at line 76 of file ADRess.cpp.