#2216 降噪是用的什么算法? Silero V5还是WebRTC VAD?线程开多少合适?

2409:8a28* Posted at: 3 days ago 👁34

降噪是用的什么算法? Silero V5还是WebRTC VAD?线程开多少合适?

5 Replies

pyVideoTrans 中的降噪功能使用的是 Silero VAD(Voice Activity Detection)算法,主要用于检测语音活动,而非传统的音频降噪。它通过设置阈值来区分人声和背景噪音,从而在语音识别前进行预处理。

关于线程设置:

  1. 默认情况:软件会自动管理线程,通常无需手动调整。
  2. 高级调整:如果您需要手动控制,可以在 菜单 -> 工具 -> 高级选项 中找到相关设置。

    • VAD 参数:您可以调整“语音阈值”(默认0.45)来控制灵敏度。调低更灵敏(可能保留更多噪音),调高更严格。
    • 并发线程:在“配音调整”部分有“同时配音字幕数”控制配音并发。对于语音识别(ASR)本身的线程,通常由 faster-whisper 等后端模型内部管理,不建议直接修改。

建议:除非遇到明显的性能问题(如CPU占用过高或处理速度慢),否则保持默认设置即可。如果是为了提升识别精度,重点应放在调整VAD阈值、选择更合适的ASR模型(如large-v3)上,而非线程数。

选项里面有 降噪/人声分离线程数,这个默认是4,我的是5700x3d,8核16线程CPU,选多少合适?

对于您的 AMD Ryzen 7 5700X3D (8核16线程) CPU,在 pyVideoTrans 中设置 降噪/人声分离线程数 时,建议遵循以下原则:

核心建议:

  1. 初始值: 设置为 8。这通常能充分利用您的物理核心数,在性能和稳定性之间取得良好平衡。
  2. 可尝试值: 如果您追求更快的处理速度且系统内存充足(32GB或以上),可以尝试设置为 1216。但需注意,设置过高可能导致内存占用激增,甚至因资源争用而降低效率或引发不稳定。
  3. 观察调整: 处理一个典型视频时,打开系统任务管理器,观察 CPU 占用率。如果所有核心都能被充分利用(占用率在70%-90%),且软件运行稳定,说明当前线程数设置合理。如果出现卡顿、内存不足或软件崩溃,则应降低线程数。

重要说明:

  • 功能差异: 请注意,软件中的“降噪”主要依赖 Silero VAD 进行语音检测和静音切除,而“人声分离”使用的是 UVR5 或类似模型,后者是计算密集型任务,更能从多线程中受益。
  • 默认值: 默认值 4 是保守设置,以确保在大多数硬件上稳定运行。对于您的8核CPU,提高到 8 是安全的优化。
  • 优先级: 如果同时启用了“降噪”和“人声分离”,线程数设置将对两者生效。人声分离是更耗资源的步骤。

总结:
4 调整为 8 是最直接、安全的优化。 之后可根据实际处理速度和系统资源情况微调。

为什么开启降噪后速度慢很多?一部2小时电影单单降噪这一步骤就有10几20多分钟,有没有什么提速的方法?它不能使用cuda加速吗?

开启降噪后速度显著变慢是正常现象,因为它是一个计算密集型的CPU处理步骤。以下是原因分析和提速方法:

核心原因:

  1. 算法本质:pyVideoTrans 的“降噪”功能主要基于 Silero VAD 进行语音活动检测和静音切除,需要对音频进行逐帧分析,计算量较大。
  2. CPU 绑定:此降噪/VAD处理目前无法使用CUDA加速,因为它依赖的库(如 silero-vad)主要设计为在CPU上运行。
  3. 处理流程:它需要先解码音频,然后对整个音频流应用VAD模型,最后重新编码,对于长视频(如2小时电影)耗时是线性的。

提速方法(按推荐顺序):

1. 调整降噪参数(最有效):

  • 菜单 -> 工具 -> 高级选项 中,找到 VAD 参数 区域。
  • 增大“语音阈值”:默认是 0.45。尝试提高到 0.50.6。这会降低灵敏度,减少被判定为“语音”的帧数,从而减少计算量,但可能会漏掉一些微弱人声。
  • 增大“静音分割持续毫秒”:默认是 140。尝试提高到 200250。这会让系统在更长的静音后才进行切分,减少处理片段数量,加快速度。

2. 优化线程设置(针对您的5700X3D):

  • 高级选项通用设置 区域,找到 降噪/人声分离线程数
  • 对于您的8核16线程CPU,建议设置为 8(充分利用物理核心)。如果内存充足(≥32GB),可尝试 12。设置后观察CPU占用率和稳定性。

3. 评估是否真的需要降噪:

  • 目的:降噪主要用于提升语音识别(ASR)的准确性。如果您的源视频本身人声清晰、背景噪音不大,可以关闭此选项,速度会快非常多。
  • 替代方案:如果背景噪音确实影响识别,可以尝试:

    • 使用更强大的ASR模型(如 faster-whisper-large-v3),其本身抗噪能力较强。
    • 语音识别设置 中,使用 “整体识别” 模式,它内置了VAD,有时效果已足够。

4. 预处理音频(进阶):

  • 使用专业音频软件(如 Audacity、Adobe Audition)对音频源进行批量降噪预处理,导出高质量音频后再用pyVideoTrans处理(仅导入音频或替换原视频音轨)。

总结建议:
对于一部2小时的电影,如果必须使用降噪,请优先调整VAD参数(提高阈值和静音时长),并将线程数设为 8。这应该能显著缩短时间。如果识别准确度可接受,最根本的提速方法还是关闭降噪

如果追求极致速度且需要降噪,目前受限于库本身,无法通过CUDA加速。

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