Pandrator

Pandrator

AI驱动的多语言语音生成和视频配音工具

Pandrator是一款开源的多语言语音生成工具,支持将文本、PDF、EPUB和SRT文件转换为语音。该工具集成了语音克隆、LLM文本预处理和AI优化功能,可将生成的音频同步到视频中。Pandrator采用图形界面设计,提供一键安装,操作简便。它利用XTTS、Silero等开源模型实现语音合成,并支持RVC语音增强和NISQA质量评估,为语音生成提供全面解决方案。

Pandrator语音合成文本处理音频生成语音克隆Github开源项目
<p align="left"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/5d016cf3-6cc8-49f8-aeab-7ceccc06c2b7.png" alt="图标" width="200" height="200"/> </p>

Pandrator:一个具有语音克隆和AI文本优化功能的GUI有声读物和配音生成器

Pandrator是一款工具,旨在将文本、PDF、EPUB和SRT文件转换成多种语言的语音,基于开源软件,包括语音克隆、基于LLM的文本预处理,以及通过将同步输出与视频原始音轨混合,直接将生成的字幕音频保存到视频文件的功能。它力求易于使用和安装 - 具有一键安装程序和图形用户界面。

它利用XTTSSileroVoiceCraft模型进行文本到语音转换和语音克隆,通过RVC_CLI提高质量和改善语音克隆结果,并使用NISQA进行音频质量评估。此外,它还整合了Text Generation Webui的API用于本地LLM文本预处理,实现音频生成前的广泛文本处理。

该项目仍处于alpha阶段,而且我并不是一个经验丰富的开发者(事实上,我是个新手),所以在优化、功能和可靠性方面,代码还远远不够完善。请记住这一点,如果您想帮助我改进它,欢迎贡献。

UI演示图片

样本

这些样本是使用最小设置生成的 - 没有LLM文本处理、RVC或TTS评估,也没有重新生成句子。XTTS和Silero的生成速度都快于播放速度。

https://github.com/lukaszliniewicz/Pandrator/assets/75737665/76a97cf0-275d-4ea2-868e-95eecdc6f6ce

https://github.com/lukaszliniewicz/Pandrator/assets/75737665/bbb10512-79ed-43ea-bee3-e271b605580e

https://github.com/lukaszliniewicz/Pandrator/assets/75737665/118f5b9c-641b-4edd-8ef6-178dd924a883

要求

硬件

XTTS

我能够在配备Ryzen 5600h和3050笔记本GPU(4GB显存)的笔记本电脑上运行所有功能。您可能需要至少16GB的RAM、一个相当现代的CPU,以及理想情况下4GB+显存的NVIDIA GPU才能获得可用的性能。请参考下列服务的要求。

Silero

Silero在CPU上运行。它应该能在几乎所有相对现代的系统上表现良好。

VoiceCraft

您可以在CPU上运行VoiceCraft,但生成速度会非常慢。要通过GPU(Nvidia)实现有意义的加速,您需要至少8GB显存的GPU。

依赖项

这个项目依赖于几个API和服务(本地运行)以及库,特别是:

必需

可选

安装

最小化一键安装可执行文件(仅限Windows):

以管理员权限运行pandrator_start_minimal_xtts.exepandrator_start_minimal_silero.exepandrator_start_minimal_voicecraft.exe。您可以在Releases中找到它们。这些可执行文件是使用pyinstaller从存储库中的pandrator_start_minimal_xtts.pypandrator_start_minimal_silero.pypandrator_start_minimal_voicecraft.py创建的。

该文件可能会被防病毒软件标记为威胁,因此您可能需要将其添加为例外。 首次使用时,EXE会创建Pandrator文件夹,安装curlgitffmpeg(如果尚未安装,则使用Chocolatey)和Miniconda,克隆XTTS Api Server仓库、Silero Api Server仓库或VoiceCraft API仓库以及Pandrator仓库,创建conda环境,安装依赖项,并启动Pandrator和您选择的服务器。您可以稍后使用EXE来启动Pandrator

如果您想再次执行设置,请删除它创建的Pandrator文件夹。请至少给予几分钟时间让初始设置过程下载模型并安装依赖项(对我来说大约需要7-10分钟)。

对于额外功能:

  • 安装Text Generation Webui,并记得启用API(在启动之前,在Webui主目录的CMD_FLAGS.txt中添加--api)。
  • 设置RVC_CLI以增强生成效果。
  • 设置NISQA API以自动评估生成结果。

请参考Dependencies下链接的仓库获取详细安装说明。请记住,必须运行这些API才能使用它们提供的功能。

手动安装:

  1. 确保Python 3、git、calibre和ffmpeg已安装并添加到PATH中。
  2. 至少安装并运行XTTS API Server、Silero API Server或VoiceCraft API Server中的一个。
  3. 克隆此仓库(git clone https://github.com/lukaszliniewicz/Pandrator.git)。
  4. cd进入仓库目录。
  5. 使用pip install -r requirements.txt安装依赖项。
  6. 运行python pandrator.py

功能

  • 文本预处理: 将文本分割成句子并(尝试)保留段落。支持多种语言的配置文件。
  • LLM文本预处理: 利用本地LLM进行文本校正和增强,最多可连续运行三个不同提示,并有一个评估机制,要求模型执行两次任务并选择更好的回应。我一直在使用openchat-3.5-0106.Q5_K_M.gguf并取得良好效果,也使用过如Mistral 7B Instruct 0.2等模型。不同模型可能在不同任务上表现良好,因此可以为特定提示选择特定模型。
  • 音频生成: 将处理后的文本转换为语音,支持声音克隆和质量增强选项。目前支持.txt.srt.pdf文件。
  • 音频评估: 一项实验性功能,预测生成句子的平均意见得分(MOS),并设置得分阈值或从一组生成结果中选择最佳得分。
  • 生成并添加配音到视频文件: 从字幕文件生成的语音与SRT时间戳同步,可以保存为文件或与视频文件的音轨混合,有效地制作配音。它可以处理生成的语音超出字幕分配时间的情况,并自动纠正同步。可以加快或减慢生成的音频。
  • 会话管理: 支持创建、删除和加载会话,以组织工作流程。
  • GUI: 使用customtkinker构建,提供用户友好的体验。

快速入门指南

演示GIF

基本使用

如果您不想使用额外功能,在会话标签中就有您需要的所有内容。

  1. 创建新会话或加载现有会话(选择Outputs中的文件夹即可)。
  2. 选择您的.txt.srt.pdfepub文件。如果您选择PDF或EPUB文件,将打开一个预览窗口显示提取的文本。您可以编辑它(OCR处理的书籍通常会有识别不佳的标题页文本)。非常大的PDF文件可能需要几分钟才能加载。
  3. 从下拉菜单中选择您想使用的TTS服务器 - XTTS、Silero或VoiceCraft - 以及语言(VoiceCraft目前只支持英语)。
  4. 选择您想使用的声音。
    1. XTTS,声音是存储在tts_voices目录中的短6-12秒.wav文件(22050Hz采样率,单声道)。XTTS模型使用音频来克隆声音。样本使用什么语言并不重要,您将能够生成所有支持语言的语音,但如果您提供目标语言的样本,质量会最好。您可以使用仓库中的样本或上传自己的样本。请确保音频在6到12秒之间,单声道,采样率为22050Hz。您可以使用Audacity等工具准备文件。噪音越少越好。您可以使用Resemble AI等工具在Hugging Face上对样本进行降噪和/或增强。
    2. Silero为其支持的每种语言提供多个声音。它不支持声音克隆。选择语言后,只需从下拉菜单中选择一个声音即可。
    3. VoiceCraft的工作方式类似于XTTS,它从.wav样本中克隆声音。但是,它需要一个格式正确的.wav文件(单声道,16000Hz)和一个包含样本转录内容的.txt文件。这些文件必须具有相同的名称(当然,除了扩展名)。您需要将它们上传到tts_voices/VoiceCraft,然后就可以在GUI中选择它们。目前仅支持英语。如果您第一次使用新声音生成,服务器将执行对齐程序,因此第一个句子的生成会有延迟。再次使用该声音时就不会发生这种情况。
  5. 如果需要,您可以减慢或加快生成的音频(输入或选择比率,例如1.1,比生成的快10%;这对配音特别有用)。
  6. 如果您选择了.srt文件,您将有选项选择一个视频文件及其中一个音轨与同步输出混合,以及是否在播放字幕音频时降低原始音频的音量。
  7. 开始生成。您可以停止并稍后恢复,或关闭程序并稍后加载会话。
  8. 您可以回放生成的句子,也可以作为播放列表播放,编辑它们(用于重新生成的文本),重新生成或删除个别句子。
  9. "保存输出"将到目前为止生成的句子连接起来,并将它们编码为一个文件(默认为64k比特率的.opus;您可以在"音频"标签中更改为.wav.mp3)。

常规音频设置

  1. 您可以更改添加到句子和段落末尾的静音长度。
  2. 您可以启用淡入和淡出效果并设置持续时间。
  3. 您可以选择输出格式和比特率。

通用文本预处理设置

  1. 你可以禁用/启用长句分割,并设置发送给TTS生成的文本片段的最大长度(默认启用;它会尝试分割超过最大长度值的句子;它会寻找标点符号(, ; : -)并选择最接近句子中点的标点;如果没有标点符号,它会寻找像"and"这样的连词);它会执行两次此操作,因为一些句子片段在仅分割一次后可能仍然太长。
  2. 你可以禁用/启用短句附加(附加到前面或后面的句子;默认禁用,可能会改善流畅度,因为发送给模型的文本片段长度更加统一)。
  3. 移除变音符号(当生成包含许多外来词或外国字母音译的文本时很有用,例如日语)。如果你要生成需要变音符号的语言,如德语或波兰语,请不要启用此功能!否则发音会出错。

LLM预处理

  • 启用LLM处理,在将文本发送到TTS API之前使用语言模型进行预处理。例如,你可以要求LLM删除OCR痕迹,拼写出缩写,纠正标点等。
  • 你可以为文本优化定义最多三个提示。每个提示都会单独发送到LLM API,最后一个提示的输出将用于TTS生成。
  • 对于每个提示,你可以启用/禁用它,设置提示文本,选择要使用的LLM模型,以及启用/禁用评估(如果启用,LLM API将为每个提示调用两次,然后再次调用模型以选择更好的结果)。
  • 使用会话选项卡中的"加载LLM模型"按钮加载可用的LLM模型。

RVC质量增强和语音克隆

  • 启用RVC以增强生成的音频质量并应用语音克隆。
  • 使用音频处理选项卡中的"选择RVC模型"和"选择RVC索引"按钮选择RVC模型文件(.pth)和相应的索引文件。
  • 启用RVC后,生成的音频将在保存前使用所选的RVC模型和索引进行处理。

NISQA TTS评估

  • 启用TTS评估以使用NISQA(非侵入式语音质量评估)模型评估生成音频的质量。
  • 设置目标MOS(平均意见得分)值和每个句子的最大尝试次数。
  • 启用TTS评估后,将使用NISQA模型评估生成的音频,并为每个句子选择最佳音频(基于MOS得分)。
  • 如果在最大尝试次数内未达到目标MOS值,将使用迄今为止生成的最佳音频。

贡献

欢迎提出改进建议和报告错误!

提示

  • 你可以在这里找到语音样本集合。它们旨在与ElevenLabs一起使用,因此你需要选取8-12秒的片段,并使用Audacity等工具将其保存为22050khz单声道的.wav文件。
  • 你可以在这里找到RVC模型集合。

待办事项

  • 将所有API服务器添加到安装脚本中。
  • 添加设置导入/导出功能。
  • 添加对文本预处理和TTS生成的专有API支持。
  • 包含PDF的OCR功能。
  • 添加对更高质量本地TTS模型Tortoise的支持。
  • 在GUI中添加录制语音样本并用于TTS的选项。
  • 添加从.srt字幕文件创建配音的工作流程。
  • 包含对PDF文件的支持。
  • 在UI中集成编辑已处理句子的功能。
  • 添加对质量较低但速度更快的本地TTS模型的支持,该模型可以轻松在CPU上运行,如Silero或Piper。
  • 添加对EPUB的支持。

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多