The journey to open-sourcing the code and models
FOSDEM 2020
Anis Khlif, Félix Voituret
The journey to open-sourcing the code and models FOSDEM 2020 Anis - - PowerPoint PPT Presentation
The journey to open-sourcing the code and models FOSDEM 2020 Anis Khlif, Flix Voituret Whos been involved Romain Hennequin - Lead research scientist Laure Prtet - Former intern Anis Khlif - Research Engineer Flix Voituret - Research
The journey to open-sourcing the code and models
FOSDEM 2020
Anis Khlif, Félix Voituret
Spleeter by Deezer
Romain Hennequin - Lead research scientist Laure Prétet - Former intern Anis Khlif - Research Engineer Félix Voituret - Research Engineer Manuel Moussallam - Head of Deezer Research
Spleeter by Deezer
200k+ views
Spleeter by Deezer
9500+ stars on Github 100k+ read on deezer.io
Spleeter performs better than all other solutions
Spleeter by Deezer
Deezer solved source separation
State of the art Fast MIT Licensed
Spleeter by Deezer
Time
Primer on source separation
Primer on source separation
Frequencies Time
Primer on source separation
Frequencies Time
Primer on source separation
Harmonic content
Frequencies Time
Primer on source separation
In-harmonic Percussive content
Frequencies Time
Primer on source separation
Vocal content
Learn a mask for each instrument ! What fraction of the energy at each time and each frequency bin should be assigned to this instrument.
Primer on source separation
Primer on source separation
Primer on source separation
Primer on source separation
2, 4 & 5 stems
Deep learning model Vocal mask Instruments mask
Spleeter models
Deep learning model Vocal mask
Spleeter models
Others mask Drums mask Bass mask
Deep learning model Vocal mask
Spleeter models
Others mask Drums mask Bass mask Piano mask
function
Input s Operation Output s
Spleeter models
Input s Operation Output s
Spleeter models
model = computation graph (network architecture) + weights (parameters)
unet masks
L1 loss
Instruments
Spleeter models
unet masks
L1 loss
Instruments
Spleeter models
Example 1
unet masks
L1 loss
Instruments
Spleeter models
Example 1 Parameter update
Example 2
unet masks
L1 loss
Instruments
Spleeter models
Example 2
unet masks
L1 loss
Instruments
Spleeter models
Parameter update
Example N
unet masks
L1 loss
Instruments
Spleeter models
Example N
unet masks
L1 loss
Instruments
Spleeter models
Parameter update
… that we are not allowed to release!
Spleeter models
In-house dataset of tracks ~24k tracks with stems ~80 hours of recording
Spleeter models
2 4 5
We can release learned weights
Packaging & distribution
Predefined configurations On demand model downloading Oneliner command
Open-sourcing Spleeter
Spleeter
Embedded configuration files
...
○ File path ○ Configuration name
Open-sourcing Spleeter
deezer/spleeter
Spleeter Open-sourcing Spleeter
$ spleeter separate -i input_file.mp3 -o output_dir -p spleeter:4stems Separate with specific embedded configuration $ spleeter separate -i input_file.mp3 -o output_dir Separate with default 2stems configuration
Open-sourcing Spleeter
Open-sourcing Spleeter FFmpe g TensorFlow Spleeter CPU version GPU version
Critical dependencies to manage :
Open-sourcing Spleeter
Open-sourcing Spleeter
Open-sourcing Spleeter
Open-sourcing Spleeter
~30 projects referenced as using Spleeter on GitHub
Industrial integrations :
Research publications :
research@deezer.com