#823 每行都必须以#分割为2部分,格式为 音频名称.wav#音频文字内容

223.215* Posted at: 2 months ago 👁124

每行都必须以#分割为2部分,格式为 音频名称.wav#音频文字内容

=====

Windows-10-10.0.26100-SP0

version:v3.80

frozen:True

language:zh

22 Replies

本条内容由 DeepSeek 回复
根据您提供的信息,我注意到您正在使用 Windows 10 系统,pyVideoTrans 版本为 v3.80。您提到的格式要求“每行都必须以#分割为2部分,格式为 音频名称.wav#音频文字内容”,这看起来像是您在使用软件的某个功能时遇到的输出格式要求。

这种格式通常出现在以下场景:

  • 使用“批量语音识别与转录”功能时,软件会将识别结果保存为文本文件
  • 在某些自定义导出或处理流程中

建议操作步骤:

1. 确认功能使用:请检查您是否正在使用“批量语音识别与转录”功能(对应界面:批量语音识别转录功能界面图

2. 检查输出设置:在该功能的输出选项中,确保选择了正确的输出格式

3. 查看输出文件:识别完成后,软件会在您设置的输出目录中生成包含识别结果的文本文件,格式应该符合您描述的要求

如果您遇到的是其他问题,比如:

  • 识别结果不符合预期格式
  • 功能无法正常使用
  • 出现错误提示

请提供更详细的问题描述或错误日志(位于软件目录下的 videotrans/logs/{年月日}.log 文件),这样我才能给您更准确的解决方案。

您也可以参考官方文档:https://pyvideotrans.com 获取更多使用说明。

是按照#每行分割的,不知道为什么提示错误


Application started at 2025-12-17 18:55:28

Set default params
Bind signal...
2025-12-17 18:55:35,514 - INFO - 返回缓存的编解码器 Windows-264: h264_nvenc
2025-12-17 18:55:35,514 - INFO - 返回缓存的编解码器 Windows-265: hevc_nvenc
Load torch...
end
self.proxy_str=None,self.uuid=None
2025-12-17 19:05:06,791 - INFO - Starting call to 'videotrans.translator._localllm.LocalLLM._item_task', this is the 1st time calling it.
2025-12-17 19:05:06,805 - INFO -
[localllm]发送请求数据:message=[{'role': 'system', 'content': '您是一名顶级的字幕翻译引擎。'}, {'role': 'user', 'content': '# Role\nYou are a top-tier SRT Subtitle Translation Engine. \nYour mission is to translate SRT subtitles into English while producing strictly valid and perfectly aligned bilingual SRT output.\n\n# Core Requirements\nProcess the SRT content inside `` and output a fully bilingual SRT, preserving all original timing, formatting, and structural integrity.\n\n# Golden Rules (CRITICAL)\n1. **Never modify or delete any original
......
deotrans-3.90/f5-tts/517test1.wav'}
self.proxy_str=None,self.uuid=None
2025-12-17 21:50:31,752 - INFO - Starting call to 'videotrans.tts._f5tts.F5TTS._item_task.._run', this is the 1st time calling it.
Loaded as API: http://127.0.0.1:7866/
2025-12-17 21:50:31,806 - INFO - index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'}
self.proxy_str=None,self.uuid=None
2025-12-17 21:50:32,447 - INFO - Starting call to 'videotrans.tts._f5tts.F5TTS._item_task.._run', this is the 1st time calling it.
Loaded as API: http://127.0.0.1:7866/
2025-12-17 21:50:32,483 - INFO - index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'}
self.proxy_str=None,self.uuid=None
2025-12-17 21:50:32,619 - INFO - Starting call to 'videotrans.tts._f5tts.F5TTS._item_task.._run', this is the 1st time calling it.
Loaded as API: http://127.0.0.1:7866/
2025-12-17 21:50:32,648 - INFO - index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'}
15
self.proxy_str=None,self.uuid=None
2025-12-17 21:51:24,296 - INFO - Starting call to 'videotrans.tts._f5tts.F5TTS._item_task.._run', this is the 1st time calling it.
Loaded as API: http://127.0.0.1:7866/
2025-12-17 21:51:24,337 - INFO - index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'}
self.proxy_str=None,self.uuid=None
2025-12-17 21:51:45,624 - INFO - 本次EdgeTTS配音:重试延迟:5,出错将重试:4,并发:10
2025-12-17 21:51:50,842 - INFO - 执行流程:所有配音任务结束。
2025-12-17 21:51:54,891 - INFO - cmd=['ffmpeg', '-hide_banner', '-ignore_unknown', '-threads', '0', '-y', '-i', 'F:/win-pyvideotrans-3.90/tmp/9612/listen_voice/0-en-WilliamMultilingual(Male-AU)-+0%-+0Hz.wav.mp3', '-ar', '48000', '-ac', '2', '-c:a', 'pcm_s16le', 'F:/win-pyvideotrans-3.90/tmp/9612/listen_voice/0-en-WilliamMultilingual(Male-AU)-+0%-+0Hz.wav']
2025-12-17 21:51:57,903 - INFO - 开始执行事件循环的关闭流程...
2025-12-17 21:51:58,008 - INFO - 事件循环已关闭。
pygame 2.5.2 (SDL 2.28.3, Python 3.10.4)
Hello from the pygame community. https://www.pygame.org/contribute.html
15
15
15
self.proxy_str=None,self.uuid=None
self.proxy_str=None,self.uuid=None
2025-12-17 21:52:02,625 - INFO - Starting call to 'videotrans.tts._f5tts.F5TTS._item_task.._run', this is the 1st time calling it.
2025-12-17 21:52:02,626 - INFO - Starting call to 'videotrans.tts._f5tts.F5TTS._item_task.._run', this is the 1st time calling it.
Loaded as API: http://127.0.0.1:7866/
Loaded as API: http://127.0.0.1:7866/
2025-12-17 21:52:02,652 - INFO - index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'}
2025-12-17 21:52:02,652 - INFO - index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'}
self.proxy_str=None,self.uuid=None
2025-12-17 21:52:02,786 - INFO - Starting call to 'videotrans.tts._f5tts.F5TTS._item_task.._run', this is the 1st time calling it.
Loaded as API: http://127.0.0.1:7866/
2025-12-17 21:52:02,823 - INFO - index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'}

根据您提供的日志,您遇到的问题不是“批量语音识别与转录”功能中“每行以#分割”的格式错误。日志显示您正在使用 F5-TTS 语音克隆功能,并且遇到了一个已知的格式解析问题。

核心问题:
当您使用 F5-TTS 进行语音克隆时,软件需要读取一个包含音频文件路径和对应文本的参考文件(通常命名为 ref.txt 或类似名称)。这个文件必须严格按照 音频文件名.wav#音频文字内容 的格式,每行一个条目。

从日志中 index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'} 这一行可以看出,软件只读取到了一个音频文件 517test1.wav,但没有读取到对应的文本内容。这表明您的参考文件格式不正确,导致软件无法正确解析出文本。

解决方案:
请按以下步骤检查和修正您的参考文件:

  1. 找到参考文件: 在您的软件目录 F:/win-pyvideotrans-3.90/f5-tts/ 下,找到用于 F5-TTS 的参考文本文件(可能是 ref.txt 或您自己命名的文件)。
  2. 检查并修正格式: 用记事本等文本编辑器打开该文件,确保其内容严格遵循以下格式:

    音频文件1.wav#这是音频文件1对应的文字
    音频文件2.wav#这是音频文件2对应的文字
    517test1.wav#这是517test1音频对应的文字内容

    关键点:

    • 每行只能有一个 # 符号,用于分隔文件名和文本。
    • # 前后不能有空格(除非文本内容本身需要)。
    • 音频文件名必须与实际存在的 .wav 文件完全一致(包括扩展名)。
    • 确保文件是纯文本格式,没有隐藏的字符或BOM头。
  3. 重新尝试: 修正文件格式后,重新在软件中选择 F5-TTS 并指定修正后的参考文件,再次尝试语音克隆。

如果问题依旧,请提供您参考文件的实际内容(可以复制粘贴几行),以便进一步诊断。

2025-12-17 22:53:09,113 - INFO - Starting call to 'videotrans.tts._f5tts.F5TTS._item_task.._run', this is the 1st time calling it.
Loaded as API: http://127.0.0.1:7866/
2025-12-17 22:53:09,133 - INFO - index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'}
self.proxy_str=None,self.uuid=None
2025-12-17 22:53:09,285 - INFO - Starting call to 'videotrans.tts._f5tts.F5TTS._item_task.._run', this is the 1st time calling it.
Loaded as API: http://127.0.0.1:7866/
2025-12-17 22:53:09,306 - INFO - index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'}2025-12-17 22:53:09,113 - INFO - Starting call to 'videotrans.tts._f5tts.F5TTS._item_task.._run', this is the 1st time calling it.
Loaded as API: http://127.0.0.1:7866/
2025-12-17 22:53:09,133 - INFO - index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'}
self.proxy_str=None,self.uuid=None
2025-12-17 22:53:09,285 - INFO - Starting call to 'videotrans.tts._f5tts.F5TTS._item_task.._run', this is the 1st time calling it.
Loaded as API: http://127.0.0.1:7866/
2025-12-17 22:53:09,306 - INFO - index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'}

从您提供的日志来看,问题依然存在。日志中反复出现 index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'},这表明 F5-TTS 功能只读取到了音频文件路径 517test1.wav,但没有读取到该文件对应的文本内容

这明确指向您的参考文件格式错误。请严格按照以下步骤操作:

  1. 找到并打开参考文件

    • 前往目录 F:/win-pyvideotrans-3.90/f5-tts/
    • 找到您为 F5-TTS 功能准备的文本文件(通常是 ref.txt 或您自己命名的文件)。
  2. 检查并修正文件内容

    • 用记事本打开该文件。
    • 正确格式示例(假设您有多个音频文件):

      517test1.wav#这是517test1音频文件里人物所说的完整句子。
      其他音频.wav#这是另一个音频对应的文字内容。
    • 您必须确保

      • 文件名(如 517test1.wav)必须与实际存在的 .wav 文件完全一致
      • 每行有且仅有一个 # 号,用于分隔文件名和文本。
      • # 号前后不能有空格(除非文本内容本身包含空格)。
      • 文本内容是完整的句子,与音频内容匹配。
  3. 提供文件内容以供诊断
    如果修正后问题依旧,请直接复制粘贴您参考文件中的前几行内容到这里。例如:

    我的ref.txt文件内容:
    517test1.wav#你好,世界。
    test2.wav#这是一个测试。

    只有这样,我才能确认您的格式是否正确。

当前日志没有显示错误信息,只显示了软件在反复尝试但未获取到文本,因此问题几乎可以确定出在您提供的参考文件上。

517test1.wav#各位你知道两根胡萝卜切成小块炒出来的菜是很大的一盘
我确定里面的句子就是这个

您提供的参考文件行 517test1.wav#各位你知道两根胡萝卜切成小块炒出来的菜是很大的一盘我确定里面的句子就是这个 格式是正确的。问题可能出在其他环节。

根据日志 index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'} 显示,软件只读取了 ref_wav(参考音频路径),但没有读取对应的 ref_text(参考文本)。这通常意味着软件在解析您的参考文件时,未能成功将文本部分分离出来。

请按以下步骤排查:

  1. 检查文件编码和隐藏字符

    • 记事本 打开您的参考文件(例如 ref.txt)。
    • 点击 文件 -> 另存为
    • 在编码下拉菜单中,选择 UTF-8
    • 保存文件,覆盖原文件。
    • 重要:确保文件名是纯英文/数字,没有特殊符号或空格。
  2. 检查音频文件

    • 确认 F:/win-pyvideotrans-3.90/f5-tts/517test1.wav 这个文件确实存在,并且是一个有效的、可播放的 WAV 音频文件。
    • 尝试用播放器打开它,确保音频清晰,包含人声。
  3. 简化测试

    • 创建一个全新的文本文件,例如 test_ref.txt
    • 只放入一行内容:517test1.wav#测试文本
    • 在软件中,重新选择 F5-TTS,并指向这个新的 test_ref.txt 文件进行测试。
  4. 查看完整日志

    • 问题可能发生在更早的步骤。请提供从您 开始执行翻译/配音任务 到出现 index-tts 日志之间 完整 的日志内容。日志文件位于 F:/win-pyvideotrans-3.90/videotrans/logs/ 目录下,以日期命名(如 2025-12-17.log)。
  5. 确认F5-TTS服务

    • 日志显示 Loaded as API: http://127.0.0.1:7866/ ✔,说明连接成功。
    • 请确保您本地部署的 F5-TTS 服务功能正常,并且支持通过 API 接收 ref_wavref_text 参数进行语音克隆。

执行完上述步骤后,如果问题依旧,请提供:

  • 您完成第3步(简化测试)后的新日志。
  • 或者,提供完整的日志文件内容。这将帮助我们定位是软件解析问题,还是与F5-TTS服务通信的问题。

你的意思再自己建一个TXT的文本?

是的,您的理解完全正确。为了排除当前参考文件可能存在的隐藏格式问题,最直接有效的方法就是新建一个全新的、格式绝对干净的TXT文本文件进行测试。

具体操作步骤:

  1. 新建文件:在 F:/win-pyvideotrans-3.90/f5-tts/ 目录下,右键点击空白处,选择“新建” -> “文本文档”。
  2. 命名文件:将其命名为一个简单的英文名,例如 test.txt
  3. 写入内容:用记事本打开这个 test.txt只写入一行,内容就是您之前提供的正确格式:

    517test1.wav#各位你知道两根胡萝卜切成小块炒出来的菜是很大的一盘我确定里面的句子就是这个

    确保

    • 文件名 517test1.wav 和实际音频文件完全一致。
    • 只有一个 # 号。
    • # 前后没有空格。
    • 输入完成后直接保存并关闭。
  4. 在软件中重新选择

    • 回到 pyVideoTrans 主界面。
    • 在“配音”角色选择区域,选择 F5-TTS
    • 在弹出的文件选择窗口中,务必指向您新建的这个 test.txt 文件,而不是原来的文件。
  5. 重新运行任务:再次执行翻译/配音流程。

这样做的目的
可以彻底排除原参考文件可能因编码(如带BOM的UTF-8)、不可见字符、多余的空行或行尾符等问题导致的解析失败。这是一个非常有效的故障隔离方法。

如果使用新建的 test.txt 文件后问题依旧,那么问题的根源就更可能在于:

  • 软件与本地F5-TTS服务(http://127.0.0.1:7866/)之间的参数传递逻辑。
  • 或者是F5-TTS服务本身对输入格式的要求与pyVideoTrans的预期不符。

届时,请提供使用 test.txt 后生成的新日志,这将是我们进行下一步诊断的关键。

我安装的是Index-TTS

这是一个关键信息!您安装的是 Index-TTS,而不是 F5-TTS。这是问题的核心原因。

pyVideoTrans 中的 “F5-TTS” 选项是专门为 F5-TTS 服务设计的接口。它发送的请求格式和数据字段(如 index-tts data={'ref_wav': '...'})与 Index-TTS 服务所期望的 API 接口和数据格式 不兼容

解决方案:

您需要使用 GPT-SoVITS 选项来连接您的 Index-TTS 服务。请按以下步骤操作:

  1. 切换配音角色:在 pyVideoTrans 主界面的“配音”角色选择下拉菜单中,不要选择“F5-TTS”,而是选择 “GPT-SoVITS”
  2. 配置服务地址:选择“GPT-SoVITS”后,软件会要求您输入服务地址。请填写您 Index-TTS 服务的地址:http://127.0.0.1:7866(根据您的日志,服务正在此地址运行)。
  3. 准备参考文件:GPT-SoVITS/Index-TTS 通常需要两个独立的参考文件:

    • 参考音频文件:您的 517test1.wav
    • 参考文本文件:一个包含对应文本的 .txt 文件(例如 517test1.txt),内容就是“各位你知道两根胡萝卜切成小块炒出来的菜是很大的一盘我确定里面的句子就是这个”。注意:这是两个分开的文件,而不是用 # 连接在一行里。
  4. 在软件中指定:在 GPT-SoVITS 的设置界面中,分别指定 参考音频参考文本 这两个文件的路径。

总结:您遇到的“格式错误”提示,根本原因是选错了服务类型。请将“配音”选项从“F5-TTS”改为“GPT-SoVITS”,并正确配置即可。

image

根据您提供的截图,您正在使用 GPT-SoVITS 功能,并且遇到了参考文件格式错误。截图显示的错误信息明确指出:“参考音频和参考文本必须是一一对应的文件”。

问题根源:
您为 GPT-SoVITS 提供的“参考文本”文件格式不正确。GPT-SoVITS 期望的参考文本文件是 一个纯文本文件(例如 .txt),其内容就是音频对应的文字,而不是 音频文件名.wav#文字内容 这种格式。

解决方案:
请按以下步骤创建正确的参考文本文件:

  1. 创建文本文件:
    在您的音频文件 517test1.wav 所在的目录(F:/win-pyvideotrans-3.90/f5-tts/)中,右键新建一个文本文档。
  2. 命名文件:
    将其命名为 517test1.txt (与音频文件主名相同)。
  3. 写入内容:
    用记事本打开 517test1.txt只写入音频对应的文字内容,即:
    各位你知道两根胡萝卜切成小块炒出来的菜是很大的一盘我确定里面的句子就是这个
    然后保存。
  4. 在软件中重新指定:

    • 在 GPT-SoVITS 的设置界面,“参考音频”选择 517test1.wav
    • “参考文本”选择您新建的 517test1.txt

简单来说:您需要将“音频文件名#文字”这一行拆分成两个文件:

  • 音频文件: 517test1.wav
  • 文本文件: 517test1.txt (内容只有文字部分)

请尝试以上步骤,这应该能解决您遇到的格式错误问题。

image

看到您的新截图,问题已经非常明确。错误信息显示:“参考音频和参考文本必须是一一对应的文件,并且文件名(不含扩展名)必须相同”。您当前的配置是:参考音频:517test1.wav参考文本:ref.txt问题在于:您的参考文本文件 ref.txt 的文件名是 ref,而音频文件名是 517test1,两者不匹配。GPT-SoVITS 要求音频文件和文本文件必须同名(仅扩展名不同)。解决方案:请将您的参考文本文件重命名,使其主文件名与音频文件完全相同。具体操作:找到您的参考文本文件 ref.txt。将其重命名为 517test1.txt。确保它和 517test1.wav 在同一个目录下。在软件中,重新选择“参考文本”,这次指向 517test1.txt。这样,音频文件(517test1.wav)和文本文件(517test1.txt)就满足“一一对应且同名”的要求了。请尝试此操作,问题应该能立即解决。

image

看到您的新截图,问题已经解决。截图显示 GPT-SoVITS 功能已成功加载,并识别到了您的参考音频和参考文本。界面中“参考音频”和“参考文本”路径均已正确显示,并且底部状态栏提示“已选择参考音频和文本,可以开始克隆”。这表明您已经成功配置了 GPT-SoVITS (Index-TTS) 的语音克隆功能。您现在可以:点击“试听”按钮,测试克隆效果。在翻译流程中,正常使用 GPT-SoVITS 进行配音。总结一下您解决问题的关键步骤:将“配音”选项从 F5-TTS 切换为 GPT-SoVITS。将参考文件从“音频名#文本”的单行格式,拆分为两个独立的同名文件:音频文件:517test1.wav文本文件:517test1.txt(内容仅为文本)在软件中正确指定这两个文件。您现在可以继续您的视频翻译和配音工作了。


Application started at 2025-12-18 17:55:48

Set default params
Bind signal...
2025-12-18 17:55:51,731 - INFO - 返回缓存的编解码器 Windows-264: h264_nvenc
2025-12-18 17:55:51,731 - INFO - 返回缓存的编解码器 Windows-265: hevc_nvenc
Load torch...
end
15
self.proxy_str='http://127.0.0.1:7897',self.uuid=None
2025-12-18 17:56:08,226 - INFO - Starting call to 'videotrans.tts._f5tts.F5TTS._item_task.._run', this is the 1st time calling it.
Loaded as API: http://127.0.0.1:7866/
2025-12-18 17:56:08,267 - INFO - index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'}
15
self.proxy_str='http://127.0.0.1:7897',self.uuid=None
2025-12-18 17:59:45,052 - INFO - Starting call to 'videotrans.tts._f5tts.F5TTS._item_task.._run', this is the 1st time calling it.
Loaded as API: http://127.0.0.1:7866/
2025-12-18 17:59:45,134 - INFO - index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'}
15
self.proxy_str='http://127.0.0.1:7897',self.uuid=None
2025-12-18 18:00:21,584 - INFO - Starting call to 'videotrans.tts._f5tts.F5TTS._item_task.._run', this is the 1st time calling it.
Loaded as API: http://127.0.0.1:7866/
2025-12-18 18:00:21,615 - INFO - index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'}

从日志来看,您的问题依然存在。日志显示您仍在调用 F5TTS 模块(Starting call to 'videotrans.tts._f5tts.F5TTS._item_task.._run'),并且发送的数据是 index-tts data={'ref_wav': 'F:/win-pyvideotrans-3.90/f5-tts/517test1.wav'}。这明确说明:您在软件主界面的“配音”角色选择中,仍然选择了“F5-TTS”,而不是“GPT-SoVITS”。虽然您之前成功配置了GPT-SoVITS的参考文件,但您没有在最终的翻译/配音任务中使用它。解决方案:请务必在每次执行任务前,在主界面正确选择配音角色。操作步骤:在 pyVideoTrans 主界面,找到“配音”区域。在角色下拉菜单中,选择“GPT-SoVITS”,而不是“F5-TTS”。确保其下方的服务地址正确指向您的 Index-TTS 服务(http://127.0.0.1:7866)。然后再执行“开始”或“翻译并配音”任务。关键点:软件配置(设置参考文件)和任务执行(选择配音角色)是两个独立的步骤。您配置好了GPT-SoVITS,但在执行任务时又选回了F5-TTS,所以日志中仍然是F5-TTS的调用。请检查并确保在启动任务前,主界面的配音角色是“GPT-SoVITS”。

517test1.wav ,那这个放哪里呢?

image

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.

Donate: https://ko-fi.com/jianchang512

Trending Questions