Liking cljdoc? Tell your friends :D

open-unmix-pytorch-clj

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.

Clojars Project

Get Started

  • install python 3.7, pip

  • install python dependencies

pip3 install -r requirements.txt
  • add dependency to the project.clj
[dragoon000320/open-unmix-pytorch-clj "0.1.2-SNAPSHOT"]

Usage

A little demo how to use it

;; require namespaces
(require '[open-unmix-pytorch-clj.core :as core])

(require '[open-unmix-pytorch-clj.io :as oup.io])

(require '[open-unmix-pytorch-clj.convert :as conv])

(-> "your-audio-file.wav"
    ;; reads audio file
    oup.io/soundfile-read
    ;; converts audio data to 2 channel one
    conv/->2-channels
    ;; separates audio data into required audio sources
    (core/separate ["vocals" "drums" "other" "bass"])
    ;; writes estimates for each audio source to the output directory
    (oup.io/writes-estimates "out-dir"))

Disclaimer

This is early alpha, current state of library is described below:

  • for now only separation of audio source implemented
  • so there is no implementation of model training
  • performance must be further improved
  • a lot more to do...

Contributions

It is an open-source project so contributions are welcomed (pull-requests, issue reports).

Special Thanks To

License

Copyright © 2020 Andrei Rybin

Distributed under the Eclipse Public License 2.0

Can you improve this documentation? These fine people already did:
arybin & Andrei Rybin
Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close