CarlGao4 / Demucs-Gui

A GUI for music separation AI demucs
GNU General Public License v3.0
499 stars 37 forks source link

macOS build cannot detect FFMpeg #11

Closed chriscjcj closed 9 months ago

chriscjcj commented 2 years ago

Question

Thank you very much for creating a GUI for the Demucs code! I am sorry to say that I'm unable to run it successfully. I am on a late 2019 Corei9 iMac, MacOS 12.5. On launch, the GUI window shows two messages about FFMPEG and CUDA missing. When selecting "System Information" from Demucs-GUI Info menu, the following is shown:

Python version: 3.9.12 (main, Jun 1 2022, 06:39:55) [Clang 12.0.0 ] System: macOS-10.16-x86_64-i386-64bit CPU: i386 Memory: 73728.000MB PyTorch version: 1.11.0 NumPy version: 1.22.4 SoundFile version: 0.10.3 libsndfile version: 1.1.0 CUDA available: False Demucs version: 3.0.4 FFMpeg available: False Demucs-GUI version: 0.1

I am certain that I have FFMpeg installed.... % ffmpeg -version ffmpeg version 5.1 Copyright (c) 2000-2022 the FFmpeg developers built with Apple clang version 13.1.6 (clang-1316.0.21.2.5) configuration: --prefix=/usr/local/Cellar/ffmpeg/5.1 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox libavutil 57. 28.100 / 57. 28.100 libavcodec 59. 37.100 / 59. 37.100 libavformat 59. 27.100 / 59. 27.100 libavdevice 59. 7.100 / 59. 7.100 libavfilter 8. 44.100 / 8. 44.100 libswscale 6. 7.100 / 6. 7.100 libswresample 4. 7.100 / 4. 7.100 libpostproc 56. 6.100 / 56. 6.100

I'm less certain about cuda. I'm grateful for any advice. Best wishes and many thanks for your work on this.

Screen Shot 2022-08-09 at 9 34 03 PM

Screen Shot 2022-08-09 at 9 34 02 PM

System Information 2022-08-09 21-38-59

CarlGao4 commented 2 years ago

These two messages doesn’t affect the separation currently. CUDA will always be unavailable unless you are using macOS 10.13 or other platforms like Windows or Linux. For FFMpeg detection, I will do more research. It seems that bundled app can’t reach other user resources?

chriscjcj commented 2 years ago

Thank you for your reply. If I'm understanding you correctly, you're saying that despite Demucs-Gui not being able to find either of these components, it shouldn't ultimately affect Demucs-Gui's ability to function. Would that be correct?

When I launch the application, I get the main window for about a second. In the lower left, it displays the messages shown in the screenshots above, and then that main window disappears. The only window I'm left with is the window that lets one set the model path and load a model. At this point, I don't see any way to load an audio file for processing. I have attempted to drag and drop various types of audio files (wav, aiff, flac, mp3) onto the application icon but haven't managed to get anything to work at all.

As it pertains to detection of ffmpeg, I am remiss for not previously noting that I installed ffmpeg using brew. Also, FWIW, I regularly use an app called "remux" which is dependent on ffmpeg. For some period of time, there was a bug in brew's install of ffmpeg which prevented remux from seeing the ffmpeg component. A subsequent ffmpeg update fixed the problem. Perhaps the brew install of ffmpeg has some characteristic that makes Demucs-GUI unable to hook into it.

Thanks again for your work on this project. I'm not a coder/developer, but I'm happy to contribute in any way I can. If you would like to use me to test out builds, provide feedback, or do anything else that might be helpful/useful, please don't hesitate to ask.

CarlGao4 commented 2 years ago

Now the program doesn't use ffmpeg for reading or writing an audio, I'm just trying the detection of it. I'll fix the problem and maybe I need you to provide more information if necessary.

CUDA is a function of NVIDIA graphic card, which is not available on macOS, you needn't to worry about that.

Because the parameters depends on the model you've selected, you should load a model before reading the file. Just click load model without changing anything.

Thanks for your support!

genevera commented 1 year ago

@chriscjcj I just open it from terminal using the following command:

open --env "PATH=${PATH}" /Applications/Demucs-GUI.app

FFMPEG is then found 👍🏼

will2dye4 commented 10 months ago

@chriscjcj I just open it from terminal using the following command:

open --env "PATH=${PATH}" /Applications/Demucs-GUI.app

FFMPEG is then found 👍🏼

@genevera I'm not the OP, but thanks for the suggestion. This approach does seem to bypass the "FFMpeg not found" message in the splash screen when the application launches.

Unfortunately, I still see the same behavior as what @chriscjcj reported above, where I can load a model but cannot then figure out how to use the app to separate song files into isolated tracks. Dropping them on the app window does nothing, and I see no menu or controls for loading a file.

will2dye4 commented 10 months ago

Thank you for your reply. If I'm understanding you correctly, you're saying that despite Demucs-Gui not being able to find either of these components, it shouldn't ultimately affect Demucs-Gui's ability to function. Would that be correct?

When I launch the application, I get the main window for about a second. In the lower left, it displays the messages shown in the screenshots above, and then that main window disappears. The only window I'm left with is the window that lets one set the model path and load a model. At this point, I don't see any way to load an audio file for processing. I have attempted to drag and drop various types of audio files (wav, aiff, flac, mp3) onto the application icon but haven't managed to get anything to work at all.

As it pertains to detection of ffmpeg, I am remiss for not previously noting that I installed ffmpeg using brew. Also, FWIW, I regularly use an app called "remux" which is dependent on ffmpeg. For some period of time, there was a bug in brew's install of ffmpeg which prevented remux from seeing the ffmpeg component. A subsequent ffmpeg update fixed the problem. Perhaps the brew install of ffmpeg has some characteristic that makes Demucs-GUI unable to hook into it.

Thanks again for your work on this project. I'm not a coder/developer, but I'm happy to contribute in any way I can. If you would like to use me to test out builds, provide feedback, or do anything else that might be helpful/useful, please don't hesitate to ask.

@chriscjcj I see the same behavior as what you described above. I can launch the app and load a model, but after loading the model I see no menu or controls for loading a file, and dropping a file on the app window has no effect. I don't know how to make Demucs GUI work, but I recently created my own frontend for demucs which should hopefully work for you as well. Take a look at https://github.com/will2dye4/unmixer if you're interested.

@CarlGao4 Based on reading the docs, it seems like the app should be responsive to files being dropped on the main window. I'm not able to drop files, or figure out another mechanism for loading files, using Demucs GUI v1.0a1 on macOS 14.0 (on an M1 MacBook Pro). Perhaps there's some kind of bug with the app's handling of drag/drop events on macOS? Is there supposed to be some sort of button or menu in the app that allows users to select files to load?

CarlGao4 commented 10 months ago

I haven't built release for Apple Silicon MacBooks and it will run on Intel Macs without errors

CarlGao4 commented 10 months ago

@will2dye4 this issue is quite out of date as it was an issue from 0.1

will2dye4 commented 10 months ago

@CarlGao4 Thanks. I captured the issue I am seeing in #28.

CarlGao4 commented 9 months ago

Then this issue can be fixed using https://github.com/CarlGao4/Demucs-Gui/issues/11#issuecomment-1563725510