Clojure bindings for PyTorch implementation of Open-Unmix, a deep neural network reference implementation for music source separation, applicable for researchers, audio engineers and artists.
install python 3.7, pip
install python dependencies
pip3 install -r requirements.txt
[dragoon000320/open-unmix-pytorch-clj "0.1.3-ALPHA"]
A little demo how to use it
;; require namespaces
(require '[open-unmix-pytorch-clj.core :refer :all])
(require '[open-unmix-pytorch-clj.io :refer :all])
(require '[open-unmix-pytorch-clj.convert :refer :all])
(-> "your-audio-file.wav"
;; reads audio file
soundfile-read
;; converts audio data to 2 channel one
->2-channels
;; separates audio data into required audio sources
(separate ["vocals" "drums" "other" "bass"]
:device "cpu"
;; or if you have cuda enabled uncomment line below
;; :device "cuda")
;; writes estimates for each audio source to the output directory
(writes-estimates "out-dir"))
The library is in alpha at the moment, current state of library is described below:
It is an open-source project so contributions are welcomed (pull-requests, issue reports).
Copyright © 2020 Andrei Rybin
Distributed under the Eclipse Public License 2.0
Can you improve this documentation? These fine people already did:
arybin & Andrei RybinEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close