We provide a PyTorch implementation of the paper Voice Separation with an Unknown Number of Multiple Speakers In which, we present a new method for separating a mixed audio sequence, in which multiple voices speak simultaneously. The new method employs gated neural networks that are trained to separate the voices at multiple processing steps, while maintaining the speaker in each output channel fixed. A different model is trained for every number of possible speakers, and the model with the largest number of speakers is employed to select the actual number of speakers in a given sample. Our method greatly outperforms the current state of the art, which, as we show, is not competitive for more than two speakers.
I got this error while running the train.py script with torch 1.9.0
Traceback (most recent call last):
File "train.py", line 118, in main
_main(args)
File "train.py", line 112, in _main
run(args)
File "train.py", line 93, in run
solver.train()
File "/workspace/svoice/svoice/solver.py", line 122, in train
train_loss = self._run_one_epoch(epoch)
File "/workspace/svoice/svoice/solver.py", line 210, in _run_one_epoch
sources, est_src, lengths)
File "/workspace/svoice/svoice/models/sisnr_loss.py", line 23, in cal_loss
source_lengths)
File "/workspace/svoice/svoice/models/sisnr_loss.py", line 46, in cal_si_snr_with_pit
estimate_source *= m
RuntimeError: Output 0 of UnbindBackward is a view and is being modified inplace. This view is the output of a function that returns multiple views. Such functions do not allow the output views to be modified inplace. You should replace the inplace operation by an out-of-place one.
Hey there,
I got this error while running the train.py script with torch 1.9.0
Any help ?