14.4.1 Off line sound source separation

A sample of off line sound source separation is introduced first. Since input sounds are files, even the users who do not have a multi-channel AD can confirm while executing sound source separation.

Run demo.sh in Separation directory with a command line argument “offline”. After you run, you will see the separated sounds in sep_files/. The file names are offline_%d.wav.

If you failed run the sample, check the following things.

  1. Check if the transfer function files kinect_loc.zip, kinect_sep.zip files are in the ../config directory.

  2. Check if MultiSpeech.wav is in the ../data directory.

Twelve nodes are included in this sample. There are three nodes in MAIN (subnet) and are nine nodes in MAIN_LOOP (iterator). MAIN (subnet) includs Constant , InputStream , and MAIN_LOOP (iterator). MAIN_LOOP (iterator) is shown in Fig. 14.12 The audio waveforms read from the files in the AudioStreamFromWave node are analyzed in MultiFFT , separated in GHDSS , synthesized in Synthesize and the audio waveforms are saved in SaveWavePCM .

\includegraphics[width=0.8\textwidth ]{fig/recipes/LearningHARK-separation-ghdss.png}
Figure 14.12: Sound source separation without HRLE

An important parameter is TF_CONJ_FILENAME. Use the file created in harktool3 from impulse responses of a kinect.