#2397 Generating audio for text: '你好啊我的朋友,希望你今天开心!...'inputs:(1, 77568)inputs after padding:(1, 77568)Traceback (most recent c

2406:da18* Posted at: 2 hours ago 👁8

Generating audio for text: '你好啊我的朋友,希望你今天开心!...'
inputs:(1, 77568)
inputs after padding:(1, 77568)
Traceback (most recent call last):
File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/torchaudio/_torchcodec.py", line 82, in load_with_torchcodec

from torchcodec.decoders import AudioDecoder

ModuleNotFoundError: No module named 'torchcodec'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/voxcpm/zipenhancer.py", line 67, in enhance

self._normalize_loudness(output_path)

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/voxcpm/zipenhancer.py", line 38, in _normalize_loudness

audio, sr = torchaudio.load(wav_path)
            ^^^^^^^^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/torchaudio/__init__.py", line 86, in load

return load_with_torchcodec(
       ^^^^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/torchaudio/_torchcodec.py", line 84, in load_with_torchcodec

raise ImportError(

ImportError: TorchCodec is required for load_with_torchcodec. Please install torchcodec to use this function.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/gradio/queueing.py", line 759, in process_events

response = await route_utils.call_process_api(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/gradio/route_utils.py", line 354, in call_process_api

output = await app.get_blocks().process_api(
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/gradio/blocks.py", line 2191, in process_api

result = await self.call_function(
         ^^^^^^^^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/gradio/blocks.py", line 1698, in call_function

prediction = await anyio.to_thread.run_sync(  # type: ignore
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/anyio/to_thread.py", line 61, in run_sync

return await get_async_backend().run_sync_in_worker_thread(
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 2525, in run_sync_in_worker_thread

return await future
       ^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run

result = context.run(func, *args)
         ^^^^^^^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/gradio/utils.py", line 915, in wrapper

response = f(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/video/VoxCPM/app.py", line 102, in generate_tts_audio

wav = current_model.generate(
      ^^^^^^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/voxcpm/core.py", line 130, in generate

return next(self._generate(*args, streaming=False, **kwargs))
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/voxcpm/core.py", line 196, in _generate

self.denoiser.enhance(prompt_wav_path, output_path=temp_prompt_wav_path)

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/voxcpm/zipenhancer.py", line 76, in enhance

raise RuntimeError(f"Audio denoising processing failed: {e}")

RuntimeError: Audio denoising processing failed: TorchCodec is required for load_with_torchcodec. Please install torchcodec to use this function.

3 Replies

您在使用 VoxCPM 语音克隆功能时遇到了 torchcodec 模块缺失的错误。该错误表明您的环境中缺少 torchcodec 库,导致音频后处理(降噪/增强)步骤失败。

解决方法:

  1. 激活您的 VoxCPM 环境(如果您使用了 conda 环境,例如名为 voxcpm):

    conda activate voxcpm
  2. 安装 torchcodec
    使用 pip 安装 torchcodec 库。由于这是一个与 PyTorch 和 CUDA 版本强相关的库,建议使用官方推荐的安装命令:

    pip install torchcodec

    如果上述命令失败或速度慢,可以尝试从 PyTorch 官方渠道安装(请根据您的 PyTorch 和 CUDA 版本调整):

    pip install torchaudio[codec]  # 这通常会安装包含 codec 的 torchaudio 版本

    或者,直接安装预编译的 wheel(如果您的环境与发布版本匹配):

    pip install torchcodec --index-url https://download.pytorch.org/whl/cu118  # 示例为 CUDA 11.8
  3. 验证安装
    安装完成后,在 Python 环境中运行以下命令验证:

    import torchcodec
    print(torchcodec.__version__)

    如果没有报错,说明安装成功。

  4. 重启 pyVideoTrans
    关闭 pyVideoTrans 软件,然后重新启动,再次尝试使用 VoxCPM 进行语音克隆。

如果问题依旧
请检查您的 PyTorch 和 CUDA 版本是否与 torchcodec 兼容。您可以在 VoxCPM 环境中运行 pip list | grep torch 查看已安装的版本,并参考 PyTorch 官方文档进行版本匹配。

请查看更多参考文档:

Generating audio for text: '你好啊我的朋友,希望你今天开心!...'
inputs:(1, 77568)
inputs after padding:(1, 77568)
Traceback (most recent call last):
File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/voxcpm/zipenhancer.py", line 67, in enhance

self._normalize_loudness(output_path)

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/voxcpm/zipenhancer.py", line 38, in _normalize_loudness

audio, sr = torchaudio.load(wav_path)
            ^^^^^^^^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/torchaudio/__init__.py", line 86, in load

return load_with_torchcodec(
       ^^^^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/torchaudio/_torchcodec.py", line 82, in load_with_torchcodec

from torchcodec.decoders import AudioDecoder

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/torchcod
......
^^^^^^^^^^^^^
File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 2525, in run_sync_in_worker_thread

return await future
       ^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 986, in run

result = context.run(func, *args)
         ^^^^^^^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/gradio/utils.py", line 915, in wrapper

response = f(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/video/VoxCPM/app.py", line 102, in generate_tts_audio

wav = current_model.generate(
      ^^^^^^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/voxcpm/core.py", line 130, in generate

return next(self._generate(*args, streaming=False, **kwargs))
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/voxcpm/core.py", line 196, in _generate

self.denoiser.enhance(prompt_wav_path, output_path=temp_prompt_wav_path)

File "/Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/voxcpm/zipenhancer.py", line 76, in enhance

raise RuntimeError(f"Audio denoising processing failed: {e}")

RuntimeError: Audio denoising processing failed: Could not load libtorchcodec. Likely causes:

      1. FFmpeg is not properly installed in your environment. We support
         versions 4, 5, 6, 7, and 8. On Windows, ensure you've installed
         the "full-shared" version which ships DLLs.
      2. The PyTorch version (2.9.1) is not compatible with
         this version of TorchCodec. Refer to the version compatibility
         table:
         https://github.com/pytorch/torchcodec?tab=readme-ov-file#installing-torchcodec.
      3. Another runtime dependency; see exceptions below.
    The following exceptions were raised as we tried to load libtorchcodec:
    

[start of libtorchcodec loading traceback]
FFmpeg version 8: Could not load this library: /Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/torchcodec/libtorchcodec_core8.dylib
FFmpeg version 7: Could not load this library: /Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/torchcodec/libtorchcodec_core7.dylib
FFmpeg version 6: Could not load this library: /Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/torchcodec/libtorchcodec_core6.dylib
FFmpeg version 5: Could not load this library: /Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/torchcodec/libtorchcodec_core5.dylib
FFmpeg version 4: Could not load this library: /Volumes/Ventoy/opt/miniconda3/envs/voxcpm/lib/python3.11/site-packages/torchcodec/libtorchcodec_core4.dylib
[end of libtorchcodec loading traceback].

您的问题已从“缺少 torchcodec 模块”变为“torchcodec 库加载失败”,核心原因是 FFmpeg 未正确安装或版本不兼容。根据错误提示,torchcodec 需要 FFmpeg 4-8 版本,且您的环境中可能未安装或安装的 FFmpeg 版本不完整(缺少动态库)。

解决方案:

  1. 激活您的 VoxCPM 环境(如果您使用了 conda 环境,例如名为 voxcpm):

    conda activate voxcpm
  2. 检查并安装/更新 FFmpeg

    • 检查现有版本:在激活的环境中运行 ffmpeg -version,查看是否已安装以及版本号。
    • 安装/更新 FFmpeg

      • 使用 conda 安装(推荐,便于环境管理)

        conda install ffmpeg -c conda-forge
      • 使用 Homebrew 安装(macOS)

        brew install ffmpeg
      • 使用系统包管理器(Linux)

        sudo apt update && sudo apt install ffmpeg  # Ubuntu/Debian
        # 或
        sudo yum install ffmpeg  # CentOS/RHEL
    • 关键点:确保安装的是 完整版(full/shared),而非仅包含可执行文件的最小版。Conda-forge 或 Homebrew 提供的版本通常是完整的。
  3. 验证 FFmpeg 安装
    安装后,再次运行 ffmpeg -version,确认版本在 4-8 之间,并检查输出中是否包含 --enable-shared 或类似字样,表明动态库已启用。
  4. 重启 pyVideoTrans
    关闭 pyVideoTrans 软件,然后重新启动,再次尝试使用 VoxCPM 进行语音克隆。

如果问题依旧

  • 检查 PyTorch 与 torchcodec 版本兼容性:错误提示您的 PyTorch 版本为 2.9.1。请访问 torchcodec 版本兼容表 确认 2.9.1 是否被支持。如果不支持,您可能需要降级 PyTorch 或升级 torchcodec。
  • 手动链接 FFmpeg 库(高级):如果 FFmpeg 已安装但 torchcodec 仍找不到,可能需要设置环境变量 LD_LIBRARY_PATH(Linux/macOS)或 PATH(Windows)指向 FFmpeg 的 lib 目录。
  • 提供完整日志:如果以上步骤均无效,请提供 pyvideotrans/logs/ 目录下的最新日志文件,以便进一步分析。

请查看更多参考文档:

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