#2209 在使用cosyvoise克隆原声音的时候,为什么生成的视频既有原音也有配音两个

217.116* Posted at: 3 days ago 👁49

在使用cosyvoise克隆原声音的时候,为什么生成的视频既有原音也有配音两个

21 Replies

使用 CosyVoice 进行语音克隆时,视频中同时出现原音和配音,通常是因为 人声分离功能未正确启用或处理失败,导致原视频的背景音(包含人声)与新的配音音频被合并了。

请按以下步骤检查和解决:

  1. 确认主界面设置

    • 在配音角色选择时,确保你选择了 “Clone” 角色,并正确导入了参考音频。
    • 在配音设置区域,必须勾选“启用人声分离”。这是最关键的一步,它的作用是:先将原视频的人声和背景音乐分离,然后用新生成的人声(克隆音)替换掉原人声,最后再与背景音乐合并。
  2. 检查高级选项

    • 点击主界面右下角的 “设置更多参数”
    • 在弹出的窗口中,找到并确认 “人声分离” 选项是勾选状态。如果之前未勾选,请勾选后重新处理视频。
  3. 重新处理

    • 完成上述设置后,在主界面务必勾选“清理已生成”,然后重新启动翻译任务。这将强制软件重新执行人声分离和替换流程。
  4. 如果问题依旧

    • 人声分离效果受原视频音频质量影响。如果背景音乐复杂或与人声混合度太高,分离可能不彻底。
    • 你可以尝试使用软件内置的 “工具箱 -> 人声背景音分离” 功能,先对原视频音频进行预处理,测试分离效果。

核心原理:正常的克隆配音流程是 原视频 -> 分离出人声和背景音 -> 用克隆音替换人声 -> 将克隆音与背景音合并 -> 输出新视频。如果缺少了“分离”这一步,就会变成 原视频完整音频 + 克隆音音频 直接叠加,导致双重人声。

请先检查并确保“启用人声分离”选项已勾选。

勾选了 启用人声分离,还是生成的视频既有原音也有配音两个

勾选了“启用人声分离”后仍有双重人声,通常是人声分离模型未能成功运行或分离效果不佳。请按以下步骤排查:

  1. 检查分离模型是否已下载:

    • 首次使用人声分离功能,软件会自动下载模型 UVR-MDX-NET-Inst_HQ_3.onnx
    • 请查看软件运行窗口或 videotrans/logs/ 目录下的日志文件,确认是否有模型下载成功或加载失败的提示。
    • 如果网络问题导致下载失败,你需要手动下载此模型。请访问官方文档或相关社区查找模型下载链接,并将其放置到 videotrans/models/ 目录下。
  2. 验证分离效果(关键步骤):

    • 不要直接处理整个视频。请先使用软件顶部的 “工具箱” -> “人声背景音分离” 功能。
    • 导入你正在处理的原始视频或音频文件,尝试分离。观察生成的 人声.wav背景音.wav 文件。
    • 如果 人声.wav 中仍然能听到明显的背景音乐,或者 背景音.wav 中能听到清晰的人声,说明模型在当前音频上分离失败。这是导致双重人声的直接原因。
  3. 尝试替代方案:

    • 如果内置分离器效果差,可以尝试其他专业工具(如 Ultimate Vocal Remover GUI)预先处理好音频,将干净的背景音文件准备好。
    • 然后在 pyVideoTrans 中处理时,不要勾选“启用人声分离”,而是在最终合并阶段,使用 “工具箱” -> “音视频合并/分离” 功能,手动将新生成的配音音频与你预先提取的干净背景音进行合并。
  4. 提供日志:

    • 如果以上步骤无法解决,请提供 videotrans/logs/ 文件夹内最新的 .log 文件内容,以便进一步分析分离模型加载或运行过程中的具体错误。

人声分离成功了vocal.wav全是人声,insrtument.wav是背景音,同时勾选了 启用人声分离,还是生成的视频既有原音也有配音两个

既然人声分离测试成功,但最终视频仍有双重人声,问题出在 软件处理流程的逻辑衔接上。最可能的原因是:你使用了“缓存”或软件在处理时没有正确调用分离后的背景音。

请严格按照以下步骤操作,确保流程完整:

  1. 强制重新处理(清除缓存)

    • 在主界面,务必勾选“清理已生成”选项。这是最关键的一步,它能强制软件删除之前生成的所有中间文件(包括可能错误的合并音频),从头开始执行完整流程。
  2. 确认完整的处理链条

    • 正确的流程应该是:原视频 → 分离出人声(vocal.wav)和背景音(instrument.wav) → 对人声(vocal.wav)进行识别和翻译 → 生成克隆配音(new_vocal.wav) → 将克隆配音(new_vocal.wav)与背景音(instrument.wav)合并 → 输出最终视频
    • 如果“清理已生成”没勾选,软件可能会跳过分离步骤,直接使用上一次处理残留的完整原音频去合并,导致双重人声。
  3. 检查最终合并前的音频

    • 处理完成后,先不要看视频。去输出文件夹(通常是原文件所在目录的 _video_out 子文件夹)里,找到生成的 .wav.m4a 格式的纯音频文件
    • 用播放器(如VLC)听一下这个音频文件。如果这个音频文件里已经是克隆音+背景音,没有原声,那说明音频处理是正确的,问题可能出在视频封装步骤。如果这个音频文件里仍有双重人声,那证明合并步骤就出错了。
  4. 如果上述步骤仍无效,请提供日志

    • 执行一次完整的、勾选了“清理已生成”的任务。
    • 任务结束后,打开 videotrans/logs/ 目录,将最新的 .log 日志文件内容复制给我。我需要查看软件在“分离”、“配音”、“合并”这几个关键步骤的具体执行记录,以判断是哪个环节指令未生效。

总结:核心操作就是勾选“清理已生成”后重试。如果问题依旧,必须提供日志进行深度分析。

原视频没有背景音只有人声,人声分离成功了vocal.wav全是人声,insrtument.wav是背景音也没声音,同时勾选了 启用人声分离,还是生成的视频既有原音也有配音两个

明白了。原视频只有人声,没有背景音乐。这是关键信息。

在这种情况下,问题根源很清晰:instrument.wav(背景音)是静音或几乎无声时,软件在合并音频的步骤中,可能错误地将原始的完整音频(包含人声)作为了“背景音”与新的配音进行了混合。

请按以下步骤解决:

核心解决方案:修改人声分离处理逻辑

由于原视频无背景音,人声分离后得到的“背景音”是无效的。软件需要被明确告知“使用静音作为背景音”或“直接替换,无需合并”。

  1. 最佳实践:不启用“人声分离”

    • 既然原视频只有人声,最直接的方法就是不要勾选“启用人声分离”
    • 原理:不勾选时,软件会直接提取原始音频,用新生成的克隆配音整体替换掉原音频。这样就不会有“原声+配音”的叠加问题。
    • 操作:在主界面,取消勾选“启用人声分离”,并务必勾选“清理已生成”,然后重新执行任务。
  2. 如果方法1无效,进行高级排查:

    • 执行一次任务(勾选“清理已生成”)。
    • 任务完成后,立即打开 videotrans/logs/ 目录下最新的 .log 文件。
    • 在日志中搜索关键词 mergebackgroundinstrument人声分离。找到软件执行音频合并的命令行。
    • 你需要提供这段日志内容。合并命令会显示软件具体将哪两个文件混合在了一起。很可能它错误地引用了原始视频文件,而不是那个静音的 instrument.wav
  3. 手动验证与替代方案:

    • 使用“工具箱 -> 人声背景音分离”处理你的原视频,确认 instrument.wav 是否确实是静音文件(用播放器打开,看波形图)。
    • 如果确认无背景音,你可以:

      • 使用“不嵌入字幕”或“嵌入软字幕”输出,然后使用“工具箱 -> 音视频合并/分离”功能。
      • 将生成的克隆配音音频与一个静音的音频文件(或直接使用分离出的那个静音 instrument.wav)进行合并,生成最终音频,再封装回视频。

总结:对于纯人声视频,最简单的解决方案就是取消勾选“启用人声分离”。如果必须使用该功能且问题依旧,请提供任务执行后的详细日志,以便定位合并命令的错误。





重新断句 c02826fd06
2025-12-22 22:37:08,663 - WARNING - [LLM re-segments]重新断句结果:result="\n1\n00:07:48,160 --> 00:07:49,760\nIn the middle before on Sequoia.\n\n2\n00:07:49,840 --> 00:07:51,440\nI would love to see that brought back,\n\n3\n00:07:51,440 --> 00:07:53,820\nas it's a little bit odd placement in the upper right.\n\n4\n00:07:54,100 --> 00:07:57,860\nNow, another change has to do with actually connecting multiple Macs at once.\n\n5\n00:07:58,160 --> 00:08:01,000\nNow, you can't necessarily see this on this Mac,\n\n6\n00:08:01,140 --> 00:08:03,300\nbut it's specific to Thunderbolt 5 Macs,\n\n7\n00:08:03,340 --> 00:08:04,240\nmaybe Mac Studios.\n\n8\n00:08:04,320 --> 00:08:07,060\nSo there's a new update that lets you use the extra speed\n\n9\n00:08:07,060 --> 00:08:08,800\nand low latency of Thunderbolt 5.\n\n10\n00:08:09,000 --> 00:08:10,520\nSo with Thunderbolt 5,\n\n11\n00:08:10,680 --> 00:08:12,660\nyou can now connect up to four Mac Studios,\n\n12\n00:08:13,000
......
60 --> 00:09:08,040\nmay become unresponsive on a Mac configured for platform SSO\n\n35\n00:09:08,040 --> 00:09:10,780\nwith smart card authentication.\n\n36\n00:09:10,780 --> 00:09:12,440\nIn addition to this,\n\n37\n00:09:12,440 --> 00:09:15,100\nstability is improved when viewing log files in console\n\n38\n00:09:15,100 --> 00:09:17,080\nwith now mode enabled.\n\n39\n00:09:17,080 --> 00:09:19,880\nSo those are the updates for enterprise,\n\n40\n00:09:19,880 --> 00:09:22,400\nnot huge, but about the same amount of updates as the last version.\n\n41\n00:09:22,400 --> 00:09:25,640\nWhen it comes to bugs and bug fixes, well, the first thing\n\n42\n00:09:25,640 --> 00:09:28,740\nhas to do with sidebars in apps like Maps, for example.\n\n43\n00:09:28,740 --> 00:09:31,100\nSo within Maps, the sidebar is no longer cut off.\n\n44\n00:09:31,100 --> 00:09:33,080\nIt shows it properly.\n\n45\n00:09:33,080 --> 00:09:36,200\nEven if we're resizing it, it doesn't change improperly,\n\n46\n00:09:36,200 --> 00:09:40,220\nand it's now working as expected.\n\n47\n00:09:40,220 --> 00:09:43,000\nSo that's something they've updated where it was a visual bug.\n\n48\n00:09:43,400 --> 00:09:47,560\nThey've also fixed an issue within Music where if maybe you pre-ordered a pre-release album,\n\n49\n00:09:47,560 --> 00:09:51,100\nsometimes it wasn't available immediately when it released.\n\n50\n00:09:51,100 --> 00:09:55,600\nSo that's something they've updated as well.\n\n51\n00:09:55,600 --> 00:09:57,340\nAs far as other bugs, well, Apple hasn't told us\n\n52\n00:09:57,340 --> 00:10:00,640\nreally any more than what I've already shared.\n\n53\n00:10:00,640 --> 00:10:02,220\nSo there's things that I've shared in the video\n\n54\n00:10:02,220 --> 00:10:05,120\nwith tables in Freeform,\n\n55\n00:10:05,120 --> 00:10:08,840\nbut the only bug fix they've mentioned was the pre-release album update.\n\n56\n00:10:08,840 --> 00:10:13,240\nNow, as far as security updates, there's quite a few of them.\n\n57\n00:10:13,240 --> 00:10:15,740\nLet's go ahead and take a look.\n\n58\n00:10:15,740 --> 00:10:19,800\nOn the Apple security release website, if we scroll down,\n\n59\n00:10:19,800 --> 00:10:23,480\nyou'll see the latest updates with iOS 26.2 and iPadOS 26.2.\n\n60\n00:10:23,480 --> 00:10:26,740\nAnd if we take a look at macOS Sequoia 26.2,\n\n61\n00:10:26,740 --> 00:10:29,200\nthere's quite a few things here that have been updated.\n\n62\n00:10:29,200 --> 00:10:32,120\nThere's over 45 updates\n\n63\n00:10:32,120 --> 00:10:35,920\nand you'll see things such as App Store, curl, FaceTime, file bookmark, foundation,\n\n64\n00:10:35,920 --> 00:10:39,360\nand much, much more.\n\n65\n00:10:39,360 --> 00:10:42,760\nSo if you take a look here under Safari, for example,\n\n66\n00:10:42,760 --> 00:10:46,440\none of the issues was on a Mac with Lockdown Mode enabled,\n\n67\n00:10:46,440 --> 00:10:50,760\nweb content opened via file URL may be able to use web APIs\n\n68\n00:10:50,760 --> 00

根据你提供的日志片段,LLM重新断句功能运行成功,并输出了格式正确的SRT字幕内容(包含序号、时间轴和文本)。这本身没有问题。

你提到“重新断句”,但未说明遇到了什么具体问题。请明确描述你遇到的困难,例如:

  1. 重新断句后的字幕时间轴错乱?
  2. 重新断句后的文本内容有误或包含乱码?
  3. 软件在重新断句后卡住或报错?
  4. 你想了解如何调整重新断句的效果?

为了准确诊断,请提供以下信息:

  • 你遇到的具体现象或错误提示是什么?
  • 在“设置更多参数”或“高级选项”中,你为“LLM重新断句”配置了哪个模型(如ChatGPT、DeepSeek等)以及相关参数(如每批字词数)?
  • 完整的错误日志(如果软件报错),而不仅仅是成功的片段。

同时,根据现有信息,可以给出以下通用建议:

  • 如果对断句效果不满意:可以在“高级选项”中调整“LLM重新断句每批字词数”,增加该值(例如从300改为500)可以让模型获得更多上下文,可能产生更连贯的断句,但注意不要超过模型的最大token限制。
  • 如果时间轴有轻微偏差:这是LLM基于文本预测时间点的固有局限。对于精确同步要求高的场景,建议使用软件默认的VAD断句或本地算法重断句。
  • 如果过程卡顿或失败:检查你的LLM API密钥和网络连接是否正常。在“翻译设置”中确认你为“LLM重新断句”选择的模型渠道已正确配置。

请补充问题细节,以便提供针对性解决方案。

识别说话人和说话人分离有什么用

识别说话人和说话人分离是两个不同的功能,在 pyVideoTrans 中各有其用途:

1. 识别说话人

  • 功能:自动检测并区分音频中出现的不同说话人(角色)。例如,在一段对话中,识别出哪句话是A说的,哪句话是B说的。
  • 用途

    • 生成带角色标签的字幕:在SRT或TXT字幕文件中,为每一行字幕标注说话人(如 [Speaker A]: ...),使字幕更清晰易读。
    • 为多角色配音做准备:如果你希望为不同的说话人分配不同的配音音色(使用“字幕多角色配音”功能),首先需要通过此功能识别出哪些句子属于哪个说话人。
  • 如何使用:在“设置更多参数”中勾选“识别说话人”。软件会使用特定模型(如 pyannote)进行分析。注意:首次使用需要下载模型,且识别精度受音频质量、说话人数量、口音清晰度等因素影响。

2. 说话人分离

  • 注意:在 pyVideoTrans 的上下文中,通常所说的“分离”指的是 人声与背景音乐分离(在“配音”设置中勾选“启用人声分离”),而不是将不同说话人的声音从同一音轨中物理分离成独立文件。
  • 人声/背景音分离的用途

    • 纯净配音:在视频翻译配音时,保留原视频的背景音乐或环境音,只替换掉人声部分,使最终视频听起来更自然。
    • 提取干声:如果你想获得一个没有任何背景音、只包含人声的音频文件,用于其他处理。

总结与对比

功能作用对象主要目的典型应用场景
识别说话人音频中的不同人物区分和标注谁在什么时候说话生成带角色标签的字幕;为多角色配音分配音色
人声/背景音分离音频中的人声 vs. 背景声将人声和背景音分开视频翻译时保留背景音乐只换人声;提取纯净人声

简单来说

  • 你想知道视频里谁说了哪句话,用 识别说话人
  • 你想在配音时保留背景音乐去掉原声,用 启用人声分离

如果你的目标是为不同的角色配上不同的声音,那么流程是:

  1. 使用 识别说话人 功能生成带说话人标签的字幕。
  2. 使用 工具箱 -> 字幕多角色配音 功能,为每个说话人标签分配不同的配音角色(音色)。

如果使用原声配音,是不是不用打开说话人识别

是的,完全正确。

如果你的最终目标是 使用原声进行配音(即,使用软件根据原说话人声音克隆生成的音色进行配音),那么 不需要 打开“识别说话人”功能。

原因如下:

  1. 目的不同:“识别说话人”功能是为了区分不同的角色。而“原声配音”(语音克隆)的目标是模仿同一个人的音色,无论视频中有几个人说话,克隆模型都会尝试用同一个“目标音色”去合成所有语句。
  2. 流程无关:语音克隆(如使用CosyVoice的“Clone”角色)只需要你提供一段参考音频来提取音色特征。软件会使用这个特征为所有识别出的文本生成配音,它不关心这些文本原本是A说的还是B说的。
  3. 简化操作:不开启“识别说话人”可以避免不必要的模型下载和计算,让处理流程更快捷。

所以,你的操作应该是:

  1. 配音设置中选择一个支持克隆的渠道(如CosyVoice),并选择 “Clone” 角色。
  2. 导入或录制一段参考音频(清晰、纯净的原说话人声音)。
  3. 无需勾选“设置更多参数”中的“识别说话人”。
  4. 正常执行任务即可。软件会为所有字幕行生成具有相似音色的配音。

什么情况下才需要打开“识别说话人”?
只有当视频中有多个说话人,并且你希望:

  • 在生成的字幕中标注出不同说话人(例如 [主持人]: [嘉宾]:)。
  • 或者,后续想使用 “工具箱 -> 字幕多角色配音” 功能,为不同的说话人分配完全不同的音色(例如男声配男角色,女声配女角色)时,才需要先进行说话人识别。

结论:对于单纯的“原声克隆配音”,请保持“识别说话人”功能关闭。

do not support extract speech token for audio longer than 30s

你遇到的错误信息 do not support extract speech token for audio longer than 30s 表明:你正在使用的 语音克隆模型(很可能是 CosyVoice 或类似的本地 TTS 模型)在处理你的 参考音频 时遇到了限制。该模型要求用于提取音色特征的参考音频长度不能超过 30 秒。这是此类模型的常见限制。解决方法如下:缩短参考音频:这是最直接的解决方案。你需要准备一段新的参考音频,确保其长度 小于或等于 30 秒。音频质量要求:内容清晰:最好是目标说话人单独、平稳的说话声,没有背景音乐、噪音或其他人的声音。音质纯净:建议使用软件自带的“工具箱 -> 人声背景音分离”功能对原始长音频进行处理,提取出干净的人声片段,然后从中截取一段最清晰、最具有代表性的部分(不超过30秒)。如何操作:你可以使用任意音频编辑软件(如 Audacity、格式工厂,甚至 pyVideoTrans 工具箱中的“音视频合并/分离”功能进行裁剪)来截取一段合适的音频。在配音设置中选择“Clone”角色后,点击“选择参考音频”按钮,导入这段缩短后的新音频。重新执行任务:确保在主界面勾选了“清理已生成”,然后重新开始处理。如果问题依旧:请确认你使用的具体配音渠道。如果是 CosyVoice,请检查其版本和配置。如果是其他克隆模型(如 GPT-SoVITS),也可能有类似限制,请查阅对应模型的文档。总结:核心原因是你提供的参考音频太长。请准备一段 30 秒以内、纯净、清晰的原说话人音频作为新的参考音频即可解决此问题。

关闭“点击停止倒计时”

要关闭“点击停止倒计时”功能,请按以下步骤操作:在软件主界面,点击顶部菜单栏的 工具。在下拉菜单中选择 选项。在弹出的“选项”窗口中,找到 通用设置 部分。你将看到一项名为 单视频翻译暂停倒计时(秒) 的设置。要关闭此倒计时,请将其数值设置为 0。点击 保存 按钮。关闭“选项”窗口。设置生效:完成以上设置后,当你在翻译过程中点击“停止”按钮时,软件将立即停止任务,而不会出现倒计时等待。请注意:此设置仅影响“停止”按钮的行为。“暂停”按钮的功能不受影响。

怎么识别玩字幕后自动断句,无需等待

要实现“识别完字幕后自动断句,无需等待”,你需要将软件设置为 “识别完成后自动进入下一步” 的模式。这通过关闭交互确认窗口来实现。请按以下步骤操作:关闭字幕编辑确认窗口:在软件主界面,找到并 取消勾选 第6行中的 “语音识别后显示字幕确认框” 选项。关闭翻译后确认窗口:同样在第6行, 取消勾选 “翻译后显示字幕确认框” 选项。设置自动行为:完成以上两步后,软件的工作流程将变为:语音识别 -> 自动进行断句处理 -> 自动翻译 -> 自动进入配音环节。全程无需你手动点击“确定”或进行任何等待。关键说明:自动断句:软件会使用你在 第2行“语音识别” 区域所选择的 断句模式(如“默认断句”、“本地算法重断句”或“LLM大模型重断句”)自动进行处理。无需等待:只要不弹出编辑窗口,流程就会自动连续执行。如果你想在自动流程中仍然使用LLM重新断句,请确保在“设置更多参数”中正确配置了LLM的API(如OpenAI、DeepSeek)。如果你想在自动流程中修改断句结果,则必须勾选上述选项,在弹出窗口中手动编辑。总结:要达成你的目标,只需 取消勾选两个“显示字幕确认框” 即可。软件会按照预设的断句模式自动处理,实现无人值守的连续作业。

mac cosyvioce怎么启用mps

在 macOS 上为 CosyVoice 启用 MPS (Metal Performance Shaders) 加速,需要进行环境配置。由于 pyVideoTrans 是跨平台软件,其内部调用 CosyVoice 时依赖 PyTorch 的 MPS 后端。请按以下步骤操作:确认你的 macOS 和 PyTorch 环境满足要求:macOS 版本:需要是 12.3+(建议更新到最新)。硬件:必须是 Apple Silicon 芯片(M1, M2, M3 等)的 Mac。PyTorch 版本:需要是 1.12+ 且支持 MPS 的版本。检查 pyVideoTrans 的依赖:如果你是通过源码部署的 pyVideoTrans,请确保 PyTorch 已正确安装且支持 MPS。在终端中,进入 pyVideoTrans 目录,激活虚拟环境,然后运行以下 Python 代码进行检查:python -c "import torch; print(f'PyTorch版本: {torch.__version__}'); print(f'MPS可用: {torch.backends.mps.is_available()}')"如果输出显示 MPS可用: True,则环境已就绪。如果显示 False 或报错,则需要升级或重新安装 PyTorch。安装/更新 PyTorch:如果 MPS 不可用,请使用 pip 安装支持 MPS 的 PyTorch。官方推荐命令如下(在 pyVideoTrans 的虚拟环境中执行):pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu注意:对于稳定性要求,你也可以尝试正式版,但需确认其包含 MPS 支持。验证 CosyVoice 是否能使用 MPS:配置完成后,在 pyVideoTrans 中选择 CosyVoice 作为配音渠道。在“设置更多参数”或 CosyVoice 的高级设置中,查看是否有“设备”选项(如 device),将其设置为 mps。如果软件没有提供图形化设置,你可能需要修改配置文件或查看日志,确认 CosyVoice 模型是否加载到了 MPS 设备上。查看日志:处理一个短视频,然后检查 videotrans/logs/ 下的日志文件。搜索 mps 或 device 等关键词,看是否有相关加载信息。重要提示:MPS 加速仍处于开发阶段,可能不如 CUDA 稳定。如果遇到崩溃或错误,可以尝试回退到 CPU 模式(在配置中将设备设为 cpu)。如果 pyVideoTrans 的预打包版或你的部署方式没有包含 MPS 支持的 PyTorch,你可能需要从源码重新部署,并在 uv sync 或 pip install 时确保安装了正确的 PyTorch 版本。总结:核心是确保 PyTorch 版本支持 MPS 且在 macOS 上可用。配置成功后,CosyVoice 应能自动或通过设置利用 Metal 进行加速。如果遇到问题,请提供终端检查命令的输出和软件日志。

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