#4112 软件能否自动识别说话人?

95.85* Posted at: 2 months ago

软件能否自动识别说话人?并将多个说话人的说话片段进行切割,无需配音。

17 Replies

可以。pyVideoTrans 支持说话人分离功能,可以自动识别并区分视频中不同说话人的语音片段,并将字幕按说话人进行切割和标记。

操作步骤:

  1. 在软件主界面,点击“设置更多参数...”。
  2. 勾选“识别说话人”选项。
  3. 在“识别说话人”选项后的输入框中,可以填写您预估的说话人数量(例如 2),这有助于提高识别准确度。如果不确定,可以留空或填 0
  4. 在“菜单” -> “工具/选项” -> “高级选项” -> “语音识别参数”中,可以切换不同的说话人分离模型(如内置模型、阿里 CAM++、Pyannote 3.1 等)。
  5. 在“配音渠道”中选择“不配音”。
  6. 正常选择语音识别渠道(如 faster-whisper)并开始任务。

处理完成后,生成的 SRT 字幕文件会为不同说话人的语句打上标签(如 [说话人0][说话人1]),从而实现自动切割和区分。

请查阅相关文档:

AMD Ryzen 5 5600H with Radeon Graphics (3.30 GHz)建议怎么设置最大进程数

该 CPU 为 6 核 12 线程。建议将“CPU同时任务数”设置为 6(物理核心数,兼顾速度与稳定性),不宜超过 12。如果将“多显卡模式”设为“1”(默认),GPU同时任务数保持为 1 即可(因 AMD 显卡不支持 CUDA 加速,此项无效)。若内存充足(≥16GB),可尝试设为 8。修改后需重启软件生效。

最大进程数包含处理配音和视频音频合并输出吗?

是的,“CPU同时任务数”会影响音频预处理、语音识别、说话人分离、视频合成(即视频音频合并输出)等阶段的可并行数量。
配音(TTS)字幕翻译这两个阶段固定为单线程,不受此参数控制。
因此,您可以将该数值设为 6~8,以加快识别和合成速度,同时避免过度抢占资源导致不稳定。

自己提供srt字幕文件如何批量工作

支持批量处理您自己提供的 SRT 字幕文件。具体方法:1. 准备文件夹结构: - 在每个视频的同一目录下,创建一个名为 _video_out 的文件夹。 - 在 _video_out 内,为每个视频单独创建一个子文件夹,命名规则为:[视频文件名]-[视频格式](例如 myvideo-mp4)。 2. 放置字幕文件: - 进入该子文件夹,将您准备好的源语言字幕文件重命名为 源语言代码.srt(如 en.srt),目标语言字幕文件重命名为 目标语言代码.srt(如 zh-cn.srt)。 3. 批量导入: - 在主界面勾选“文件夹”,然后点击“选择音频或视频”选择包含所有视频文件的文件夹。 - 软件会在处理每个视频时自动检测对应的 _video_out 子文件夹,若存在对应的 .srt 文件,则会跳过 ASR 和翻译阶段,直接使用您的字幕进行配音和合成。 注意:文件名不能包含中文、空格或特殊符号,建议全部使用英文数字。 请查阅相关文档:- 导入本地已有的字幕或人声

按照你说的设置了,为什么软件依旧开始设别人声工作

根据您的描述,软件仍在执行语音识别(ASR),说明它没有正确识别到您放置的已有字幕文件。请按以下步骤逐一排查:

  1. 确认文件夹命名格式完全正确

    • 视频文件名与输出子文件夹必须严格对应,例如视频为 myvideo.mp4,则在 _video_out 下创建文件夹名为 myvideo-mp4(注意是减号连接,格式后缀不带点)。
    • 若视频格式为 .mkv.avi 等,同样使用 video-mkvvideo-avi
  2. 确认字幕文件命名正确

    • 源语言(视频内说话的语言)字幕文件命名为 zh-cn.srt(中文)、en.srt(英文)、ja.srt(日语)等。
    • 目标语言(您希望输出的语言)字幕文件命名同上,两个文件都必须放在 _video_out/视频名-格式/ 文件夹内。
  3. 检查主界面设置

    • 导入视频时,必须勾选“文件夹”,然后选择包含所有视频的上级目录(不是单个视频)。
    • 不要勾选“清理已生成”,否则会强制重新识别。
    • 在“配音渠道”中,选择“不配音”即可跳过配音阶段,仅使用您的字幕做最终合成。
  4. 确认语言代码是否正确

    • 可在软件设置中查看支持的语言代码列表,确保 zh-cnen 等代码与您的字幕文件一致。
  5. 提供日志
    如果以上都正确仍执行ASR,请打开软件安装目录下的 logs/ 文件夹,找到最新日志文件,复制最后30行报错或提示信息贴出,以便进一步分析。

请确认您的具体需求:

  • 您是希望只使用已有字幕输出视频(跳过识别、翻译、配音),还是想在已有字幕基础上叠加说话人分离(后者需要原始音频分析,不支持直接使用外部字幕)?
    请补充说明,我会给出针对性调整方案。

运行后_video_out文件内出现zh-cn-m4a文件夹是什么

zh-cn-m4a 这个文件夹名称说明您的视频文件名就是 zh-cn.m4a
软件输出子文件夹的命名规则固定为:[视频文件名(不含扩展名)]-[视频格式]
因此当视频文件名为 zh-cn.m4a 时,自动生成的子文件夹就是 zh-cn-m4a——这属于命名冲突,因为 zh-cn 本身也是语言代码。

解决办法

  1. 重命名视频文件:将视频名改为不含语言代码的简短纯英文数字(例如 video1.m4a),然后重新执行。此时输出子文件夹会变为 video1-m4a
  2. 在您希望调用外部字幕的文件夹内

    • 确保视频文件名为 video1.m4a
    • _video_out 下创建子文件夹 video1-m4a
    • 将准备好的源语言字幕文件命名为 en.srt(假设原视频是英文),目标语言字幕文件命名为 zh-cn.srt(假设目标语言是中文)。

如果您的需求是不让软件执行ASR,只使用已有字幕直接合成视频,请按以上步骤操作,同时:

  • 在主界面“翻译视频或音频”功能中导入视频(不勾选“清理已生成”)。
  • 在配音渠道选择“不配音”。
  • 软件检测到外部字幕后会跳过识别和翻译,直接进入合成阶段。

若仍被自动执行ASR,请检查字幕文件是否放对了位置(必须位于 _video_out/video1-m4a/ 内,且文件名严格匹配语言代码)。

要翻译的视频文件名为第2集.mp4

文件名“第2集.mp4”包含中文字符,这会导致软件底层 FFmpeg 解析失败,无法正确找到外部字幕文件或错误地自动创建输出子文件夹。请按以下步骤操作:1. 重命名视频文件:将文件名改为纯英文字母和数字,例如 ep2.mp4(不可包含中文、空格、特殊符号)。2. 创建正确的输出文件夹:在原视频目录下创建 _video_out 文件夹,然后在其中创建子文件夹 ep2-mp4。3. 放置字幕文件:将源语言字幕命名为对应的语言代码(如 en.srt),目标语言字幕命名为 zh-cn.srt,放入 _video_out/ep2-mp4/ 中。4. 启动软件:在主界面导入重命名后的视频(勾选“文件夹”或直接选择单个视频均可),选择“不配音”(如果只需合成字幕),软件会直接跳过 ASR 和翻译,使用您的 SRT 进行输出。修改后重新运行,即可正常批量工作。

之前都可以正常批量工作,怎么现在就不行了

原因是视频文件名“第2集.mp4”包含中文字符。pyVideoTrans 底层 FFmpeg 对中文、空格、特殊符号兼容性极差,一旦文件名含中文,软件在解析路径时会出错(如 ffprobe exec error),导致无法正确查找您放置在 _video_out 文件夹下的外部字幕文件,从而自动回退到执行完整的语音识别流程。解决方法:1. 重命名视频文件为纯英文数字,例如 ep2.mp4。2. 重建输出子文件夹:在 _video_out 下创建 ep2-mp4 文件夹。3. 将您准备好的 SRT 字幕文件(如源语言 en.srt、目标语言 zh-cn.srt)放入 _video_out/ep2-mp4/ 内。4. 在主界面导入 ep2.mp4不要勾选“清理已生成”,选择“不配音”(如果只需合成字幕),软件将自动检测外部字幕并跳过 ASR 和翻译。如果修改后依然执行 ASR,请检查是否勾选了“文件夹”模式或“清理已生成”,并确认字幕文件语言代码与实际设置一致。若仍无效,请提供 logs/ 目录最新日志的后 30 行以便进一步排查。

之前批量工作的时候视频文件名“第2集.mp4就可以正常工作,怎么现在不行了

根据知识库说明,pyVideoTrans 的底层 FFmpeg 对中文、空格、特殊符号的路径兼容性极差(尤其在批量模式或跨版本升级后表现不稳定)。之前能工作属于侥幸(可能旧版本对路径处理较宽松,或视频路径较浅)。现在不行是已知的常见问题:文件名含中文极易导致 FFmpeg 解析失败,软件回退自动执行 ASR。解决方法是统一将视频文件重命名为纯英文字母+数字(如 dierji.mp4),并重新放置外部字幕文件。如果您坚持不想改名,可以尝试:- 确保视频所在目录层级极浅(如直接放在 D:/ 根目录)。- 取消勾选“文件夹”模式,改用单个视频导入。但以上方案不保证稳定,建议严格按规范命名。若还有问题,请提供最新日志文件最后30行以便进一步诊断。

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