Try some of the best drums and bass stem separation available today: https://pro.freemusicdemixer.com/
Demucs in your pocket! Download the Android app today:
C++17 port of Demucs v3 (hybrid) and v4 (hybrid transformer) models with ggml and Eigen3
Home Page: https://freemusicdemixer.com/
License: MIT License
Try some of the best drums and bass stem separation available today: https://pro.freemusicdemixer.com/
Demucs in your pocket! Download the Android app today:
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.
demucs.cpp.test depends on googletest, which is not vendord or in the README.md.
I can't build that target on macOS. Maybe if I install via homebrew, although I think it might be better to include it as a submodule?
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
The multithreaded cli seems to be hard wired for 4-source models as you can see in this for loop:
demucs.cpp/cli-apps/threaded_inference.hpp
Line 141 in 6f0eba0
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!
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?
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.
Architecture is not too far from v4, except this codebase is missing an LSTM (which I have in umx.cpp: https://github.com/sevagh/umx.cpp/blob/main/src/lstm.cpp)
Still, it will take some effort to trace through every step of v3 inference and implement it all correctly.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.