omeryusufyagci / fast-music-remover

A C++ based, lightweight music and noise remover for YouTube and other internet media, using DeepFilterNet for audio enhancement.
MIT License
162 stars 20 forks source link

Windows support #29

Closed IbrahimHamshari closed 1 month ago

IbrahimHamshari commented 1 month ago

Steps:

  1. Install the gcc using the MSYS2 pacman -S mingw-w64-x86_64-toolchain base-devel

  2. Install Cmake using MSYS2 pacman -S mingw-w64-x86_64-cmake

  3. Install the nlohmann/json.hpp (I don't know if this is needed anymore.) pacman -S mingw-w64-x86_64-nlohmann-json

  4. Install ffmpeg and put it in the environment PATH variable.

  5. Run Cmake using the MSYS2 in the build directory cmake -G "MSYS Makefiles" ..

  6. Run the make command in the build directory make

  7. Run the application using python app.py

Tested it in the windows environment, and the Linux environment (using docker).

omeryusufyagci commented 1 month ago

Hi @IbrahimHamshari,

Many thanks for the changes and instructions, it works! However, I'm not too keen on being fully dependent on the msys env. Requiring manual exports and having to do the entire workflow within this shell feels limiting. For a Windows release, I'd prefer a solution that doesn't rely on msys and works directly on a standard Windows setup.

I don't have much experience with native Windows development myself. Do you have any ideas for an alternative? If we can't find a better solution, we should at least provide clear documentation to ensure it works on a clean system.

This branch is a bit outdated, so I’ll update it and plan to merge over the weekend unless you have any other updates.

Thanks again, great to have something working on Windows!

omeryusufyagci commented 1 month ago

@IbrahimHamshari could you please update here with the full instructions required to make this work on a clean windows system?

Please use a <details><summary> .. block as done here to separate Windows and Unix instructions.

I resolved the conflicts, but we should keep the docs updated, and since this is within scope here, it'd best to merge this with the updated docs.

That should be the last change required for this PR. Thanks again for the great work!

IbrahimHamshari commented 1 month ago

@omeryusufyagci I'm trying to make it work without depending on the msys env. I do think I'm making some progress.

IbrahimHamshari commented 1 month ago

Unfortunately, I wasn't able to do that without the msys env as it's more complex to not use msys than to use it, so I think it would be better to just use it. @omeryusufyagci Should I just update the CONTRIBUTING.md or both the CONTRIBUTING.md and the README.md ?

omeryusufyagci commented 1 month ago

Well, thanks for trying @IbrahimHamshari! I also don't have a better solution at the moment, but for the current stage of the project, I think this is acceptable. I'd rather shift our focus towards providing a stable Windows binary.

Since these are development details, updating the contributing should be enough. Thank you!

IbrahimHamshari commented 1 month ago

@omeryusufyagci Please let me know if there are any changes you want me to make.