worldveil / dejavu

Audio fingerprinting and recognition in Python
MIT License
6.36k stars 1.43k forks source link

FileNotFoundError: [WinError 2] The system cannot find the file specified #255

Closed Besarion-95 closed 3 years ago

Besarion-95 commented 3 years ago

Hi there really impressed with your code. Tried it out today using the test files in mp3.

from dejavu import Dejavu config = { "database": { "host": "127.0.0.1", "user": "root", "password": "[password]", "database": "Dejavu", } } djv = Dejavu(config) djv.fingerprint_directory("C:/Users/User1/Desktop/dejavu-master/mp3", [".mp3"], 3)

results in this: Failed fingerprinting multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "C:\Users\User1\anaconda3\lib\multiprocessing\pool.py", line 125, in worker result = (True, func(*args, **kwds)) File "C:\Users\User1\Desktop\dejavu-master\dejavu__init__.py", line 239, in _fingerprint_worker fingerprints, file_hash = Dejavu.get_file_fingerprints(file_name, limit, print_output=True) File "C:\Users\User1\Desktop\dejavu-master\dejavu__init.py", line 245, in get_file_fingerprints channels, fs, file_hash = decoder.read(file_name, limit) File "C:\Users\User1\Desktop\dejavu-master\dejavu\logic\decoder.py", line 70, in read audiofile = AudioSegment.from_file(file_name) File "C:\Users\User1\anaconda3\lib\site-packages\pydub\audio_segment.py", line 685, in from_file info = mediainfo_json(orig_file, read_ahead_limit=read_ahead_limit) File "C:\Users\User1\anaconda3\lib\site-packages\pydub\utils.py", line 274, in mediainfo_json res = Popen(command, stdin=stdin_parameter, stdout=PIPE, stderr=PIPE) File "C:\Users\User1\anaconda3\lib\subprocess.py", line 854, in init__ self._execute_child(args, executable, preexec_fn, close_fds, File "C:\Users\User1\anaconda3\lib\subprocess.py", line 1307, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] The system cannot find the file specified

however when i change: djv.fingerprint_directory("C:/Users/User1/Desktop/dejavu-master/mp3", [".mp3"], 3) to: djv.fingerprint_directory("C:/Users/User1/Desktop/dejavu-master/mp3", [".wav"], 3)

It imports "azan_test" no issue.

Im running windows 10 Python 3.8.3

Besarion-95 commented 3 years ago

https://stackoverflow.com/questions/22284461/pydub-windowserror-error-2-the-system-can-not-find-the-file-specified "In jupyter notebook this error could persist since the error is with anaconda environment. You can solve this by installing ffmpeg from conda-forge

Got to anaconda prompt and type:

conda install -c conda-forge ffmpeg"

Thought id leave this here for anyone else who has this issue