#4558 这是什么问题啊

74.48* Posted at: 20 days ago

image
这是什么问题啊

9 Replies

暂无法确定具体原因,请提供软件安装目录下的 logs/ 文件夹中对应时间的日志文件(复制底部约30行报错信息)以便分析。

程序内部错误:expected str, bytes or os.PathLike object, not NoneType:
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "multiprocessing\pool.py", line 125, in worker
File "videotrans\process\tts_fun.py", line 71, in qwen3tts_fun
File "D:\WINNNNNNN\win-pyvideotrans-v3.99-420\_internal\qwen_tts\inference\qwen3_tts_model.py", line 118, in from_pretrained

processor = AutoProcessor.from_pretrained(pretrained_model_name_or_path, fix_mistral_regex=True,)

File "transformers\models\auto\processing_auto.py", line 396, in from_pretrained

return processor_class.from_pretrained(

File "transformers\processing_utils.py", line 1394, in from_pretrained

args = cls._get_arguments_from_pretrained(pretrained_model_name_or_path, **kwargs)

File "transformers\processing_utils.py", line 1453, in _get_arguments_from_pretrained

args.append(attribute_class.from_pretrained(pretrained_model_name_or_path, **kwargs))

File "transformers\tokenization_utils_base.py", line 2113, in from_pretrained

return cls._from_pretrained(

File "transformers\tokenization_utils_base.py", line 2151, in _from_pretrained

slow_tokenizer = (cls.slow_tokenizer_class)._from_pretrained(

File "transformers\tokenization_utils_base.py", line 2359, in _from_pretrained

tokenizer = cls(*init_inputs, **init_kwargs)

File "transformers\models\qwen2\tokenization_qwen2.py", line 179, in init

with open(merges_file, encoding="utf-8") as merges_handle:

TypeError: expected str, bytes or os.PathLike object, not NoneType
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "videotrans\util\ListenVoice.py", line 16, in run
File "videotrans\tts\__init__.py", line 369, in run
File "videotrans\tts\_base.py", line 137, in run
File "videotrans\tts\_qwenttslocal.py", line 53, in _exec
File "videotrans\configure\_base.py", line 285, in _new_process
File "videotrans\process\signelobj.py", line 13, in result
File "multiprocessing\pool.py", line 774, in get
TypeError: expected str, bytes or os.PathLike object, not NoneType

这是由于 Qwen-TTS 模型加载失败,具体是加载词汇合并文件(merges_file)时传入值为 None,导致路径错误。常见原因是对应配置缺失或模型文件不完整。

解决方案:

  1. 检查 Qwen-TTS 配置
    打开软件菜单 → TTS 设置Qwen-TTS,确认:

    • 若使用本地模型:确保填写了正确的模型目录路径(例如 D:\models\qwen-tts),且该目录下包含 tokenizer.jsonmerges.txt 等必要文件。
    • 若使用在线 API:确认 API 地址格式正确(如 http://127.0.0.1:7860),且后端服务已正常启动。
  2. 重新下载或验证模型文件

    • 如果使用本地模型,请从官方渠道重新下载完整的 Qwen-TTS 模型包,并解压到不含中文和空格的路径中(如 D:\pyVideoTrans\models\qwen-tts)。
  3. 查看日志确认具体原因
    打开 logs/ 文件夹中最新日志,搜索 qwen3_tts_model 相关报错,检查详细路径信息。
  4. 尝试切换其他 TTS 渠道
    若问题持续,可暂时改用 Edge-TTS(内置免费)或其他已确认可用的配音渠道。

请查阅相关文档:

把音频文件放到f5-tts文件夹内,然后在#号后填写音频对应说话文本 就出现这个问题,怎么修正

这是由于 F5-TTS 参考音频的填写格式不正确。参考音频的文件名和对应的说话文本需要按照规范填写,不能随意使用 # 分隔。

修正步骤:

  1. 确认填写方式
    菜单 → TTS 设置 → F5-TTS 中,通常有一个输入框用于同时填写参考音频文件名和说话文本,标准格式是:

    1.wav#这是参考音频中的说话内容
    • # :参考音频的文件名(含后缀,如 1.wav)。
    • # :该音频中实际说出的话(必须与音频内容严格一致)。
  2. 检查参考音频文件

    • 确保音频文件已放入软件安装目录下的 f5-tts 文件夹内。
    • 音频时长建议 3~10 秒,格式为 WAV 或 MP3。
  3. 启动 F5-TTS 后端服务

    • 使用 F5-TTS 需要有独立的 API 服务正在运行(例如通过整合包或源码部署)。
    • 在设置中正确填写 API URL(如 http://127.0.0.1:7860)。
  4. 检查角色选择

    • 在主界面配音角色下拉列表中,选择 clone 角色(代表声音克隆)。

仍然报错?

请提供软件 logs/ 目录下最新日志的底部 30 行信息,以便进一步定位。

翻译音频如何才能连贯自然,使AI感不那么强。 具体参数怎么调整,或者具体翻译提示词如何修改

要让翻译后的字幕和配音更自然、减少AI感,关键在于优化字幕翻译阶段。以下是具体的参数调整和提示词修改方案:

一、选择合适的翻译渠道和模型

  • 优先使用在线AI大模型:如 DeepSeek、GPT-4o、Gemini、Claude 等。它们的翻译质量远高于传统翻译(Google、DeepL)或本地小模型(7B以下)。
  • 避免使用本地小模型(如M2M100、Ollama上的7B模型),它们缺乏上下文理解能力,易产生生硬翻译。

二、开启“发送完整字幕”提升上下文连贯性

  • 在主界面翻译设置中,勾选 发送完整字幕。这样AI会接收到整段字幕(含时间轴和行号),能结合前后文进行意译,避免逐句断裂。
  • 前提:使用的AI模型需支持长上下文(如DeepSeek、GPT-4o),否则可能超出token限制失败。

三、调整AI翻译温度值

  • 进入 菜单 → 工具/选项 → 高级选项 → 字幕翻译调整
  • AI翻译模型温度值 从默认的 0.2 适当调高至 0.3~0.5。温度越高,翻译结果越多样、口语化,但过高(>0.8)可能导致错误或重复。
  • 同时可勾选 AI翻译附带完整原字幕(需高级模型),让AI参考全部原文,进一步提升一致性。

四、自定义翻译提示词(Prompt)

  • 修改提示词可以显著改善翻译风格。提示词文件位于软件安装目录下的 videotrans/prompts/ 文件夹中:

    • 按行翻译(未勾选“发送完整字幕”):修改 text/ 下的对应渠道文件(如 text/openai.txt)。
    • 完整字幕翻译(勾选了“发送完整字幕”):修改 srt/ 下的对应渠道文件(如 srt/deepseek.txt)。
  • 推荐修改内容(以中文翻译英文为例,在提示词末尾添加):

    Please translate naturally and colloquially, avoid literal translation. Use contractions and everyday expressions. Ensure the translation sounds like authentic spoken language, not machine-generated.

    对于中文翻译,可添加:

    请用自然、口语化的方式翻译,避免生硬直译。使用日常表达,让人听起来像是真人说话,而不是AI生成的。
  • 注意:不要修改 {batch_input}{lang} 等变量占位符。修改后保存,重启软件生效。

五、使用术语表保持一致性

  • 在主界面“翻译术语表”区域,可以预先定义专有名词的译法。例如:

    原词=目标译法
    pyVideoTrans=视频翻译软件

    这能避免AI随意翻译关键术语,提升专业度。

六、后期优化:二次识别与对齐

  • 勾选 二次识别(配音后再次语音转录生成字幕),可让字幕精准匹配配音时长,减少因时间轴错位导致的读感不适。
  • 若使用声音克隆(F5-TTS等),建议将参考音频的说话文本准确填写,克隆效果更自然。

七、参考文档

如果调整后仍不理想,请提供你正在使用的翻译渠道和具体的译文片段,我可以针对性地给出更精确的提示词建议。

有时候原片中文很长一句话,他可能简单到几个单词就配好了。

这是由于翻译模型将含丰富内容的长句过度压缩为简短表达,导致译文远短于原文时长。要改善,请尝试以下综合调整:1. 优化翻译提示词
videotrans/prompts/srt/(或 text/)对应渠道提示词末尾添加:
Please keep the translation length close to the original. Do not shorten or omit meaningful content.
若是中译英,可以再加:
请保持翻译句子的长度与原句相近,不要过度压缩,确保细节完整。
保存后重启软件。

  1. 使用更智能的模型并开启完整字幕

    • 推荐使用 DeepSeekGPT-4o,避免本地小模型或传统翻译。
    • 在主界面翻译设置勾选 发送完整字幕,让AI参考上下文避免孤立简化。
  2. 调整AI温度值
    进入 菜单 → 工具/选项 → 高级选项 → 字幕翻译调整,将 AI翻译模型温度值 设为 0.1~0.2(更低的值使输出更保守,不易过度缩减)。
  3. 音画对齐策略补偿

    • 若希望配音变长以匹配原时长,勾选 视频慢速(视频会变慢,文件增大)。
    • 若只需消除无声空白,勾选 移除字幕间静音
    • 不要同时勾选“配音加速”,否则压缩会更严重。
  4. 试听校对
    对单个视频处理时,可在翻译完成后弹出的编辑窗口中手动调整译文长度,再生成配音。
  5. 另建议
    如果使用的是传统翻译渠道(如Google、DeepL),它们本身会倾向简短意译,换成AI翻译是根本之策。

请查阅相关文档:

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