logo
0
0
Login

AI 配音工具

这是一个基于 IndexTTS 的 AI 配音工具,支持音频分段配音和直接配音两种模式。

功能特点

  • 分段配音模式

    • 上传音频和字幕文件
    • 根据字幕自动分割音频
    • 为每个片段单独生成配音
    • 支持批量生成和合并
  • 直接配音模式

    • 上传单个音频文件
    • 直接输入要配音的文本
    • 一键生成配音
  • 其他功能

    • 音频缓存管理
    • 实时进度显示
    • 系统资源监控
    • 支持多种音频格式

技术栈

  • 后端

    • Flask (Web 框架)
    • PyTorch (深度学习框架)
    • IndexTTS (TTS 模型)
    • pydub (音频处理)
    • webvtt-py (字幕处理)
  • 前端

    • HTML5
    • JavaScript
    • CSS3

系统要求

  • Python 3.10+
  • CUDA 12.1+
  • FFmpeg
  • Git LFS

安装说明

  1. 克隆仓库:

    git clone [repository_url] cd [project_directory]
  2. 安装依赖:

    pip install -r requirements.txt pip install -r requirements_indextts.txt
  3. 运行应用:

    python app/app.py

Docker 部署

  1. 构建镜像:

    docker build -t ai-dubbing .
  2. 运行容器:

    docker run -p 5000:5000 ai-dubbing

使用说明

分段配音模式

  1. 上传音频文件(支持格式:wav, mp3, ogg, m4a)
  2. 上传字幕文件(支持格式:vtt, srt)
  3. 等待音频分段处理
  4. 选择需要配音的片段
  5. 点击"批量生成"按钮
  6. 生成完成后可以预览或下载

直接配音模式

  1. 上传参考音频文件
  2. 输入要配音的文本
  3. 点击"生成"按钮
  4. 等待生成完成后预览或下载

文件结构

. ├── app/ │ ├── app.py # Flask 应用主文件 │ ├── utils/ # 工具函数 │ │ ├── audio_processor.py # 音频处理 │ │ ├── subtitle_processor.py # 字幕处理 │ │ └── tts_client.py # TTS 客户端 │ ├── static/ # 静态文件 │ └── templates/ # HTML 模板 ├── index-tts/ # IndexTTS 模型 ├── checkpoints/ # 模型检查点 ├── requirements.txt # Python 依赖 └── Dockerfile # Docker 配置

API 接口

POST /api/upload

上传音频和字幕文件

POST /api/generate

生成配音

POST /api/merge

合并音频片段

GET /api/system_status

获取系统状态

POST /api/cleanup_cache

清理缓存文件

注意事项

  • 上传文件大小限制为 16MB
  • 生成音频可能需要一定时间,请耐心等待
  • 建议定期清理缓存以释放存储空间

许可证

[许可证类型]

贡献指南

  1. Fork 项目
  2. 创建特性分支
  3. 提交更改
  4. 推送到分支
  5. 创建 Pull Request

问题反馈

如有问题或建议,请提交 Issue。

About

No description, topics, or website provided.
Language
Python79.5%
JavaScript5.1%
CSS5.1%
Markdown2.7%
Others7.6%