Skip to content

YouDub是一个开源工具,旨在自动化地将优质的YouTube视频进行翻译和配音,以便将其搬运到中文互联网上。该工具使用了AI语音识别技术将音频转换为文本,然后通过大语言模型将文本翻译成中文,最后通过AI声音克隆技术将中文转换为音频。这样,我们就可以创建出具有原始YouTuber音色的中文配音视频。

License

Notifications You must be signed in to change notification settings

liuzhao1225/YouDub

Repository files navigation

YouDub: 优质视频中文化工具

请移步 YouDub-webui

请移步 YouDub-webui

请移步 YouDub-webui

目录

简介

YouDub 是一个创新的开源工具,专注于将 YouTube 等平台的优质视频翻译和配音为中文版本。此工具融合了先进的 AI 技术,包括语音识别、大型语言模型翻译以及 AI 声音克隆技术,为中文用户提供具有原始 YouTuber 音色的中文配音视频。更多示例和信息,欢迎访问我的bilibili视频主页。你也可以加入我们的微信群,扫描下方的二维码即可。

主要特点

  • AI 语音识别:有效转换视频中的语音为文字。
  • 大型语言模型翻译:快速且精准地将文本翻译成中文。
  • AI 声音克隆:生成与原视频配音相似的中文语音。
  • 视频处理:集成的功能实现音视频的同步处理。

安装与使用指南

  1. 克隆仓库

    git clone https://github.com/liuzhao1225/YouDub.git
  2. 安装依赖: 进入 YouDub 目录并安装所需依赖:

    cd YouDub
    pip install -r requirements.txt

    如果出现 paddlespeech 相关的依赖错误,可以访问 PaddleSpeech 官方网站 获取安装指南。

    默认安装为 CPU 版本的 PyTorch 如果你需要手动安装特定 CUDA 版本的 PyTorch,可以参考以下步骤: 首先,根据你的环境和 PyTorch 的版本,从 PyTorch 官方网站 获取适用的安装命令。例如,如果你的 CUDA 版本是 11.8,你可以使用如下命令安装 PyTorch:

    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
  3. 环境设置

    在运行程序之前,需要进行以下环境设置:

    环境变量配置:将 .env.example 文件改名为 .env,并填入相应的环境变量。以下是需要配置的环境变量:

    • OPENAI_API_KEY: OpenAI API 的密钥,一般格式为 sk-xxx
    • MODEL_NAME: 使用的模型名称,如 'gpt-4' 或 'gpt-3.5-turbo'。对于翻译任务,使用 'gpt-3.5-turbo'足够了。'gpt-4'太贵了,一天干了我一百多刀。
    • OPENAI_API_BASE: 如果你使用的是 OpenAI 官方的 API,可以将此项留空。如果你有自己部署的支持 OpenAI API 的大模型,可以填入相应的 OpenAI API 访问的 base_url。
    • HF_TOKEN: 如果使用 speaker diarization 功能,需要提供你的 Hugging Face token,并同意 pyannote's speaker diarization agreementHF_TOKEN 可以在 Hugging Face 设置 中获取。
    • APPIDACCESS_TOKEN: 如果使用火山引擎的 TTS,需要提供火山引擎的 APPID 和 ACCESS_TOKEN,此项可能需要付费。

    TTS 设置:如果不希望使用付费的火山引擎 TTS,可以在 main.py 中将 from youdub.tts_bytedance import TTS_Clone 改为 from youdub.tts_paddle import TTS_Clone,但这可能会影响生成效果。

  4. 运行程序: 使用以下命令启动主程序:

    python main.py --input_folders /path/to/input1 /path/to/input2 --output_folders /path/to/output1 /path/to/output2 --diarize
    

    这个命令将会处理在/path/to/input1/path/to/input2路径下的视频文件,并将处理后的视频文件存储在/path/to/output1/path/to/output2路径下。--diarize选项可以开启视频文件的声纹分割功能。

    请注意,--input_folders--output_folders参数都接受多个文件夹路径,每个路径之间用空格隔开。同时,输入文件夹和输出文件夹的数量必须相同,否则程序会报错。

    例如,如果你有两个输入文件夹和两个输出文件夹,你可以这样运行程序:

    python main.py --input_folders /path/to/input1 /path/to/input2 --output_folders /path/to/output1 /path/to/output2
    

    如果你只有一个输入文件夹和一个输出文件夹,你可以这样运行程序:

    python main.py --input_folders /path/to/input --output_folders /path/to/output
    

    如果你想在处理视频文件时开启声纹分割功能,你可以添加--diarize选项:

    python main.py --input_folders /path/to/input --output_folders /path/to/output --diarize
    

    如果在从 huggingface 下载模型时报错,你可以在 .env 文件中添加:

    HF_ENDPOINT=https://hf-mirror.com
    

使用步骤

  • 准备需要翻译的视频文件并放置于输入文件夹。
  • 指定输出文件夹以接收处理后的视频。
  • 系统将自动进行语音识别、翻译、声音克隆和视频处理。

技术细节

AI 语音识别

目前,我们的 AI 语音识别功能是基于 Whisper 实现的。Whisper 是 OpenAI 开发的一款强大的语音识别系统,能够精确地将语音转换为文本。考虑到未来的效率和性能提升,我们计划评估并可能迁移到 WhisperX,这是一个更高效的语音识别系统,旨在进一步提高处理速度和准确度。

大型语言模型翻译

我们的翻译功能支持使用 OpenAI API 提供的各种模型,包括官方的 GPT 模型。此外,我们也在探索使用类似 api-for-open-llm 这样的项目,以便更灵活地整合和利用不同的大型语言模型进行翻译工作。

AI 声音克隆

声音克隆方面,我们目前使用的是 Paddle Speech。虽然 Paddle Speech 提供了高质量的语音合成能力,但目前尚无法在同一句话中同时生成中文和英文。在此之前,我们也考虑过使用 Coqui AI TTS,它能够进行高效的声音克隆,但同样面临一些限制。

视频处理

我们的视频处理功能强调音视频的同步处理,例如确保音频与视频画面的完美对齐,以及生成准确的字幕,从而为用户提供一个无缝的观看体验。

贡献指南

欢迎对 YouDub 进行贡献。您可以通过 GitHub Issue 或 Pull Request 提交改进建议或报告问题。

许可协议

YouDub 遵循 Apache License 2.0。使用本工具时,请确保遵守相关的法律和规定,包括版权法、数据保护法和隐私法。未经原始内容创作者和/或版权所有者许可,请勿使用此工具。

支持与联系方式

如需帮助或有任何疑问,请通过 GitHub Issues 联系我们。你也可以加入我们的微信群,扫描下方的二维码即可: WeChat Group

About

YouDub是一个开源工具,旨在自动化地将优质的YouTube视频进行翻译和配音,以便将其搬运到中文互联网上。该工具使用了AI语音识别技术将音频转换为文本,然后通过大语言模型将文本翻译成中文,最后通过AI声音克隆技术将中文转换为音频。这样,我们就可以创建出具有原始YouTuber音色的中文配音视频。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published