Open eliich opened 9 months ago
If you are a regular user instead of an experienced developer, we suggest you to directly use it on myshell https://github.com/myshell-ai/OpenVoice/blob/main/docs/USAGE.md to avoid problems installing on a platform (windows, mac) that openvoice repo doesn't officially support
I provided an in-depth guide for usage on Windows. Take a look here.
I provided an in-depth guide for usage on Windows. Take a look here.我提供了在Windows上使用的深入指南。看这里
Please provide your code and the error message in markdown or pure text, not as a screenshot
I think someone should make full & detail installation video to YT, ít better. thanks
@TAOSHss that error most likely means you are missing ffmpeg on your PATH.
Within your environment, conda install ffmpeg
should fix it.
If someone else comes across this problem on Windows with using Python without Andaconda then an option for you is to download a pre-built version of ffmpeg from https://github.com/BtbN/FFmpeg-Builds/releases such as
ffmpeg-master-latest-win64-gpl-shared.zip
then extract the contents of the bin folder into <venv-directory>\Scripts
Since the project uses conda for environment management and does not depend on system specific libs, the installation on windows and linux should be the same.
@Alienpups I appreciated the walkthrough for Windows, however I am running into the same error as @TAOSHss. Clean download, following your guide. The error occurs when trying to use a reference speaker file. I have FFMPEG installed and on the %PATH%. I've also tried changing the silero dependency to the 'silero:3.0' version to no avail. Any assistance is appreciated...I need to use OpenVoice to simulate GLADOS' dulcet homicidal tones.
`--------------------------------------------------------------------------- FileNotFoundError Traceback (most recent call last) Cell In[5], line 2 1 reference_speaker = 'resources/example_reference.mp3' # This is the voice you want to clone ----> 2 target_se, audio_name = se_extractor.get_se(reference_speaker, tone_color_converter, target_dir='processed', vad=True)
File c:\Users\vcher\OpenVoice-main\openvoice\se_extractor.py:144, in get_se(audio_path, vc_model, target_dir, vad) 137 # if os.path.isfile(se_path): 138 # se = torch.load(se_path).to(device) 139 # return se, audio_name 140 # if os.path.isdir(audio_path): 141 # wavs_folder = audio_path 143 if vad: --> 144 wavs_folder = split_audio_vad(audio_path, target_dir=target_dir, audio_name=audio_name) 145 else: 146 wavs_folder = split_audio_whisper(audio_path, target_dir=target_dir, audio_name=audio_name)
File c:\Users\vcher\OpenVoice-main\openvoice\se_extractor.py:79, in split_audio_vad(audio_path, audio_name, target_dir, split_seconds) 77 def split_audio_vad(audio_path, audio_name, target_dir, split_seconds=10.0): 78 SAMPLE_RATE = 16000 ---> 79 audio_vad = get_audio_tensor(audio_path) 80 segments = get_vad_segments( 81 audio_vad, 82 output_sample=True, (...) 85 method="silero", 86 ) 87 segments = [(seg["start"], seg["end"]) for seg in segments]
File c:\Users\vcher\OpenVoice-main.venv\lib\site-packages\whisper_timestamped\transcribe.py:1265, in get_audio_tensor(audio, device) 1263 def get_audio_tensor(audio, device="cpu"): 1264 if isinstance(audio, str): -> 1265 audio = whisper.load_audio(audio) 1266 if isinstance(audio, np.ndarray): 1267 audio = torch.Tensor(audio)
File c:\Users\vcher\OpenVoice-main.venv\lib\site-packages\whisper\audio.py:58, in load_audio(file, sr) 56 # fmt: on 57 try: ---> 58 out = run(cmd, capture_output=True, check=True).stdout 59 except CalledProcessError as e: 60 raise RuntimeError(f"Failed to load audio: {e.stderr.decode()}") from e
File C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python39_64\lib\subprocess.py:505, in run(input, capture_output, timeout, check, *popenargs, *kwargs) 502 kwargs['stdout'] = PIPE 503 kwargs['stderr'] = PIPE --> 505 with Popen(popenargs, **kwargs) as process: 506 try: 507 stdout, stderr = process.communicate(input, timeout=timeout)
File C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python39_64\lib\subprocess.py:951, 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) 947 if self.text_mode: 948 self.stderr = io.TextIOWrapper(self.stderr, 949 encoding=encoding, errors=errors) --> 951 self._execute_child(args, executable, preexec_fn, close_fds, 952 pass_fds, cwd, env, 953 startupinfo, creationflags, shell, 954 p2cread, p2cwrite, 955 c2pread, c2pwrite, 956 errread, errwrite, 957 restore_signals, 958 gid, gids, uid, umask, 959 start_new_session) 960 except: 961 # Cleanup if the child failed starting. 962 for f in filter(None, (self.stdin, self.stdout, self.stderr)):
File C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python39_64\lib\subprocess.py:1420, 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) 1418 # Start the process 1419 try: -> 1420 hp, ht, pid, tid = _winapi.CreateProcess(executable, args, 1421 # no special security 1422 None, None, 1423 int(not close_fds), 1424 creationflags, 1425 env, 1426 cwd, 1427 startupinfo) 1428 finally: 1429 # Child is launched. Close the parent's copy of those pipe 1430 # handles that only the child should have open. You need (...) 1433 # pipe will not close when the child process exits and the 1434 # ReadFile will hang. 1435 self._close_pipe_fds(p2cread, p2cwrite, 1436 c2pread, c2pwrite, 1437 errread, errwrite)
FileNotFoundError: [WinError 2] The system cannot find the file specified`
Can I not install this locally on windows