Underwater single-channel acoustic source separation with unknown numbers using autoencoder nerual networks. Using keras-gpu 2.2.4 with tensorflow-gpu 1.12.0 backend.
This is the official code of the blow article. Please cite this work in your publications as :
@misc{sun2022source,
title={Source Separation of Unknown Numbers of Single-Channel Underwater Acoustic Signals Based on Autoencoders},
author={Qinggang Sun and Kejun Wang},
year={2022},
eprint={2207.11749},
archivePrefix={arXiv},
primaryClass={cs.SD}
}
1. Download and organize data files as "data_dir_tree.md".
The official website of the shipsEar database is https://atlanttic.uvigo.es/underwaternoise/ .
Users may contact the author David Santos Domínguez through email dsantos@gts.uvigo.es to get the database.
2. Install dependent packages in the "requirements.txt" file.
3. Run
prepare_data_shipsear_recognition_mix_s0tos3.py
recognition_mix_shipsear_s0tos3_preprocess.py
prepare_data_shipsear_separation_mix_s0tos3.py
separation_mix_shipsear_s0tos3_preprocess.py
to preprocess datas.
4. Experiments:
(0) Known numbers of source separation with multiple autoencoders.
train_separation_multiple_autoencoder.py
(1) Known numbers of source separation with multiple output autoencoders.
train_separation_known_number.py
(2) Algorithm 1.
train_separation_one_autoencoder.py
(3) Algorithm 2.
train_single_source_autoencoder_ns.py
train_single_source_autoencoder_ns_search_encoded_dense.py
(4) Algorithm 3.
train_single_source_autoencoder_ns.py
train_separation_one_autoencoder_freeze_decoder.py
(5) FUSS.
train_separation_fuss.py
(6) CBIR in (Kim, 2023).
train_separation_kim.py
Please cite the original work as :
Generative sourceseparation with GANs
Two-Step Sound Source Separation: Training on Learned Latent Targets
Dual-Path RNN for Single-Channel Speech Separation
Dual-Path RNN for Single-Channel Speech Separation (in Keras-Tensorflow2)
Conv-TasNet: Surpassing Ideal Time–Frequency Magnitude Masking for Speech Separation
conv-tasnet
Deep Learning for Blind Source Separation
Conv-TasNet
Conv-TasNet
Wave-U-Net
Wave-U-net-TF2
Sound Separation
bsseval