myshell-ai / OpenVoice

Instant voice cloning by MyShell.
https://research.myshell.ai/open-voice
MIT License
27.07k stars 2.62k forks source link

target_se file not found error #266

Closed diganta121 closed 2 weeks ago

diganta121 commented 3 weeks ago

i am stuck with this error in this

Afile = "resources\example_reference.mp3"

target_se, audio_name = se_extractor.get_se(
    Afile, tone_color_converter, vad=True)

the file exists and the path is correct but it still raises this error

OpenVoice version: v1 processed\example_reference_v1Cz+Mo6TtWn^ElNh_^\se.pth

---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
Cell In[8], [line 3](vscode-notebook-cell:?execution_count=8&line=3)
      [1](vscode-notebook-cell:?execution_count=8&line=1) Afile = "resources\example_reference.mp3"
----> [3](vscode-notebook-cell:?execution_count=8&line=3) target_se, audio_name = se_extractor.get_se(
      [4](vscode-notebook-cell:?execution_count=8&line=4)     Afile, tone_color_converter, vad=True
      [5](vscode-notebook-cell:?execution_count=8&line=5) )

File d:\experiments\coding\OpenVoice\openvoice\se_extractor.py:154, in get_se(audio_path, vc_model, target_dir, vad)
    [147](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:147) # if os.path.isfile(se_path):
    [148](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:148) #     se = torch.load(se_path).to(device)
    [149](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:149) #     return se, audio_name
    [150](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:150) # if os.path.isdir(audio_path):
    [151](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:151) #     wavs_folder = audio_path
    [153](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:153) if vad:
--> [154](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:154)     wavs_folder = split_audio_vad(
    [155](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:155)         audio_path, target_dir=target_dir, audio_name=audio_name
    [156](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:156)     )
    [157](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:157) else:
    [158](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:158)     wavs_folder = split_audio_whisper(
    [159](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:159)         audio_path, target_dir=target_dir, audio_name=audio_name
    [160](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:160)     )

File d:\experiments\coding\OpenVoice\openvoice\se_extractor.py:86, in split_audio_vad(audio_path, audio_name, target_dir, split_seconds)
     [84](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:84) def split_audio_vad(audio_path, audio_name, target_dir, split_seconds=10.0):
     [85](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:85)     SAMPLE_RATE = 16000
---> [86](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:86)     audio_vad = get_audio_tensor(audio_path)
     [87](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:87)     segments = get_vad_segments(
     [88](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:88)         audio_vad,
     [89](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:89)         output_sample=True,
   (...)
     [92](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:92)         method="silero",
     [93](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:93)     )
     [94](file:///D:/experiments/coding/OpenVoice/openvoice/se_extractor.py:94)     segments = [(seg["start"], seg["end"]) for seg in segments]

File d:\experiments\coding\OpenVoice\Venv1\lib\site-packages\whisper_timestamped\transcribe.py:1265, in get_audio_tensor(audio, device)
   [1263](file:///D:/experiments/coding/OpenVoice/Venv1/lib/site-packages/whisper_timestamped/transcribe.py:1263) def get_audio_tensor(audio, device="cpu"):
   [1264](file:///D:/experiments/coding/OpenVoice/Venv1/lib/site-packages/whisper_timestamped/transcribe.py:1264)     if isinstance(audio, str):
-> [1265](file:///D:/experiments/coding/OpenVoice/Venv1/lib/site-packages/whisper_timestamped/transcribe.py:1265)         audio = whisper.load_audio(audio)
   [1266](file:///D:/experiments/coding/OpenVoice/Venv1/lib/site-packages/whisper_timestamped/transcribe.py:1266)     if isinstance(audio, np.ndarray):
   [1267](file:///D:/experiments/coding/OpenVoice/Venv1/lib/site-packages/whisper_timestamped/transcribe.py:1267)         audio = torch.Tensor(audio)

File d:\experiments\coding\OpenVoice\Venv1\lib\site-packages\whisper\audio.py:58, in load_audio(file, sr)
     [56](file:///D:/experiments/coding/OpenVoice/Venv1/lib/site-packages/whisper/audio.py:56) # fmt: on
     [57](file:///D:/experiments/coding/OpenVoice/Venv1/lib/site-packages/whisper/audio.py:57) try:
---> [58](file:///D:/experiments/coding/OpenVoice/Venv1/lib/site-packages/whisper/audio.py:58)     out = run(cmd, capture_output=True, check=True).stdout
     [59](file:///D:/experiments/coding/OpenVoice/Venv1/lib/site-packages/whisper/audio.py:59) except CalledProcessError as e:
     [60](file:///D:/experiments/coding/OpenVoice/Venv1/lib/site-packages/whisper/audio.py:60)     raise RuntimeError(f"Failed to load audio: {e.stderr.decode()}") from e

File ~\AppData\Local\Programs\Python\Python310\lib\subprocess.py:503, in run(input, capture_output, timeout, check, *popenargs, **kwargs)
    [500](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:500)     kwargs['stdout'] = PIPE
    [501](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:501)     kwargs['stderr'] = PIPE
--> [503](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:503) with Popen(*popenargs, **kwargs) as process:
    [504](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:504)     try:
    [505](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:505)         stdout, stderr = process.communicate(input, timeout=timeout)

File ~\AppData\Local\Programs\Python\Python310\lib\subprocess.py:971, in Popen.__init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, user, group, extra_groups, encoding, errors, text, umask, pipesize)
    [967](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:967)         if self.text_mode:
    [968](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:968)             self.stderr = io.TextIOWrapper(self.stderr,
    [969](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:969)                     encoding=encoding, errors=errors)
--> [971](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:971)     self._execute_child(args, executable, preexec_fn, close_fds,
    [972](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:972)                         pass_fds, cwd, env,
    [973](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:973)                         startupinfo, creationflags, shell,
    [974](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:974)                         p2cread, p2cwrite,
    [975](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:975)                         c2pread, c2pwrite,
    [976](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:976)                         errread, errwrite,
    [977](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:977)                         restore_signals,
    [978](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:978)                         gid, gids, uid, umask,
    [979](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:979)                         start_new_session)
    [980](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:980) except:
    [981](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:981)     # Cleanup if the child failed starting.
    [982](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:982)     for f in filter(None, (self.stdin, self.stdout, self.stderr)):

File ~\AppData\Local\Programs\Python\Python310\lib\subprocess.py:1440, in Popen._execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, unused_restore_signals, unused_gid, unused_gids, unused_uid, unused_umask, unused_start_new_session)
   [1438](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1438) # Start the process
   [1439](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1439) try:
-> [1440](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1440)     hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
   [1441](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1441)                              # no special security
   [1442](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1442)                              None, None,
   [1443](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1443)                              int(not close_fds),
   [1444](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1444)                              creationflags,
   [1445](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1445)                              env,
   [1446](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1446)                              cwd,
   [1447](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1447)                              startupinfo)
   [1448](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1448) finally:
   [1449](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1449)     # Child is launched. Close the parent's copy of those pipe
   [1450](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1450)     # handles that only the child should have open.  You need
   (...)
   [1453](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1453)     # pipe will not close when the child process exits and the
   [1454](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1454)     # ReadFile will hang.
   [1455](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1455)     self._close_pipe_fds(p2cread, p2cwrite,
   [1456](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1456)                          c2pread, c2pwrite,
   [1457](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/OpenVoice/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1457)                          errread, errwrite)

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

i doubt that its a problem caused by insufficient privileges but how can that even be possible

pls help me fix this

diganta121 commented 3 weeks ago

i moved it to different location and it still raises the same error

FileNotFoundError                         Traceback (most recent call last)
Cell In[10], [line 3](vscode-notebook-cell:?execution_count=10&line=3)
      [1](vscode-notebook-cell:?execution_count=10&line=1) Afile = "steve_jobs2.mp3"
----> [3](vscode-notebook-cell:?execution_count=10&line=3) target_se, audio_name = se_extractor.get_se(
      [4](vscode-notebook-cell:?execution_count=10&line=4)     Afile, tone_color_converter, vad=True
      [5](vscode-notebook-cell:?execution_count=10&line=5) )

File d:\experiments\coding\opvoice2\openvoice\se_extractor.py:154, in get_se(audio_path, vc_model, target_dir, vad)
    [147](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:147) # if os.path.isfile(se_path):
    [148](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:148) #     se = torch.load(se_path).to(device)
    [149](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:149) #     return se, audio_name
    [150](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:150) # if os.path.isdir(audio_path):
    [151](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:151) #     wavs_folder = audio_path
    [153](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:153) if vad:
--> [154](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:154)     wavs_folder = split_audio_vad(
    [155](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:155)         audio_path, target_dir=target_dir, audio_name=audio_name
    [156](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:156)     )
    [157](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:157) else:
    [158](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:158)     wavs_folder = split_audio_whisper(
    [159](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:159)         audio_path, target_dir=target_dir, audio_name=audio_name
    [160](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:160)     )

File d:\experiments\coding\opvoice2\openvoice\se_extractor.py:86, in split_audio_vad(audio_path, audio_name, target_dir, split_seconds)
     [84](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:84) def split_audio_vad(audio_path, audio_name, target_dir, split_seconds=10.0):
...
   [1455](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/opvoice2/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1455)     self._close_pipe_fds(p2cread, p2cwrite,
   [1456](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/opvoice2/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1456)                          c2pread, c2pwrite,
   [1457](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/opvoice2/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1457)                          errread, errwrite)

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

it also does not work with absolute file path

kkive commented 3 weeks ago

我把它移到了不同的位置,它仍然引发了同样的错误

FileNotFoundError                         Traceback (most recent call last)
Cell In[10], [line 3](vscode-notebook-cell:?execution_count=10&line=3)
      [1](vscode-notebook-cell:?execution_count=10&line=1) Afile = "steve_jobs2.mp3"
----> [3](vscode-notebook-cell:?execution_count=10&line=3) target_se, audio_name = se_extractor.get_se(
      [4](vscode-notebook-cell:?execution_count=10&line=4)     Afile, tone_color_converter, vad=True
      [5](vscode-notebook-cell:?execution_count=10&line=5) )

File d:\experiments\coding\opvoice2\openvoice\se_extractor.py:154, in get_se(audio_path, vc_model, target_dir, vad)
    [147](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:147) # if os.path.isfile(se_path):
    [148](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:148) #     se = torch.load(se_path).to(device)
    [149](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:149) #     return se, audio_name
    [150](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:150) # if os.path.isdir(audio_path):
    [151](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:151) #     wavs_folder = audio_path
    [153](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:153) if vad:
--> [154](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:154)     wavs_folder = split_audio_vad(
    [155](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:155)         audio_path, target_dir=target_dir, audio_name=audio_name
    [156](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:156)     )
    [157](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:157) else:
    [158](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:158)     wavs_folder = split_audio_whisper(
    [159](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:159)         audio_path, target_dir=target_dir, audio_name=audio_name
    [160](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:160)     )

File d:\experiments\coding\opvoice2\openvoice\se_extractor.py:86, in split_audio_vad(audio_path, audio_name, target_dir, split_seconds)
     [84](file:///D:/experiments/coding/opvoice2/openvoice/se_extractor.py:84) def split_audio_vad(audio_path, audio_name, target_dir, split_seconds=10.0):
...
   [1455](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/opvoice2/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1455)     self._close_pipe_fds(p2cread, p2cwrite,
   [1456](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/opvoice2/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1456)                          c2pread, c2pwrite,
   [1457](https://file+.vscode-resource.vscode-cdn.net/d%3A/experiments/coding/opvoice2/~/AppData/Local/Programs/Python/Python310/lib/subprocess.py:1457)                          errread, errwrite)

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

它也不适用于绝对文件路径

我也遇到了这个问题,已经解决照这个教程走就可以了 装ffmpeg 或者 ffmpeg添加到系统环境变量 https://blog.csdn.net/Dneccc/article/details/138825228

diganta121 commented 2 weeks ago

adding ffmpeg to path resolved the issue 👍