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的支持。

编辑推荐精选

商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

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

AI工具TraeAI IDE协作生产力转型热门
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

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

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

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