SoniTranslate
综合介绍
SoniTranslate 是一个功能强大的开源应用程序,主要用于视频的自动化翻译和配音。它将语音识别(ASR)、机器翻译和语音合成(TTS)技术结合起来,实现将视频中的原始语音翻译成另一种语言,并生成与口型基本同步的新配音。这个工具通过一个基于 Gradio 库构建的网页界面进行操作,用户体验直观。除了核心的翻译配音功能,SoniTranslate 还支持声音克隆,能够模仿原视频说话者的声音或任何你提供的音频样本来生成配音,这让翻译后的视频听起来更自然。它还提供多种高级功能,例如,它可以从PDF文档创建有声视频书,支持批量处理,并能生成多种格式的字幕文件。对于需要将视频内容本地化和国际化的创作者来说,这是一个非常实用的工具。
功能列表
- 视频翻译与配音:自动识别视频中的语音,将其翻译成多种目标语言,并生成同步的配音。
- 多语言支持:支持包括中文、英语、法语、德语、日语等数十种主流语言的翻译。
- 声音克隆与模仿:集成了多种语音模型(如 Coqui XTTS, OpenVoiceV2),仅需一小段音频剪辑即可克隆声音,用于生成配音。
- 语音分离:能够将视频中的人声与背景音乐分离,方便单独处理人声。
- 字幕生成:支持生成多种格式的字幕文件(如 SRT、ASS),并可将字幕嵌入视频中。
- 批量处理:支持同时处理多个视频文件、整个目录或YouTube播放列表。
- 多种TTS引擎:集成了多种文本转语音(TTS)引擎,如 Coqui XTTS、Piper-TTS,并支持使用 OpenAI 的 TTS API。
- PDF转视频书:可以将PDF文档转换成带配音的视频,实现“听书”功能。
- 灵活的运行模式:支持使用GPU进行加速,也提供了仅使用CPU的模式,降低了硬件门槛。
- 手动编辑:允许用户在生成最终版本前,手动编辑和校对翻译后的字幕文本。
使用帮助
SoniTranslate 提供两种主要的使用方式:通过 Google Colab 在线运行,或者在本地计算机上进行安装部署。本地安装相对复杂,但提供了更高的自定义性和性能。
准备工作(本地安装)
在开始本地安装之前,你需要完成以下准备步骤,这对于确保软件成功运行至关重要。
- 安装NVIDIA驱动:为了使用GPU加速,你需要安装支持
CUDA 11.8.0
的NVIDIA显卡驱动。你可以从 NVIDIA官方网站 找到适合你显卡的驱动程序。 - 同意Pyannote许可:SoniTranslate 使用
pyannote
模型进行说话人分离。你需要访问 Hugging Face 的 pyannote/speaker-diarization 和 pyannote/segmentation 页面,登录你的Hugging Face账户并同意模型的使用条款。 - 创建Hugging Face令牌:为了能自动下载所需的模型,你需要一个Hugging Face的访问令牌。在你的Hugging Face账户“Settings” -> “Access Tokens”页面创建一个新的令牌。请确保在创建时授予该令牌**“Read”**权限。
- 安装Anaconda/Miniconda:Anaconda 是一个流行的Python环境管理工具。请从官方网站下载并安装。
- 安装Git:Git 是一个版本控制系统,用于从GitHub克隆代码仓库。你可以通过在终端中运行
conda install -c anaconda git -y
来安装。
本地安装与运行流程
- 创建并激活Conda环境首先,创建一个独立的Python 3.10环境,以避免与其他项目产生依赖冲突。
conda create -n sonitr python=3.10 -y conda activate sonitr
接下来,安装核心的深度学习框架 PyTorch,指定CUDA版本为11.8。
python -m pip install pip==23.1.2 conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
- 克隆代码仓库使用Git将SoniTranslate的源代码克隆到你的本地计算机。
git clone https://github.com/R3gm/SoniTranslate.git cd SoniTranslate
- 安装依赖包SoniTranslate的依赖项分为基础包和额外功能包。
pip install -r requirements_base.txt -v pip install -r requirements_extra.txt -v pip install onnxruntime-gpu
- 安装FFmpegFFmpeg是处理音视频文件的核心工具。推荐使用conda安装。
conda install -y ffmpeg ``` 安装后,可以在终端输入 `ffmpeg -h` 进行测试,如果没有报错则表示安装成功。
- 设置环境变量为了让程序能够访问Hugging Face,需要将你的令牌设置为环境变量。在Linux或macOS下,可以临时设置:
export YOUR_HF_TOKEN="你的HUGGING_FACE_TOKEN"
如果你想永久设置(推荐),可以使用以下命令将其保存在Conda环境中:
conda env config vars set YOUR_HF_TOKEN="你的HUGGING_FACE_TOKEN"
设置后需要重新激活环境
conda activate sonitr
。 - 运行程序一切准备就绪后,运行主程序脚本。
python app_rvc.py
程序启动后,你会在终端看到一个本地网址,通常是
http://127.0.0.1:7860
。在浏览器中打开此网址即可访问SoniTranslate的操作界面。
如何操作
- 上传视频或输入URL:在界面顶部,你可以选择上传本地视频文件,或者直接粘贴视频的URL(例如YouTube链接)。
- 选择任务和语言:
- Source Language:选择视频的原始语言。如果选择
auto-detect
,系统会自动检测。 - Target Language:选择你想要翻译成的目标语言。
- Source Language:选择视频的原始语言。如果选择
- 配置翻译和语音:
- Translate Service:选择翻译服务,例如Google、DeepL或OpenAI API。
- TTS Service:选择文本转语音服务,例如
edge-tts
(免费)或更高级的Coqui XTTS
(用于声音克隆)。
- 声音克隆(可选):
- 如果你想让配音模仿某个人的声音,选择
Coqui XTTS
作为TTS服务。 - 上传一个时长至少6秒的清晰人声音频文件(WAV或MP3格式)到“Voice/Audio Reference”区域。
- 如果你想让配音模仿某个人的声音,选择
- 开始处理:点击“Translate”按钮开始处理任务。处理过程会在界面上显示日志,所需时间取决于视频长度和你的硬件性能。
- 下载结果:处理完成后,你可以在界面右侧的输出区域预览结果,并下载生成的配音视频、纯音频文件或字幕文件。
应用场景
- 视频内容创作者YouTube博主、在线课程讲师等内容创作者可以使用SoniTranslate快速为自己的视频制作多语言版本,吸引全球观众,扩大影响力,而无需雇佣专业的配音演员。
- 语言学习者学习外语的人可以利用这个工具将自己感兴趣的母语视频翻译成目标学习语言,通过观看带配音和字幕的视频来锻炼听力和理解能力,使学习过程更具趣味性。
- 企业与教育机构企业在进行跨国业务时,需要将产品介绍、内部培训等视频本地化。教育机构也可以用它来翻译优秀的海外公开课或学术讲座,促进知识的传播与交流。
- 无障碍访问通过生成准确的字幕,SoniTranslate可以帮助听力障碍人士更好地理解视频内容。同时,其PDF转有声视频书的功能也为视力障碍者提供了“听书”的便利。
QA
- 什么是SoniTranslate?SoniTranslate是一个开源的桌面应用软件,它能自动翻译视频中的语音,并生成与口型同步的配音和字幕。它集成了语音识别、机器翻译和语音合成等多种技术,并支持声音克隆。
- 使用SoniTranslate需要付费吗?SoniTranslate软件本身是免费且开源的,你可以自由下载和使用。但它依赖的一些第三方服务可能会产生费用,例如,如果你选择使用OpenAI的API进行翻译或语音合成,你需要支付相应的API调用费用。
- 我需要一台性能很强的电脑才能运行它吗?为了获得最佳性能和最快的处理速度,推荐使用配备NVIDIA显卡(GPU)的电脑。但是,SoniTranslate也提供了一个
--cpu_mode
选项,允许程序在没有独立显卡的普通电脑上运行,只是处理速度会慢很多。 - SoniTranslate支持哪些语言?它支持数十种语言的互译,包括但不限于英语、中文(简体和繁体)、西班牙语、法语、德语、日语、韩语、俄语等。详细的语言支持列表可以在其GitHub项目页面找到。
- 声音克隆的效果好吗?声音克隆的效果很大程度上取决于你提供的参考音频质量。使用一段至少6秒钟、背景干净、没有杂音的清晰人声音频,可以获得非常相似和自然的声音模仿效果。