GithubHelp home page GithubHelp logo

sevagh / demucs.cpp Goto Github PK

View Code? Open in Web Editor NEW
65.0 4.0 10.0 1.7 MB

C++17 port of Demucs v3 (hybrid) and v4 (hybrid transformer) models with ggml and Eigen3

Home Page: https://freemusicdemixer.com/

License: MIT License

CMake 1.51% C++ 90.95% Python 6.80% Shell 0.73%
demixing demucs eigen3 ggml music-source-separation pytorch guitar piano blas

demucs.cpp's Introduction

demucs.cpp's People

Contributors

adamski avatar dszakallas avatar olilarkin avatar sevagh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

demucs.cpp's Issues

Question about GPU

How difficult is it to build this using cuBLAS? I'm looking into creating a native project around demucs but need GPU acceleration. Python is way too bloated for my liking.

unknown target CPI 'apple-m1'

I am getting this build error since updating to the recent commits:

error: unknown target CPU 'apple-m1'
note: valid target CPU values are: nocona, core2, penryn, bonnell, atom, silvermont, slm, goldmont, goldmont-plus, tremont, nehalem, corei7, westmere, sandybridge, corei7-avx, ivybridge, core-avx-i, haswell, core-avx2, broadwell, skylake, skylake-avx512, skx, cascadelake, cooperlake, cannonlake, icelake-client, rocketlake, icelake-server, tigerlake, sapphirerapids, alderlake, knl, knm, k8, athlon64, athlon-fx, opteron, k8-sse3, athlon64-sse3, opteron-sse3, amdfam10, barcelona, btver1, btver2, bdver1, bdver2, bdver3, bdver4, znver1, znver2, znver3, x86-64, x86-64-v2, x86-64-v3, x86-64-v4

Amount of time to demux an audio file

Hi, do you know roughly how long it takes for you to demux an audio file? I've tried with a clip that's 1m30s long, and it took 10m43, so x7 times as long. Is this expected, or have I done something silly?

$ cat /proc/cpuinfo | grep "model name" | head -n1
model name : Intel(R) Core(TM) i3-6100 CPU @ 3.70GHz

(used the 4 sources model).

Thanks!

Feature request - optional logging

Making this a separate issue, although it could be combined with #5.

As demucs.cpp processes the various stages of the algorithm you print the current operation to the std::out which is perhaps undesirable in a library. Could this logging could be made optional or via a callback?

Feature request - better progress reporting and logging

Firstly thanks for this fantastic project and contribution to the world of open source stem separation. I may make a few more PRs to make it build well on macOS and windows, and e.g. add performance measurements with BLAS from Apple's Accelerate.

I would like to suggest an improvement. It's great to have the progress callback, but each pass of the demucs processing is so resource intensive that it can be a while before you get any feedback. In the case where you want to run this on a background thread it would be good to have a more granular progress callback - so that you can check if the user cancelled the processing, which can take a very long time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.