Skip to content

Releases: TCBOMC/audio-book-TTS-tool

4.2.8.1

17 Dec 08:02
b69e5f0
Compare
Choose a tag to compare

1.适配了腾讯API
2.将设置窗口中自定义预设中“创建”按钮改为了“保存”按钮

4.2.7.9

09 Dec 08:13
ff31a1a
Compare
Choose a tag to compare

1.为测试大模型窗口内的AI回答添加markdown格式的显示支持(部分格式受限显示方法暂无法支持)
2.修改选项卡2的“更多”AI模式,在此模式下会隐藏不生效的控件

4.2.7.8

08 Dec 16:10
7c8a9be
Compare
Choose a tag to compare

修复了创建新项目或进入没有已分完角色的章节的项目时选项卡3的内容没有被刷新的问题,修复了程序启动时最新的项目没有已分完角色的章节时会导致报错程序启动不了的问题

4.2.7.7

05 Dec 18:08
8b56f7f
Compare
Choose a tag to compare

修复选项卡3自动填充错误的BUG,增加选项卡4的自动填充功能,修复了其他BUG

4.2.7.4

28 Nov 14:44
c270cdf
Compare
Choose a tag to compare

用AI辅助编写了一个程序接入的B站这位UP@白菜工厂1145号员工 制作的整合包中的API

该位UP的教程(其中包含相关模型下载): https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e

预先要部署在本地的GPT-SoVITS整合包:BV1F94y1K724

启动GPT-SoVITS

屏幕截图 2024-12-01 011338

1.下载整合包后解压得到上图目录,将下载的模型依次放入上图中标注的文件夹之后双击go-webui.bat文件启动WebUI

2.启动WebUI默认浏览器应该会打开如下图中的网页,依次点击图中标注的三个按钮以打开tts推理功能,此时注意go-webui.bat打开的控制台的信息,如果报错点击按钮③关闭TTS推理WebUI后再打开应该就好了

屏幕截图 2024-12-01 012615

3.TTS推理WebUI页面在浏览器中弹出说明推理功能启动正常,此页面对本程序无用,不用管,这时只需开启本程序即可正常使用

屏幕截图 2024-12-01 013943

——————————分割线——————————

选项卡1

屏幕截图 2024-11-28 192050

在此选项卡管理所有的项目,设置基本配置以及测试API,注意,删除项目时只会在程序的项目列表中删除对应项目的选项,不会删除项目对应的文件

——————————分割线——————————

设置窗口

屏幕截图 2024-11-28 192132

点击选项卡1设置按钮将会弹出此设置窗口,在窗口左侧依次设置各API的配置,目前语音合成仅支持本地部署的“GPT-SoVITS”,文章标注仅支持“百度”,“KIMI”,“阿里”和其他类似“KIMI”和“阿里”这样使用OpenAI标准的API。右侧为添加角色列表的路径,建议按下载的模型链接中每个游戏添加一个路径(记得把每个角色的模型放到GPT-SoVITS整合包里对应的目录,其中.ckpt文件放到整合包根目录下GPT_weights_v2文件夹,.pth文件放到整合包根目录下SoVITS_weights_v2文件夹),如果要自定义配置请在每个路径下以各角色名称命名文件夹并如下图放置各角色文件夹内的相关文件。

屏幕截图 2024-11-28 194516

1.其中参考音频是必须的,至少要有一个,建议将首选参考音频放在文件夹根目录,其他可选参考音频放在子文件夹中,这样程序在选择角色时会首选放在根目录下的参考音频。

2.角色头像文件可添加也可以不添加,程序会首选其中的avatar.png图片作为头像,不存在的话会首选其中比例最接近正方形的图片。

3.其中的.json文件是角色的配置文件,你可以使用程序中的选项卡4来快捷创建也可以按下图中的示例手写添加

屏幕截图 2024-11-28 195246

——————————分割线——————————

测试大模型窗口

屏幕截图 2024-11-28 192936

点击选项卡1测试大模型按钮将会弹出此测试大模型窗口,在这里可选择不同API测试工作是否正常

——————————分割线——————————

测试GPT-SoVITS窗口

屏幕截图 2024-11-28 192452

点击选项卡1测试GPT-SoVITS按钮将会弹出此测试GPT-SoVITS窗口,在这里测试GPT-SoVITS的API是否工作正常,相比旧版本在右上角添加了选择角色和配置的功能以及更加完善的自动填充功能,只要选择了角色或配置就可以自动填充除“输出目录”和“文件名前缀”外的所有配置(注意:如果模型选项没有自动填充说明你可能没把角色的模型放到GPT-SoVITS整合包内的对应目录或模型名称与角色名称不匹配)

——————————分割线——————————

选项卡2

屏幕截图 2024-11-28 192534

点击选项卡1创建项目/进入项目按钮或窗口顶部标签可进入选项卡2

1.左侧文本框会自动填充此项目在选项卡1中选择的文档内容

2.在右侧顶部选择章节及对当前选择的章节的处理,如果勾选显示已标记内容复选框则会尝试显示工作文件夹内Chapters_marked文件夹内对应章节被标记过的内容

3.被框住的内容为自定义设置,只要之前正常设置了“百度”的API这里就可以不进行任何修改,程序会自动根据文章内容进行设置,如果不懂可以直接点击窗口右下角的一键处理按钮直接自动完成本选项卡的所有工作之后去选项卡3继续处理后面的工作,如果需要自定义设置则请按接下来的说明进行设置

4.被框住的滚动区域的第一栏为格式转换,中文格式小说建议勾选1,3,4日本轻小说格式建议勾选3,4程序会自动判断,如果没有问题就不建议修改

5.被框住的滚动区域的第二栏为自动分章,可自动识别以下八种章节标号并按对应的标号进行分章以及可设置几个章节一切

可识别的章节标号格式:“第一章”,“第一话”,“第1章”,“第1话”,“第01章”,“第01话”,“第001章”,“第001话”

可识别的章节数量为999章以内,如果识别错误可手动选择分章方法或自定义分章方法

选择“自定义”选项后会弹出一个文本框,鼠标悬停在文本框上可显示使用方法

    1.在章节标签内用[汉字数字][数字][二位数字][三位数字]替换数字
    
    2.用*号替换多个章节标签之间的内容(内容相同可以不替换)
    
程序会依次识别出文本框内的各章节标号并依次逐级分章,使用此模式不建议小说内容超过200万字否则大概率闪退,如果闪退可以多试几次,有成功的可能
以下为使用“第[汉字数字]篇*第[汉字数字]章”作为自定义章节标号对某小说进行分章的结果(分出来600多章截不全)

屏幕截图 2024-11-28 205348

6.被框住的滚动区域的第三栏为角色标注

1.选择API选项为选择标注角色所要使用的API,除了预设的API外在设置窗口的自定义选项卡中自定义的API配置也会添加到此下拉栏中。选择**更多**选项后会弹出一个按钮和一个文本框,鼠标放在文本框上会提示使用方法。
2.第二个选项为选择标注比例阈值,每个分段达到阈值就继续标注,达不到就重试。
3.最大重试次数设定达不到阈值时的最大重试次数,达到最大重试次数后从先前所有重试的结果中选择比例最高的作为最终结果。
4.单轮最大字数为设置每次发送给API的最大字数超过就在超过字数的行之前分段发送给API。
5.分句符要确保文中没有这个符号。
6.不在同一段内添加分句符复选框勾选后可在后续的语音合成环节提高段落一致性和合成速度,但勾选后一定要确保有长短落文本的角色的配置中选择了一种分句内切割方式,此复选框建议勾选。
7.联系上下文复选框勾选后会联系上下文进行标注,对短篇文章可提升标注角色名称的一致性,但长篇文章可能会导致超出API限制字数,降低标注比例以及大幅提高API调用量,此复选框不建议勾选。
8.按章节标注复选框勾选后会使用分章后的各章节作为每次向API发送的内容(单个章节如果字数超过单轮最大重试次数的设定值会对这个章节使用设定值分段后发送),取消勾选会直接使用全文在左侧文本框内的文本内容作为向API发送的内容,并使用单轮最大重试次数的值分段发送,此复选框建议勾选。

7.被框住的滚动区域的第四栏为角色重命名及分配对话,第三栏的标注完成后会自动执行这步的分配对话,如果发现角色名有问题可在下拉栏中手动输入对角色名进行修改,如果出现如下图中同一个角色被分成两个不同名称的角色可在下拉栏中选择要替换为的角色名。每次修改完成都要点击替换角色按钮

屏幕截图 2024-11-28 212020

8.完成所有自定义设置后可以选择一栏一栏的处理也可以都设置完成后点击右下角的一键处理完成所有处理

——————————分割线——————————

选项卡3

屏幕截图 2024-11-28 192641

1.在这个选项卡进行语音合成,可在顶部下拉栏选择不同章节或全文。

2.每个章节的文件在在工作文件内的Chapters_tts文件夹内的各章节名称对应的文件夹内。

3.每一行对应一个角色,每个角色的合成与测试GPT-SoVITS窗口内逻辑相同,你可以选择从选项卡4生成的各角色列表内的各角色配置中导入角色配置,也可以手动复制配置文件到对应章节的文件夹内将配置命名为角色名称后再窗口左上角一键导入或导出所有角色配置。

4.默认行的配置建议预先填写,因为应用默认值后会覆盖所有角色的值为默认行的值,不点击应用默认值则默认行不生效。

5.所有配置填写完成后点击生成语音按钮合成章节所有语音。

6.如果要进行更详细的自定义可修改章节文件夹的内容,章节文件夹内容示例如下

屏幕截图 2024-11-28 213539

其中除“顺序表.txt“文件外的所有.txt文件为各角色文本,与各角色名称相同的.json文件为各角色配置(初始状态不存在,需要在程序左上角导出配置或手动将配置复制到这里),merged_output.wav文件为该章节合成完成的音频,AudioCache文件夹内为该章节各分句的音频,如果校对过程中某句存在问题可根据顺序表及各角色文本查找出问题的音频,单独在测试GPT-SoVITS窗口生成并替换AudioCache文件夹内出问题的音频并使用程序左下角合并语音按钮快速重新生成完整音频。当然也可以直接重新生成出问题的一个角色的所有语句,完成后同样点击合并语音按钮。

——————————分割线——————————

选项卡4

屏幕截图 2024-11-28 192648

在在这里创建各角色列表中各角色的预设配置,以供语音合成时快速导入

——————————分割线——————————

选项卡5

屏幕截图 2024-11-28 215439

内置的控制台,可显示生成时的详细信息,仅后缀为.Console的版本存在,没有.Console后缀的版本控制台为外置窗口(.Console后缀的版本可能不太稳定)

4.0.1.9

28 Nov 14:58
c270cdf
Compare
Choose a tag to compare

这是一个老版本
用AI辅助编写了一个程序接入的B站这位UP@白菜工厂1145号员工 制作的整合包中的API
该位UP的教程(其中包含相关模型下载):
https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e

整合包:BV1F94y1K724

选项卡1
屏幕截图 2024-10-24 223920
可进行基本的文本转语音,主要用来进行配音前选择角色模型

10/24更新:添加选择参考音频后自动填充“提示文本”,“参考语言”和“生成语言”的功能

——————————————————————————————————

选项卡2
屏幕截图 2024-10-24 215223
注意:右侧一栏可以用滚轮或滚动条滚动,全屏后外观如下
屏幕截图 2024-10-24 215232
左侧为文本排版转换和预处理,处理中文排版的小说的时候四个复选框都要勾上,日语排版的小说的时候勾上后两个即可,第二个可勾可不勾。

右侧第一栏为自动分章,可自动识别以下八种章节标号并按对应的标号进行分章以及可设置几个章节一切

可识别的章节标号格式:“第一章”,“第一话”,“第1章”,“第1话”,“第01章”,“第01话”,“第001章”,“第001话”

可识别的章节数量为999章以内

右侧第二栏为辅助AI标记角色

1.需要将分好章的文档(对于使用ChatGPT来说分好章的文档的行数最好控制在300行以内)的内容复制给ChatGPT一类的大语音模型AI并在内容前面加上以下前缀:

以下故事中使用「」符号表示角色说的话,对以下故事按如下标准进行标注:判断用「」符号括起来的行是哪个角色说的话并在行前以

”角色名@:「对话内容」“

的格式标注他的名称或代称,不要落下”我“说的话(在”我“说的话前面把”我“作为角色名),没有名字的角色标注职业或其他角色对其的称呼或路人等名称并用相同的格式在行前标注。不要落下任何被「」符号括起来的内容。删除没被「」符号括起来的内容。

使用以上前缀基本上AI的第一次回答就能有7到8成的准确率不满意的话可以多让AI回答几次,注意文章中不要包含违禁词或相关场景的描写,有的话可能导致生成失败(注册用户多试几次有可能成功)。

2.AI生成出大致满意的内容后把回答的文本复制到一个新建的文档中并保存,在程序中”未标注角色名路径“选择章节原文,”对话标注角色名文本路径“选择刚才保存的包含AI生成内容的文档,点击开始标注后会把AI标注的角色名添加到原文中并保存到”未标注角色名路径“下原文后面加”marked“的文档中。用AI标记很难做到百分比准确,要求比较高的话在标记完后可以手动校对一下。

右侧第三栏(可选)为章节合并,可自动识别一个文件夹里各文档的名称中的序号并按顺序合成为一个文档,文件夹中不要包含多余的文档。

右侧第四栏为生成各角色要读的文档和顺序表,在导入完成标记的文档之前需要检查以下这几个符号使用的是否正确“@”, “:”, “「”, “」”以下为正确的符号的示例文本:

刹那@:「嗯。刹那很期待。」

以下为错误的符号的示例文本(AI一般会使用这种符号):

刹那@:「嗯。刹那很期待。」

最好使用notepad++一类的软件的替换功能把完成标记的文档中上述4种符号都分别替换为正确的符号示例文本中使用的符号,这4个符号在源代码中也能找到。

分句符号是一个会被添加到各角色要读的文档中的符号,用来将文本分块进行合成,需要保证原文本中不存在这个符号且直到合成完成所有的步骤都要使用相同的符号。我建议使用“|”

”不在同一段中添加分句符“功能勾上的情况生成大段的速度更快但容易出现读错的情况且一定要在生成时选择一种分句内切割方式否则生成大段文字时会出现部分内容没读的情况

——————————————————————————————————

选项卡3
屏幕截图 2024-10-24 215308
注意:列表可以横向和纵向滚动
屏幕截图 2024-10-24 215256
10/24更新:1.优化列表布局 2.重写整个UI及多数函数,解决了旧版本中创建多余的默认frame所可能造成的所有问题 3.添加“配置角色”和“选择配置”下拉栏,可以通过在选项卡4中选择包含多个角色的文件夹来快速选择预设配置及参考音频(新的下拉栏可以通过在下拉栏上滚动鼠标来快速切换选项,也可以点击下拉栏右侧的下箭头来打开选项列表) 3.调换了生成音频和合并音频按钮的位置 4.优化了进度条的逻辑,现在应该不会出现进度条超过100%的情况了 5.为单独生成角色语音的操作添加进度条的支持 6.添加了更多报错提示 7.添加了防止其他操作占用API的措施,现在只能有一个操作占用API 8.修复了“无参考模式”选项不生效的问题 9.添加自动填充功能

使用选项卡3前需要先把选项卡2右侧第三栏生成的各角色要读的文档和顺序表文件单独放到一个空文件夹内,其中不要包含多余的.txt文档。在选项卡3中选择该文件夹后会自动列出其中的各个角色和对应的参数选项可以对每个角色分别设置模型和对应的参数。在开始设置各个角色的参数前先要刷新模型,之后可以依此填写给参数。选择完一个角色的模型后要点击确认模型的按钮,这样参考语言和合成语言的选项列表才能出现,10/24更新后如果参考语言和合成语言被自动填充了且填充正确或不需要手动修改则可不点击确认模型按钮,同样只要语音选项被填充了不管用任意方式导入配置只要不需要修改语言就也不需要确认模型。

如果很多角色都要用同一个参数的话可以在一开始先设置默认项,之后使用”应用默认值“将默认项的参数应用到每一项,之后在特别调整不同参数的角色配置即可。

都改完后最好导出一下配置,这样就算出问题了重启完程序也能一键导入配置不用再重新填一遍了。导出的配置文件可以通过修改文件名称给其它角色使用,要求配置文件的名称与角色名相同即可。·

完成上述操作确保所有角色的参数都填写完整后即可点击”生成语音按钮

(注意不是”合并语音“)来生成一个包含每个角色进行分角色朗读的音频文件。

如果合成结束后提示有一些角色的语音合成失败,你需要单独合成那些角色的语音(“生成角色语音”按钮),在合成完毕后点击合并语音

关于生成完成之后的校对工作,可以听一遍合成出的全文哪句读错了就去选项卡3最开始选择的文件夹中的AudioCache文件夹里找到对应的句子的音频以及角色对应的文本然后用选项卡1合成要修改的句子替换掉AudioCache里读错的句子最后使用选项卡3中的”合并语音“按钮来合成完整语音。当然你也可以选择使用角色选项中的“生成角色语音”按钮直接重新合成读错了的角色的全部语音然后使用”合并语音“按钮来合成完整语音。

——————————————————————————————————

选项卡4
屏幕截图 2024-10-24 220802
注意:列表可以横向和纵向滚动
屏幕截图 2024-10-24 215613
添加角色管理器页面,在这里可以快捷创建预设配置并给到选项卡3以供快捷导入,你需要选择一个文件夹,将各个角色的参考音频,头像,及配置文件分别存放到各角色名对应的文件夹下,对各角色对应的文件夹的内容要求为:

1.头像文件会优先选择avatar.png文件,如果不存在的话会优先选择文件夹内最接近1:1比例的图片

2.配置文件都要求直接放置在各角色文件夹内,放置到子文件夹内则不识别

3.参考音频可以放置到子文件夹内,可支持三种命名格式:

第一种“【标注】提示文本.wav”举例:“【难过_sad】「震荡」?好官方的说法,还真是轻描淡写啊。.wav”
第二种"标注#提示语言#提示文本.wav"举例:“难过#zh#习惯了网络漫游,反而不适应正常的交通工具了…….wav”
第三种“提示文本.wav”举例:“有句话是怎么说的来着…哦对了,「学好数理化,AI入职公司都不怕!」.wav”
导出配置时配置文件的名称会以“配置名称”一栏的内容命名,你可以手动修改该名称,其余的操作都与选项卡3相同