#4785 配音全部失败 Value: 'Same as the voice reference' (type: ) is not in the list of choices: ['与音色参考音频相同', '使用情感参考音频', '使用情感向量控制'

2409:8a55* Posted at: 9 hours ago

配音全部失败 Value: 'Same as the voice reference' (type: ) is not in the list of choices: ['与音色参考音频相同', '使用情感参考音频', '使用情感向量控制']
Traceback (most recent call last):
File "videotrans\task\only_one.py", line 87, in run
File "videotrans\task\trans_create.py", line 630, in dubbing
File "videotrans\task\trans_create.py", line 931, in _tts
File "videotrans\tts\__init__.py", line 183, in run
File "videotrans\tts\_base.py", line 145, in run
videotrans.configure.excepts.DubbingSrtError: 配音全部失败 Value: 'Same as the voice reference' (type: ) is not in the list of choices: ['与音色参考音频相同', '使用情感参考音频', '使用情感向量控制']
TaskCfgVTT(uuid='7ce8d2dd0a', name='E:/0DayDown/教程_Tutorials/Unreal/Unreal Generalist- Houdini Procedural Environment/video/1 - Landscape/1. Starting our landscape in Gaea.mp4', dirname='E:/0DayDown/教程_Tutorials/Unreal/Unreal Generalist- Houdini Procedural Environment/video/1 - Landscape', noextname='1. Starting our landscape in Gaea', basename='1. Starting our landscape in Gaea.mp4', ext='mp4', target_dir='E:/0DayDown/教程_Tutorials/Unreal/Unreal Generalist- Houdini Procedural Environment/video/1 - Landscape/_video_out/1. Starting our landscape in Gaea-mp4', cache_folder='D:/win-pyvideotrans-v4.00-528/tmp/107472/7ce8d2dd0a', is_cuda=True, source_language='英语', source_language_code='en', source_sub='E:/0DayDown/教程_Tutorials/Unreal/Unreal Generalist- Houdini Procedural Environment/video/1 - Landscape/_video_out/1. Starting our landscape in Gaea-mp4/en.srt', source_wav='D:/win-pyvideotrans-v4.00-528/tmp/107472/7ce8d2dd0a/en.wav', source_wav_output='E:/0DayDown/教程_Tutorials/Unreal/Unreal Generalist- Houdini Procedural Environment/video/1 - Landscape/_video_out/1. Starting our landscape in Gaea-mp4/en.m4a', target_language='简体中文', target_language_code='zh-cn', target_sub='E:/0DayDown/教程_Tutorials/Unreal/Unreal Generalist- Houdini Procedural Environment/video/1 - Landscape/_video_out/1. Starting our landscape in Gaea-mp4/zh-cn.srt', target_wav='D:/win-pyvideotrans-v4.00-528/tmp/107472/7ce8d2dd0a/target.wav', target_wav_output='E:/0DayDown/教程_Tutorials/Unreal/Unreal Generalist- Houdini Procedural Environment/video/1 - Landscape/_video_out/1. Starting our landscape in Gaea-mp4/zh-cn.m4a', translate_type=4, tts_type=9, volume='+0%', pitch='+0Hz', voice_rate='+0%', voice_role='Sound_005_90.wav', voice_autorate=True, video_autorate=False, remove_silent_mid=False, align_sub_audio=True, detect_language='en', recogn_type=0, model_name='large-v3-turbo', shibie_audio=None, remove_noise=False, enable_diariz=False, nums_diariz=0, rephrase=1, fix_punc=True, subtitle_language=None, app_mode='biaozhun', subtitles='', targetdir_mp4='E:/0DayDown/教程_Tutorials/Unreal/Unreal Generalist- Houdini Procedural Environment/video/1 - Landscape/_video_out/1. Starting our landscape in Gaea-mp4/1. Starting our landscape in Gaea.mp4', novoice_mp4='D:/win-pyvideotrans-v4.00-528/tmp/107472/7ce8d2dd0a/novoice.mp4', is_separate=False, embed_bgm=False, instrument=None, vocal='D:/win-pyvideotrans-v4.00-528/tmp/107472/7ce8d2dd0a/vocal.wav', clear_cache=False, background_music='', subtitle_type=3, only_out_mp4=False, recogn2pass=False, output_srt=2, copysrt_rawvideo=False, loop_backaudio=1, backaudio_volume=0.8)

12 Replies

该错误是由于 CosyVoice 配音渠道的情感控制参数类型不匹配 引起的。你在 voice_role 中填写了 Sound_005_90.wav(一个参考音频文件名),但 CosyVoice 渠道在此位置期望的是 '与音色参考音频相同' 等固定的情感控制选项之一,而非直接传入文件名。

解决方案:

  1. 正确使用声音克隆:若希望使用原视频音色进行克隆,请在 配音角色 下拉列表中选择 clone,而不是手动输入参考音频文件名。参考音频(如 Sound_005_90.wav)需放置在软件根目录下的 f5-tts/ 文件夹中,软件会自动使用对应说话人的语音片段作为参考。
  2. 若不需要克隆:请从配音角色下拉列表中选择一个具体的发音人(如 中文女声 等),不要输入文件名。
  3. 检查配置:在 菜单 → TTS设置 → CosyVoice 面板中确认 API 地址和参考音频目录设置正确。确保 f5-tts/ 文件夹内确实存在 Sound_005_90.wav 且格式为 .wav,时长 3~10 秒。

调整后重新执行任务即可。

全都满足,还是一样报错

根据日志,voice_role='Sound_005_90.wav' 仍然是 文件名字符串,而不是配音角色列表中的 clone 或 CosyVoice 渠道允许的情感控制选项('与音色参考音频相同' 等)。这导致 CosyVoice 的 API 校验失败。

根本原因:你在 CosyVoice 配音渠道中,将参考音频的文件名错误地填写到了主界面的“配音角色”输入框里,而不是选择下拉列表中的角色。


正确的操作步骤:

  1. 确保参考音频存放位置正确
    Sound_005_90.wav 放入软件根目录下的 f5-tts/ 文件夹(即使使用 CosyVoice,参考音频依然放此处)。
  2. 在 CosyVoice 设置面板中指定参考音频
    打开 菜单 → TTS设置 → CosyVoice,在 “参考音频” 字段中输入 Sound_005_90.wav(仅文件名,不含路径),然后保存。
  3. 在主界面选择正确的配音角色

    • 希望使用你的自定义参考音频 Sound_005_90.wav 进行声音克隆
      配音渠道选 CosyVoice,然后在 配音角色 下拉列表中必须选择 clone,不要手动输入任何文字。
      (软件会自动读取 CosyVoice 设置中指定的参考音频文件名进行克隆。)
    • 希望使用原视频中说话人的音色进行克隆
      同样选择配音角色 clone,但需确保 CosyVoice 设置面板中的“参考音频”字段为空,这样软件会自动从原始视频中截取参考片段。
  4. 避免手动输入
    切勿在主界面“配音角色”输入框中填写任何文件名或英文单词,必须从下拉列表中选择。如果需要使用 '与音色参考音频相同' 等情感控制选项,请在角色下拉列表中选中那些选项,而不是输入 Sound_005_90.wav

检查点:

  • 你的主界面配音角色下拉框当前显示的是什么文本?请截图或确认其内容是否为 clone 三个字母(不包含文件名)。
  • 如果下拉列表中没有 clone 选项,说明 CosyVoice 渠道配置错误或版本不匹配。请重新下载完整包或检查 CosyVoice API 服务是否正常运行。

我用的是IndexTTS,根本不是CosyVoice

根据你的日志,实际使用的配音渠道编号 tts_type=9,对应的是 CosyVoice(本地API),而非 IndexTTS。IndexTTS 的渠道编号是 7。这表明你的软件配置中选择了 CosyVoice 渠道,但你可能误以为正在使用 IndexTTS。

错误根源:CosyVoice 在情感控制参数中接收到了一个英文值 'Same as the voice reference',但该字段只接受中文选项(与音色参考音频相同使用情感参考音频使用情感向量控制 其中之一)。这个错误配置通常出现在 CosyVoice 的设置面板中。

解决方案

  1. 打开 CosyVoice 设置:点击菜单栏 TTS设置CosyVoice
  2. 检查情感控制参数:在打开的设置窗口中,找到类似“情感控制”或“情绪模式”的下拉列表或输入框。确保当前选中的是 与音色参考音频相同 或其他三个中文选项之一。不要填写英文文本。
  3. 确认参考音频配置:如果你希望使用自定义参考音频(如 Sound_005_90.wav),请在 CosyVoice 设置面板中的“参考音频”字段填写文件名(仅文件名),然后保存
  4. 回到主界面:在“配音角色”下拉列表中 选择 clone,不要手动输入任何文字。软件会自动使用你在 CosyVoice 设置中指定的参考音频进行克隆。

如果你仍然希望使用 IndexTTS

  • 请在主界面“配音渠道”下拉列表中切换到 Index-TTS(本地API)(编号 7),然后检查其对应的设置(在 TTS设置F5-TTS 面板,因为 Index-TTS 与 F5-TTS 共用同一设置面板)。确保参考音频填写正确,主界面配音角色选择 clone

调整后重新执行任务即可。

我确定选择的是Indextts,是软件Bug吗,难道Indextts选项的实际指向是Cosyvoice?还能从哪个地方可以修改

根据你的日志,tts_type=9 在标准渠道列表中对应的是 Supertonic,而非 IndexTTS(编号7)或 CosyVoice(编号8)。但报错信息明确引用了 CosyVoice 的情感控制参数枚举,说明软件当前实际调用了 CosyVoice 或 Supertonic 内部混用了 CosyVoice 的逻辑。这不是常规 Bug,而是渠道编号配置错误

修正方法(二选一):

方法一:直接修改配置文件(推荐)

  1. 关闭软件。
  2. 打开软件安装目录下的 videotrans/params.json 文件(用记事本)。
  3. 找到 "tts_type" 字段,将其值改为 7(Index-TTS 的标准编号)。
  4. 保存文件,重启软件,重新执行任务。

方法二:通过界面重置

  1. 在主界面将“配音渠道”切换为 Edge-TTS(免费)(任意其他渠道),点击保存/应用。
  2. 然后再切换回 Index-TTS(本地API),确保下拉框显示正确。
  3. 检查 菜单 → TTS设置 → F5-TTS(Index-TTS 与此共用设置面板),确认你填入的参考音频文件名(如 Sound_005_90.wav)正确,且文件位于 f5-tts/ 文件夹内。
  4. 主界面“配音角色”必须选择 clone,不要输入文字。

为什么会出现这个情况?

你可能曾在旧版本中修改过渠道顺序,或覆盖过 parameters.json 导致编号偏移。直接修改 params.json 是最高效的补救方式。

我是新下载的完整压缩包,解压后,直接在IndexTTS设置里填入了 http://127.0.0.1:7866/ ,然后测试,就会弹

Value: 'Same as the voice reference' (type: ) is not in the list of choices: ['与音色参考音频相同', '使用情感参考音频', '使用情感向量控制']:
Traceback (most recent call last):
File "videotrans\util\ListenVoice.py", line 16, in run
File "videotrans\tts\__init__.py", line 183, in run
File "videotrans\tts\_base.py", line 132, in run
videotsk


.excsk
: Value: 'Same as the voice reference' (type: ) is not in the list of choices: ['与音色参考音频相同', '使用情感参考音频', '使用情感向量控制']

错误明确指向 CosyVoice 的情感控制枚举,说明软件实际调用了 CosyVoice 的 TTS 实现,而非 IndexTTS。根本原因通常是 params.json 中的 tts_type 被错误记录为 CosyVoice 的编号(8 或 9)。请按以下步骤排查修正:1. 关闭软件,打开 软件安装目录/videotrans/params.json,找到 "tts_type" 字段,确认其值应为 7(Index-TTS 的标准编号)。如果显示为 89,手动改为 7,保存后重启软件重试。2. 检查 IndexTTS 服务是否正常:在浏览器访问 http://127.0.0.1:7866,确认页面正常加载(非 404),且支持 /v1/audio/speech 等 API 路径。3. 尝试清空 IndexTTS 设置面板中的“参考音频”字段,并确保主界面“配音角色”选择 clone(不要填写文件名),再次测试试听。4. 如果仍报错,请提供 params.jsontts_typevoice_role 的取值,以及 IndexTTS 服务返回的 API 响应示例。

"output_dir": "", "is_cuda": false, "line_roles": {}, "rephrase": 0, "sk


": false, "clear_cache": true, "embed_bgm": true, "remove_noise": false, "enable_diariz": false, "nums_diariz": 0, "target_dir": "", "sosk
": "英语", "task
": "简体中文", "translate_type": 0, "subtitle_type": 1, "tts_type": 9, "model_name": "large-v3-turbo", "recogn_type": 0, "fix_punc": false, "stt_fix_punc": false, "vsk
": true, "vsk
": false, "align_sub_audio": true, "voice_role": "clone", "voice_rate": "+0%",

确认问题:tts_type: 9 不是 Index-TTS(应为 7),而是 SupertonicCosyVoice(取决于版本映射)。这解释了为何触发 CosyVoice 的情感控制参数。

修正方法:

  1. 关闭软件,打开 videotrans/params.json,将 "tts_type": 9 改为 "tts_type": 7,保存。
  2. 确保 Index-TTS 服务已正确启动:在浏览器访问 http://127.0.0.1:7866,应看到可用的 API 文档页面。
  3. 进入菜单 TTS设置 → F5-TTS(Index-TTS 与此共用面板),确认 API 地址为 http://127.0.0.1:7866,参考音频字段可以为空(使用原声克隆时不需填写)。
  4. 在主界面,配音角色 必须选择 clone(不要手动输入任何文字),再次尝试试听或执行任务。

如果仍报错,请提供修改后的 params.jsontts_typevoice_role 的完整取值,以及 Index-TTS 服务返回的日志(服务端窗口)。

打开你使用的 index-tts 项目的 webui.py,搜索 i18n("与音色参考音频相同") 替换为 Same as the voice reference

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.

Related resource