#5396 Role clone does not existTraceback (most recent call last): File "/Users/user/Desktop/Source/youtube/lib/pyvideotrans/v

108.165* Posted at: 18 hours ago

Role clone does not exist
Traceback (most recent call last):
File "/Users/user/Desktop/Source/youtube/lib/pyvideotrans/videotrans/task/only_one.py", line 86, in run

trk.dubbing()

File "/Users/user/Desktop/Source/youtube/lib/pyvideotrans/videotrans/task/trans_create.py", line 667, in dubbing

self._tts()

File "/Users/user/Desktop/Source/youtube/lib/pyvideotrans/videotrans/task/trans_create.py", line 989, in _tts

run_tts(

File "/Users/user/Desktop/Source/youtube/lib/pyvideotrans/videotrans/tts/__init__.py", line 189, in run

return _cls(**kwargs).run()  # type:ignore

File "/Users/user/Desktop/Source/youtube/lib/pyvideotrans/videotrans/tts/_base.py", line 145, in run

raise self.error.last_attempt.exception() if isinstance(self.error, RetryError) else self.error

File "/Users/user/Desktop/Source/youtube/lib/pyvideotrans/videotrans/tts/_base.py", line 220, in _item_task

return self._run(data_item,idx)

File "/Users/user/Desktop/Source/youtube/lib/pyvideotrans/videotrans/tts/_fishtts.py", line 21, in _run

ref_wav, ref_text = self.get_ref_wav(data_item)

File "/Users/user/Desktop/Source/youtube/lib/pyvideotrans/videotrans/tts/_base.py", line 303, in get_ref_wav

raise RuntimeError(tr('The role {} does not exist', role))

RuntimeError: Role clone does not exist

cfg=[TaskCfgVTT]当前工作模式: 翻译视频或音频 单视频模式
原始输入文件名: /Users/user/Desktop/abc.mp4,
输出结果保存到文件夹: /Users/user/Desktop/abc-mp4,
临时文件夹: /Users/user/Desktop/Source/youtube/lib/pyvideotrans/tmp/20014/dda06cd2f5
已选 清理已存在
未选 启用CUDA加速
未选 降噪
ASR Channel:faster-whisper(LocalBuilt-in), model_name: large-v3-turbo, 发音语言: English, 断句方式:默认断句
Trans Channel:OpenAI ChatGPT,原始语言:English,目标语言:Vietnamese, 已选 Send SRT
Dubb Channel:Fish-TTS(LocalAPI), 角色:clone, 配音语言:Vietnamese, 未选 二次语音识别
音量:+0%, 语速:+0%, 已选 音频加速, 未选 视频慢速
字幕: No Subs
已选 分离人声与背景声, 已选 重新嵌入背景声, 背景音量1.0, 背景声音时长 短于 视频时长时: 拉长(降速播放),存在分离后的纯净人声文件,存在分离后的背景声音文件
代理地址:


=
system:macOS-15.7.3-arm64-arm-64bit
version:v4.03
frozen:False
language:en
root_dir:/Users/user/Desktop/Source/youtube/lib/pyvideotrans
Python: 3.10.19 (main, Feb 12 2026, 00:36:33) [Clang 21.1.4 ]

1 Replies

Fish-TTS (Local API) does not support the clone role for voice cloning. The clone role is only available in specific TTS channels that have built-in cloning capabilities, such as F5-TTS, GPT-SoVITS, Qwen-TTS (local), OmniVoice, etc.

Solution:

  1. To keep using voice cloning, switch to a supported channel: e.g., F5-TTS(本地API), GPT-SoVITS, Qwen-TTS(本地), or OmniVoice-TTS.
  2. To use Fish-TTS without cloning, choose an existing standard voice role from Fish-TTS's role list (e.g., any non-clone role).

Remember to also ensure your chosen cloning channel is properly set up (local service running) and reference audio is configured if needed.

Please read related documentation:

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update. Dondate: ko-fi.com/jianchang512

Related resource