DNNによる音源分離(PyTorch実装)
- v0.7.1
- Jupyter notebookの更新.
モジュール | 参考文献 | 実装 |
---|---|---|
Depthwise-separable convolution | Xception: Deep Learning with Depthwise Separable Convolutions | ✔ |
Gated Linear Units (GLU) | Language Modeling with Gated Convolutional Networks | ✔ |
Sigmoid Linear Units (SiLU) | Sigmoid-Weighted Linear Units for Neural Network Function Approximation in Reinforcement Learning | ✔ |
Feature-wise Linear Modulation (FiLM) | FiLM: Visual Reasoning with a General Conditioning Layer | ✔ |
Point-wise Convolutional Modulation (PoCM) | LaSAFT: Latent Source Attentive Frequency Transformation for Conditioned Source Separation | ✔ |
手法 | 参考文献 | 実装 |
---|---|---|
Pemutation invariant training (PIT) | Multi-talker Speech Separation with Utterance-level Permutation Invariant Training of Deep Recurrent Neural Networks | ✔ |
One-and-rest PIT | Recursive Speech Separation for Unknown Number of Speakers | ✔ |
Probabilistic PIT | Probabilistic Permutation Invariant Training for Speech Separation | |
Sinkhorn PIT | Towards Listening to 10 People Simultaneously: An Efficient Permutation Invariant Training of Audio Source Separation Using Sinkhorn's Algorithm | ✔ |
Combination Loss | All for One and One for All: Improving Music Separation by Bridging Networks | ✔ |
Conv-TasNetによるLibriSpeechデータセットを用いた音源分離の例
<REPOSITORY_ROOT>/egs/tutorials/
で他のチュートリアルも確認可能.
cd <REPOSITORY_ROOT>/egs/tutorials/common/
. ./prepare_librispeech.sh \
--librispeech_root <LIBRISPEECH_ROOT> \
--n_sources <#SPEAKERS>
cd <REPOSITORY_ROOT>/egs/tutorials/conv-tasnet/
. ./train.sh \
--exp_dir <OUTPUT_DIR>
学習を途中から再開したい場合,
. ./train.sh \
--exp_dir <OUTPUT_DIR> \
--continue_from <MODEL_PATH>
cd <REPOSITORY_ROOT>/egs/tutorials/conv-tasnet/
. ./test.sh \
--exp_dir <OUTPUT_DIR>
cd <REPOSITORY_ROOT>/egs/tutorials/conv-tasnet/
. ./demo.sh
事前学習済みモデルのダウンロードにはgdown
が必要です.
pip install gdown
事前学習済みモデルを次のようにダウンロードすることができます.
from models.conv_tasnet import ConvTasNet
model = ConvTasNet.build_from_pretrained(task="musdb18", sample_rate=44100, target="vocals")
詳細については,PRETRAINED_ja.md
やegs/tutorials/hub/pretrained_ja.ipynb
を見るか, にとんでください.
egs/tutorials/hub/time-domain_wrapper_ja.ipynb
を見るか, にとんでください.
egs/tutorials/hub/speech-separation_ja.ipynb
を見るか, にとんでください.
egs/tutorials/hub/music-source-separation_ja.ipynb
を見るか,にとんでください.
自前の音楽ファイルで分離を試したい場合は,以下を参照してください.
- MMDenseLSTM:
egs/tutorials/mm-dense-lstm/separate_music_ja.ipynb
を見るか, にとんでください. - Conv-TasNet:
egs/tutorials/conv-tasnet/separate_music_ja.ipynb
を見るか, にとんでください. - UMX:
egs/tutorials/umx/separate_music_ja.ipynb
を見るか, にとんでください. - X-UMX:
egs/tutorials/x-umx/separate_music_ja.ipynb
を見るか, にとんでください. - D3Net:
egs/tutorials/d3net/separate_music_ja.ipynb
を見るか, にとんでください.