#2966 AttributeError: module 'torch' has no attribute 'cuda'

188.253* Posted at: 19 days ago 👁88

Traceback (most recent call last):
File "videotrans\util\checkgpu.py", line 14, in run
File "videotrans\util\gpus.py", line 21, in getset_gpu
AttributeError: module 'torch' has no attribute 'cuda'


=
system:Windows-10-10.0.26200-SP0
version:v3.95
frozen:True
language:zh
root_dir:C:/Users/北笙/Downloads/win-pyvideotrans-v3.95

23 Replies

这是由于您的系统未正确安装 CUDA 或 PyTorch 未启用 CUDA 支持导致的。软件在检测 GPU 时发现 torch.cuda 模块不存在。

解决方案:

  1. 确认显卡:确保您的电脑拥有 NVIDIA 显卡。
  2. 安装 CUDA 和 cuDNN

    • 前往 NVIDIA 官网下载并安装 CUDA 12.8
    • 下载对应版本的 cuDNN 9.11 或更高版本,将其文件复制到 CUDA 安装目录下。
    • 详细安装步骤可参考:windows上安装CUDA12.8和cuDNN9.11
  3. 验证安装

    • 打开命令提示符 (CMD),输入 nvcc -V 查看 CUDA 版本。
    • 输入 nvidia-smi 查看显卡驱动和 CUDA 支持情况。
  4. 检查环境变量:确保系统环境变量 Path 中包含了 CUDA 的 binlib 目录路径(例如 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\bin)。
  5. 路径问题:您的软件解压路径 C:/Users/北笙/Downloads/win-pyvideotrans-v3.95 包含中文字符“北笙”。请将整个软件文件夹移动到纯英文、无空格的路径下,例如 D:\pyVideoTrans,然后重新运行 sp.exe

请注意:如果您的显卡是 AMD 或 Intel 集成显卡,则不支持 CUDA 加速,此错误是正常的,软件将仅使用 CPU 运行(速度会很慢)。

请查阅相关文档:

我们的这个工具是不是可以直接实现,原视频(中文)的字幕去除,生成新的字幕(英文)。以及原视频中的音频(中文)变成新视频的音频(英文)。并且还是多角色的配音。因为我是短剧行业的二创。所以会用到多角色的ai配音

是的,pyVideoTrans 的核心功能正是将原视频(中文)的语音识别为字幕,翻译成目标语言(如英文),并生成目标语言的配音(支持多角色),最终合成新的视频。这完全符合您的需求。

实现您需求的步骤:

  1. 添加视频:将您的短剧视频文件拖入软件。
  2. 配置任务

    • 源语言:选择“中文”。
    • 目标语言:选择“英语”。
    • 语音识别渠道:推荐使用本地免费的 faster-whisper(需GPU加速)或在线API(如阿里百炼Qwen3-ASR)以获得准确的中文字幕。
    • 翻译渠道:推荐使用AI大模型(如DeepSeek、GPT-4)以获得高质量的英文字幕。
    • 配音渠道:选择支持多角色的渠道,如 Edge-TTS(免费,内置多个英文角色)、F5-TTSCosyVoice(支持声音克隆,可匹配原视频不同说话人)。
  3. 启用多角色配音

    • 在“配音设置”中,勾选“多角色配音”。
    • 软件会在语音识别阶段尝试分离不同的说话人(需在“高级选项”->“语音识别参数”中开启“说话人分离”)。
    • 识别完成后,您可以在“配音设置”中为每个检测到的说话人(如 spk0, spk1)单独指定不同的配音角色/音色。
  4. 处理与输出:点击“开始翻译”,软件将自动执行:语音识别(生成中文字幕)-> 翻译(生成英文字幕)-> 语音合成(生成英文多角色配音)-> 音画对齐与合成(输出最终视频)。原视频的音频将被新的英文配音替换。

关键优化建议:

  • 硬件:强烈建议使用 NVIDIA 显卡并正确配置 CUDA 以加速处理。
  • 路径:确保视频文件和软件所在路径不含中文或空格(您当前的路径 C:/Users/北笙/... 必须更改)。
  • 对齐:在“高级选项”中开启“二次识别”,可使生成的字幕与配音口型更同步。
  • 试听校对:处理过程中可使用“单视频交互模式”或最终的“配音校对”功能,试听并调整每一句配音。

请查阅相关文档:

我已经更改了文件位置,但是我看没有一个页面是能完成这些所有的功能的吧,是不是需要分布处理,需要先做什么后做什么呢

您观察得很对。pyVideoTrans 的核心设计是“一站式”自动完成整个流程,但所有配置都集成在同一个主界面中,无需您手动分步操作。您只需要在一个页面(主界面)进行正确设置,软件就会自动按顺序执行所有步骤。主界面功能分区与操作流程:上方任务区(添加视频/音频/字幕文件):拖入您的短剧视频。左侧配置面板:源语言:选择“中文”。目标语言:选择“英语”。识别模式:选择您的语音识别渠道(如 faster-whisper)。翻译模式:选择您的翻译渠道(如 DeepSeek)。配音模式:选择您的配音渠道(如 Edge-TTS)并点击其右侧的设置图标,进入配音设置页面。配音设置页面(关键):在此页面勾选“多角色配音”。在“语音识别参数”区域,开启“说话人分离”(选择模型如“简单区分”或更精确的“pyannote”)。识别完成后,回到此页面,为每个检测到的说话人(spk0, spk1...)分配不同的配音角色。底部高级选项:建议开启“二次识别”以获得更好的字幕同步。开始处理:所有设置完成后,回到主界面,直接点击右下角的“开始翻译”按钮。软件将自动按顺序执行:阶段一:语音识别(提取原视频中文音频,生成带说话人标签的中文字幕)。阶段二:字幕翻译(将中文字幕翻译成英文字幕)。阶段三:语音合成(根据英文字幕和您为每个说话人分配的角色,生成多角色英文配音)。阶段四:音画对齐与合成(将新配音与原视频画面合成,输出最终视频)。您无需手动分步执行。软件的逻辑是:您配置好输入(视频)和所有处理参数(识别、翻译、配音),然后它自动运行整个流水线。请查阅相关文档:快速使用入门-pyVideoTrans视频翻译、音频翻译、音视频翻译核心功能多角色配音

dimage
但是主页面没有多角色配音的选项呀

您说得对,主界面确实没有“多角色配音”的直接选项。这个功能需要在配音设置的子页面中开启。操作路径如下:在主界面选择“配音模式”:例如,选择“Edge-TTS”或“F5-TTS”等支持多角色的渠道。点击该渠道右侧的设置图标(通常是一个齿轮或“设置”按钮)。这会打开“配音设置”独立窗口。在“配音设置”窗口中,您会看到“多角色配音”的勾选项,勾选它。同时,在该窗口的“语音识别参数”区域,开启“说话人分离”(例如选择“简单区分”或“pyannote”)。完成视频的语音识别后,再次进入“配音设置”窗口。此时,软件会根据识别结果列出检测到的说话人(如 spk0, spk1...),您可以在这里为每个说话人单独指定不同的配音角色/音色。总结:“多角色配音”不是一个在主界面直接可见的开关,而是配音渠道设置(子页面)中的一个高级功能。 您需要先选择配音渠道,然后进入其设置页面进行配置。请查阅相关文档:多角色配音说话人识别

我已经开启了,但是主页面不显示,他也会按照多角色进行配音吗

是的,只要您在“配音设置”窗口中勾选了“多角色配音”并正确分配了角色,即使主界面不显示,软件也会按照多角色配置进行配音。工作流程验证:添加视频并设置好识别、翻译、配音渠道。进入配音设置,勾选“多角色配音”,开启“说话人分离”。点击主界面“开始翻译”。软件会先执行语音识别。识别完成后,软件会自动将检测到的不同说话人信息传递给后续的配音模块。在生成配音时,软件会调用您在配音设置中为每个说话人指定的角色音色。因此,您无需在主界面看到这个选项,只要在配音设置中配置正确,最终输出就是多角色配音。关键检查点:确保在识别完成后,再次进入“配音设置”窗口,查看是否列出了说话人(如 spk0, spk1)并已为他们分配了不同的音色。如果识别阶段未能成功分离说话人(例如所有语音都被归为 spk0),则多角色配音不会生效。此时需要调整“说话人分离”的参数或更换更精确的模型(如 pyannote)。请查阅相关文档:多角色配音说话人识别

我开启多角色配音在视频翻译的过程中会弹出提示框的对吗

不会。在标准的视频翻译全自动流程中,开启“多角色配音”不会在过程中弹出提示框让您分配角色。自动分配流程:您在“配音设置”中勾选“多角色配音”并开启“说话人分离”。软件执行语音识别,自动区分出不同说话人(如 spk0, spk1)。软件会使用您在“配音设置”中为“默认配音角色”设置的音色,统一应用于所有检测到的说话人。除非您在识别完成后、开始翻译前,手动再次进入“配音设置”窗口,为每个说话人(spk0, spk1...)单独指定不同的音色,否则所有角色将使用同一种声音。如何确保真正的多角色配音:方法一(推荐,批量处理前配置):在添加视频并开始翻译前,先进入“配音设置”。为“默认配音角色”选择一个音色(这将是备用音色)。识别完成后,再次进入“配音设置”,此时应该能看到识别出的说话人列表。手动为每个说话人选择不同的音色。然后开始翻译。方法二(使用单视频交互模式):在主界面,仅选中一个视频文件(不要批量选中多个)。此时,软件会在识别完成后、翻译前,弹出一个“编辑字幕”窗口。在这个窗口中,您可以点击“配音设置”按钮,直接进入设置并为当前识别出的说话人分配不同音色,然后再继续翻译。对于批量处理多个短剧,使用方法一预先配置是最高效的。请查阅相关文档:多角色配音单视频交互模式

没理解你说的方法一是怎么实现的逻辑你说的不通呀,你能再详细讲解一下吗

您指出的对,我的描述存在逻辑矛盾。方法一无法实现,因为在识别完成之前,软件不知道视频中有几个说话人,您无法预先为他们分配音色。正确的操作逻辑只有以下两种:方法一:事后手动分配(适用于批量处理,但需中断)添加所有视频任务,设置好识别、翻译、配音渠道。在“配音设置”中勾选“多角色配音”并开启“说话人分离”。点击“开始翻译”。软件会先对所有视频进行语音识别。识别完成后,软件会暂停并弹出提示吗?不会。它会直接继续执行翻译和配音,此时所有说话人都会使用“默认配音角色”的音色。要实现真正多角色,您必须在识别完成后、配音开始前,手动中断自动流程:识别完成后,停止任务(或等待当前识别完成)。逐个视频进入“配音设置”,此时界面会显示该视频已识别出的说话人(如 spk0, spk1)。为每个说话人选择不同的音色。重新开始翻译任务。方法二:使用单视频交互模式(推荐,可精准控制)不要批量添加多个视频。一次只添加并处理一个视频文件。在“配音设置”中勾选“多角色配音”并开启“说话人分离”。点击“开始翻译”。识别完成后,软件会自动弹出“编辑字幕”窗口。在此窗口中,点击“配音设置”按钮。在弹出的“配音设置”窗口中,您会看到该视频已识别出的说话人列表(如 spk0, spk1)。为每个说话人分配不同的音色。关闭设置窗口,在“编辑字幕”窗口中点击“继续”,软件将使用您刚分配的多角色音色进行后续的翻译和配音。总结:对于短剧二创,如果您追求每个视频都有准确的多角色配音,目前最可靠的方法是使用方法二(单视频交互模式),逐个视频处理。虽然稍慢,但可以在识别后立即分配音色,确保结果。软件没有设计在批量全自动流程中,识别完成后自动暂停让您分配多角色音色的功能。请查阅相关文档:单视频交互模式多角色配音

确定没有吗,你要不再仔细检查下到底支不支持,如果不支持,我也可以分开操作吧,先进行多角色识别,然后选择配音,然后生成音频,然后压缩在一起也可以吧

根据【核心知识库】,确定没有在批量全自动视频翻译流程中,识别完成后自动暂停并弹出界面让用户分配多角色音色的功能。知识库中关于“多角色配音”的说明均指向需要在“配音设置”窗口中手动配置,且“单视频交互模式”是唯一提及会在过程中弹出编辑窗口的模式。您可以采用分开操作的工作流来实现,这完全可行。以下是手动分步操作流程:第一步:语音识别与说话人分离添加视频文件。源语言选择中文。在“识别模式”中选择渠道(如 faster-whisper)。进入“识别模式”右侧的设置(或“高级选项”->“语音识别参数”)。开启“说话人分离”,选择模型(如“简单区分”)。点击“开始识别”。完成后,您会在软件根目录的 _video_out 文件夹(或您设置的输出目录)中找到生成的 .srt 字幕文件。该字幕文件已包含说话人标签(如 [spk0], [spk1])。第二步:翻译字幕在软件主界面,任务类型选择“字幕翻译”。拖入上一步生成的 .srt 文件。目标语言选择英语。选择翻译渠道(如 DeepSeek)。点击“开始翻译”。生成翻译后的英文字幕文件(通常以 _translated.srt 命名)。第三步:多角色配音(核心)在软件主界面,任务类型选择“文字转语音”。拖入翻译后的英文字幕文件(_translated.srt)。选择配音渠道(如 Edge-TTS)。进入该配音渠道的“设置”。勾选“多角色配音”。此时,软件会读取 .srt 文件中的说话人标签([spk0], [spk1])。您需要为每个检测到的说话人(spk0, spk1...)手动分配不同的音色/角色。点击“开始配音”。软件将生成一个包含多角色配音的音频文件(如 .wav.mp3)。第四步:音视频合成(替换音频)使用软件内置的“工具集”:菜单栏 -> 工具 -> 音视频工具 -> 合并音视频。视频文件:选择您的原版短剧视频。音频文件:选择上一步生成的多角色配音音频文件。输出:合成最终的新视频。这个分步流程虽然操作环节多,但让您拥有对每个环节(尤其是角色分配)的完全控制权,结果更可靠。请查阅相关文档:语音转录、语音识别、语音转文字、音视频转文字功能 (第一步)批量翻译SRT字幕 (第二步)批量为字幕配音、语音合成、文字配音 (第三步)批量将视频和音频合并 (第四步)多角色配音

image
这个语音识别我要如何选择模型呢

选择语音识别模型的核心依据是:识别语言对准确率/速度的权衡。根据您的短剧是中文,推荐如下:

首选(推荐)faster-whisper (本地)

  • 模型:选择 large-v3(综合准确率最高,尤其擅长中文)。如果显存不足(<8GB),可降级为 mediumsmall,但准确率会下降。
  • 优点:免费、离线、速度快(需CUDA加速)、中文识别效果好。
  • 设置:确保已安装CUDA并在设置中开启“启用cuda加速”。

备选方案

  1. 阿里 SenseVoice (本地):专为中文优化的开源模型,识别中文效果可能更好。需在“模型”下拉框中选择 SenseVoice 相关模型。
  2. FunASR (本地):另一款优秀的中文语音识别模型。选择 Paraformer-zhCT-Transformer
  3. 在线API(付费,但更准更快)

    • 阿里百炼 Qwen3-ASR:效果极好,按量付费。
    • 字节火山极速版:针对中文长音频优化。
    • OpenAI Whisper API:通用性强。

操作步骤

  1. 在“识别模式”下拉菜单中选择上述渠道之一(如 faster-whisper)。
  2. 点击其右侧的 设置按钮(齿轮图标)。
  3. 在弹出的设置窗口中:

    • 模型:选择具体模型(如 large-v3)。
    • 语言:选择“中文”或“自动检测”。
    • VAD(语音活动检测):推荐开启,选择 ten-vadsilero,能更好切分语句。
    • 说话人分离:如果您需要区分角色,在此处开启并选择模型(如“简单区分”)。
  4. 保存设置。

关键建议

  • 首次使用:先用一个短视频测试 faster-whisper + large-v3 的识别效果。
  • 显存不足:如果报显存错误,在设置中降低 beam_size(如改为1),或改用 int8 量化模型。
  • 角色分离:如果您的短剧角色声音差异明显,“简单区分”可能就够用;如果角色多或声音相似,需使用更复杂的模型(如 pyannote,需配置HuggingFace Token)。

请查阅相关文档:

cuda是什么呢,我要如何查看我的电脑是否有cuda呢

CUDA 是 NVIDIA 显卡专用的并行计算平台和编程模型。简单说,它是让软件(如 pyVideoTrans 的 AI 模型)能使用 NVIDIA 显卡进行高速计算的“驱动程序”。没有它,软件只能使用 CPU 计算,速度会慢几十倍。查看您的电脑是否有 CUDA 及安装状态:检查是否有 NVIDIA 显卡:右键点击桌面“此电脑” -> “管理” -> “设备管理器” -> 展开“显示适配器”。如果列表中包含“NVIDIA”字样的设备,则说明有 NVIDIA 显卡。检查是否已安装 CUDA 工具包:同时按下 Win + R 键,输入 cmd 并按回车,打开命令提示符。在黑色窗口中输入以下命令并按回车:nvcc -V如果已安装 CUDA,会显示版本信息(如 release 12.8)。如果显示“不是内部或外部命令”,则说明未安装 CUDA 或未正确配置环境变量。检查显卡驱动支持的 CUDA 版本:在同一个命令提示符中,输入:nvidia-smi查看输出表格右上角的“CUDA Version”项。例如显示“12.8”,表示您的显卡驱动最高支持 CUDA 12.8。结论与操作:如果 nvcc -V 命令成功且版本为 12.8(或 12.x),说明 CUDA 已正确安装,您只需确保软件解压路径无中文即可。如果 nvcc -V 失败但 nvidia-smi 显示了 CUDA 版本(如 12.8):说明您有 NVIDIA 显卡和驱动,但未安装 CUDA 工具包。您需要去 NVIDIA 官网下载并安装 CUDA 12.8 工具包。如果 nvidia-smi 也失败或显示“不是内部或外部命令”:可能没有 NVIDIA 显卡,或显卡驱动未安装。请先安装显卡驱动。对于短剧处理,强烈建议安装 CUDA 以大幅提升处理速度。请查阅相关文档:windows上安装CUDA12.8和cuDNN9.11

ni'kanimage
你看下我图片这个是不是没有显卡呀

根据您提供的图片,您的“显示适配器”下只有“Intel(R) UHD Graphics”。这表示您的电脑没有独立的 NVIDIA 显卡,使用的是 Intel 集成显卡。结论:您的电脑没有 NVIDIA 显卡,因此无法安装和使用 CUDA 进行 GPU 加速。影响:pyVideoTrans 中的本地 AI 模型(如 faster-whisper、SenseVoice)将只能使用 CPU 进行计算。处理速度会非常慢,尤其是对于长视频。解决方案:使用在线 API 服务:将“语音识别渠道”切换为在线 API(如 阿里百炼 Qwen3-ASR、字节火山极速版)。虽然需要付费,但速度和准确率远高于 CPU 本地识别。将“翻译渠道”和“配音渠道”也优先选择在线服务(如 DeepSeek、Edge-TTS)。这能最大程度弥补没有 GPU 的劣势。降低本地模型要求:如果坚持使用本地识别,必须在“识别模式”设置中选择最小的模型(如 faster-whisper 的 tiny 或 base 模型),并关闭所有高级功能(如说话人分离),以勉强运行。考虑硬件升级:如果需要进行大量视频处理,长期来看,添置一台配备 NVIDIA 显卡(建议 RTX 4060 8G 或以上)的电脑是性价比最高的选择。请查阅相关文档:常见错误与解决方法 (关于硬件部分)阿里百炼大模型集市 (在线API示例)

那你能教我如何使用api的工具吗

有没有文档教学api接入呢

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.

Related resource