#6546 翻译字幕阶段出错 [Hy-MT2-1.8B(内置)] Couldn't instantiate the backend tokenizer from one of: (1) a `tokenizers` library serializat

187.13.**3 Posted at: 1 hour ago

翻译字幕阶段出错 [Hy-MT2-1.8B(内置)] Couldn't instantiate the backend tokenizer from one of:
(1) a tokenizers library serialization file,
(2) a slow tokenizer instance to convert or
(3) an equivalent slow tokenizer class to instantiate and convert.
You need to have sentencepiece or tiktoken installed to convert a slow tokenizer to a fast one.
Traceback (most recent call last):

File "videotrans\task\job.py", line 35, in run

File "videotrans\task\job.py", line 136, in process_task

File "videotrans\task\translate_srt.py", line 47, in trans

File "videotrans\translator\_runner.py", line 63, in run

File "videotrans\translator\_base.py", line 68, in run

File "videotrans\translator\_base.py", line 97, in _run_text

File "videotrans\translator\_base.py", line 141, in _hymt2

File "D:\FanYiTool\pyvideotrans4.08\_internal\transformers\models\auto\tokenization_auto.py", line 749, in from_pretrained

return tokenizer_class.from_pretrained(pretrained_model_name_or_path, *inputs, **kwargs)

File "D:\FanYiTool\pyvideotrans4.08\_internal\transformers\tokenization_utils_base.py", line 1721, in from_pretrained

return cls._from_pretrained(

File "D:\FanYiTool\pyvideotrans4.08\_internal\transformers\tokenization_utils_base.py", line 1910, in _from_pretrained

tokenizer = cls(*init_inputs, **init_kwargs)

File "D:\FanYiTool\pyvideotrans4.08\_internal\transformers\tokenization_utils_tokenizers.py", line 341, in init

raise ValueError(

ValueError: Couldn't instantiate the backend tokenizer from one of:
(1) a tokenizers library serialization file,
(2) a slow tokenizer instance to convert or
(3) an equivalent slow tokenizer class to instantiate and convert.
You need to have sentencepiece or tiktoken installed to convert a slow tokenizer to a fast one.
cfg=TaskCfgSTS(uuid='4d20ce1a3e', name='D:/需要翻译的/105373-720p.ja.srt', dirname='D:/需要翻译的', noextname='105373-720p.ja', basename='105373-720p.ja.srt', ext='srt', target_dir='D:/FanYiTool/pyvideotrans4.08/output/translate', cache_folder=None, is_cuda=False, source_language=None, source_language_code='-', source_sub='D:/需要翻译的/105373-720p.ja.srt', source_wav=None, source_wav_output=None, target_language=None, target_language_code='Simplified Chinese', target_sub='D:/FanYiTool/pyvideotrans4.08/output/translate/105373-720p.ja.Simplified Chinese.srt', target_wav=None, target_wav_output=None, translate_type=3)


=
system:Windows-10-10.0.19045-SP0
version:v4.08
frozen:True
language:zh
root_dir:D:/FanYiTool/pyvideotrans4.08

5 Replies

该错误核心是 Hy-MT2-1.8B 模型的 tokenizer 无法加载,通常由两类原因引起:模型文件下载不完整,或运行环境缺少 sentencepiece/tiktoken 依赖。

可依次尝试以下方法:

  1. 检查模型文件是否完整
    关闭软件后进入 D:\FanYiTool\pyvideotrans4.08\models\models--tencent--Hy-MT2-1.8B,确认至少包含:

    • tokenizer.jsonsentencepiece.bpe.model
    • tokenizer_config.json
    • special_tokens_map.json
    • config.json
    • model.safetensors(或 pytorch_model.bin
      若文件缺失、损坏或体积异常,请删除整个文件夹后重新打开软件自动下载,或从 https://huggingface.co/tencent/Hy-MT2-1.8B/tree/main 手动下载全部文件放入该目录。
  2. 更新软件或补丁包
    若模型文件完整,则可能是内置环境中缺少 sentencepiece。请从官方渠道下载最新完整包或补丁包并覆盖到软件目录,尤其注意你当前版本为 v4.08,可先尝试最新补丁包。
  3. 临时改用其他翻译渠道
    若暂时无法解决,可在“翻译字幕”面板改用 M2M100(内置) 本地模型,或使用 DeepSeek/Google/微软等在线翻译渠道,避免中断任务。

另外,你日志中的 source_language_code='-' 看起来异常,建议在“翻译字幕”面板中将源语言明确选为具体语言(如日语 ja),目标语言选择“简体中文 zh-cn”,再重试。

若上述方法均无效,请提供 logs/ 目录下最新日志文件内容(或复制底部约30行报错),以便进一步分析。

请查阅相关文档:

语音转录和转录翻译的教程文档给我一下,要非常的仔细,完整

以下为语音转录与转录翻译的详细教程,内容均基于软件现有功能整理。

一、语音转录(批量将音视频转字幕)

1. 功能入口

软件左侧面板点击「语音转录」。

2. 功能说明

将音频或视频文件中的人类说话声批量转录为带时间轴的 SRT 字幕文件,或纯文本 TXT 文件。

3. 详细操作步骤

第 1 步:选择文件

  • 点击「选择视频或音频」按钮,可选择单个或多个文件(按住 Ctrl 多选)。
  • 支持格式:

    • 视频:mp4 / mov / avi / mkv / webm / mpeg / ogg / mts / ts / wmv / flv
    • 音频:wav / mp3 / m4a / flac / aac / wma / ogg
  • 如需批量处理整个文件夹,可勾选「文件夹」选项。

第 2 步:配置语音识别参数(主界面区域)

  • 语音识别:选择识别渠道。建议根据语言选择:

    • 一般视频:faster-whisper(内置)(默认推荐)
    • 中文视频:Qwen-ASR / FunASR / Firered中文
    • 日语视频:openai-whisper(large-v3) 或 parakeet日语
    • 小语种视频:openai-whisper(large-v3) 或 Dolphin(亚洲语言) / OmnilingualASR
  • 发音语言:此处可选择「自动检测」或指定具体语言。若音视频内容明确,建议直接选择具体语言,更准确。
  • 模型:选择模型尺寸。

    • 对于 faster-whisper / openai-whisper:tiny 最快最不准确;large-v3 最准但最慢且需较大显存;large-v3-turbo 推荐,兼顾速度与质量。
  • CUDA加速:如有 NVIDIA 显卡且已装好 CUDA 环境,务必勾选,速度可提升数倍。

第 3 步:设置更多参数(可选)

点击「设置更多参数」,可进行:

  • 识别说话人:如果希望区分不同说话人,可勾选。为增加准确度可填写预期说话人数。
  • 识别语言自动检测:仅在语音转录面板中保留有自动检测选项。
  • 恢复标点 / 删除标点:恢复标点会在识别后尝试添加标点符号;删除标点则会删除字幕中所有标点。
  • 降噪:清除音频中的背景噪声后再识别。
  • 分离人声背景声:纯 CPU 操作较慢;但对含背景音乐的视频很有帮助。
  • 静音分割毫秒:只有在静音时长大于该值时才分割语音片段。
  • 最长语音持续(秒)最短语音持续(毫秒):限制单个语音片段时长,超短字幕会被合并进相邻字幕(需勾选「合并过短字幕到邻近」)。
  • 合并过短字幕到邻近:建议勾选,可减少零碎字幕。

第 4 步:开始转录

点击「开始」按钮。完成后,底部进度条区域会变成可点击的“打开输出文件夹”按钮,点击即可看到生成的 SRT/TXT 文件。

4. 输出位置

默认输出至软件安装目录下的 output/ 文件夹,具体路径也可在「菜单 -> 工具/选项 -> 高级选项 -> 通用设置 -> 独立功能输出目录」中修改。

5. 注意事项

  • 批量转录时各任务会同时交叉执行,不会中途暂停。
  • 如果视频含背景音乐/噪声干扰,建议先选中「分离人声背景声」或「降噪」。
  • 本地模型首次使用会在线下载模型,体积较大,请耐心等待;下载失败时请参考手动下载模型文档(见文末)。

二、转录翻译(批量翻译 SRT 字幕)

1. 功能入口

软件左侧面板点击「翻译字幕」。

2. 功能说明

批量翻译 SRT 字幕文件,保留原有时间码和格式,并支持多种双语字幕样式。

3. 详细操作步骤

第 1 步:导入字幕文件

  • 点击「选择文件」或「选择文件夹」按钮,导入一个或多个 SRT 字幕文件。
  • 确保字幕文件符合标准 SRT 格式(见文末附录)。

第 2 步:设置翻译参数

  • 发音语言 / 源语言:选择字幕文本的原始语言。
  • 目标语言:选择希望翻译成的语言。
  • 翻译渠道:选择翻译服务。

    • 免费:Google翻译(需代理)/ 微软翻译 / M2M100(本地)
    • 收费:百度 / 腾讯 / DeepL / DeepSeek / OpenAI / 智谱AI 等
    • 本地部署:兼容AI/本地模型 / LibreTranslate / DeepLX
  • 若使用 AI 翻译渠道,建议勾选「发送完整字幕」,可获得更好上下文。
  • 如需术语控制,可填写「翻译术语表」。

第 3 步:设置双语样式(可选)

在「翻译字幕」面板下方有输出样式选项,可选择:

  • 仅目标语言
  • 目标语言在上/在下的双语字幕
  • 或其他预设样式

第 4 步:开始翻译

点击「开始执行」按钮。完成后,翻译好的字幕文件会输出到指定目录。

4. 输出位置

  • 默认输出目录:软件安装目录下 output/ 文件夹(与语音转录一致)。可通过「菜单 -> 工具/选项 -> 高级选项 -> 独立功能输出目录」修改。
  • 为每个输入的 SRT 文件生成一个结果文件夹,文件夹命名规则为 源文件名-后缀(例如 myvideo-ja.Simplified Chinese.srt)。

5. 注意事项

  • 翻译时需要联网(本地 M2M100 除外)。
  • 若使用 AI 翻译大模型(如 DeepSeek),建议在「高级选项 -> 字幕翻译调整」中:

    • 将「AI翻译渠道每批字幕行数」设为 100 或更大;
    • 如模型支持超长上下文,可勾选「AI翻译一次性翻译所有字幕行」。
  • 若翻译结果出现大段空白行,这是为保护时间轴对齐而保留的,可手动删除不需要的空行。

附录:标准 SRT 字幕格式规范

批量为 SRT 字幕配音或翻译时,输入的字幕必须符合标准 SRT 格式:

[行号]
[开始时间(2位小时:2位分钟:2位秒,3位毫秒)] --> [结束时间(2位小时:2位分钟:2位秒,3位毫秒)]
[字幕文本]
[空行]
[下一行行号]
[开始时间(2位小时:2位分钟:2位秒,3位毫秒)] --> [结束时间(2位小时:2位分钟:2位秒,3位毫秒)]
[字幕文本]
...

要求:

  • 结束时间需大于开始时间。
  • 下一条字幕的开始时间需大于或等于上一条字幕的结束时间。

示例:

1
00:00:01,000 --> 00:00:03,000
文本内容

2
00:00:04,000 --> 00:00:06,000
文本内容

三、如何在视频翻译流程中组合使用语音转录+字幕翻译

如果你想实现“先将视频语音转成字幕 → 再翻译字幕”,可直接在「翻译视频」面板中一次性完成全流程,也可分步骤复用:

  1. 使用「语音转录」生成源语言 SRT 文件。
  2. 使用「翻译字幕」将 SRT 翻译为目标语言。
  3. 回到「翻译视频」主界面,导入原视频后,将源字幕和目标字幕按规则放入输出文件夹(详见知识库中“导入本地已有 SRT 字幕”部分),即可跳过 ASR 和翻译阶段,只执行配音与合成。

请查阅相关文档:

我有多个不同语言的文件夹可以批量前置的定义好然后一起批量处理吗

目前软件不支持为单个文件夹或单个视频分别预设不同语言后统一批量处理。批量翻译时,主界面的“发音语言”和“目标语言”等参数会同时应用到所有被选择的视频上。

如果你的多个文件夹语言不同,有以下两种可行的替代方案:

  1. 按语言分组,分别批量处理
    例如将中文视频放在一个文件夹,日文视频放在另一个文件夹;先选择中文文件夹,在主界面配置“发音语言=中文”并开始批量;再选择日文文件夹,配置“发音语言=日文”再批量。
  2. 使用已有字幕,并配合规范的输出目录结构
    如果每个视频已经准备好了对应的源语言字幕或目标语言字幕,可以先使用“菜单 → 工具/选项 → 批量创建文件夹结构”将字幕整理到对应输出目录中。然后在主界面按语言分组分别导入视频并设置对应的“发音语言”和“目标语言”。这样虽然仍需分语言分别执行,但语音识别和翻译阶段可被自动跳过,节省时间。

目前没有“按文件夹预定义语言→一键全部处理”的功能。若你有更多具体场景(例如多个文件夹内视频语言各不相同,且需要统一翻译到中文),建议先按语言分组处理;如果必须一次处理,可先用其他工具将音频统一转录并翻译为同一目标语言,再使用“导入已有字幕”方式合成视频。

如果仍需要进一步排查,可提供具体文件夹结构示例和软件版本号,以便更准确判断。

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 via ko-fi.com

Dondate via PayPal

Related resource