字幕转语音如何能获得更精准的对位?

用新版本生成了一个语音,变速选项选的是“按字幕”,生成的音频文件与原字幕对比还是出现了比较大的偏差,比如生成的语音超过了原字幕时间的时长,通过更改设置能否获得更精准的对位?其他的测试正在尝试,因为生成时间太长,所以上来先问问。因为我正在整理的字幕会有一些通过鼠标的展示,对位不准的话,可能就差了好多。
另外,哪些选项能让语音听上去不那么平?目前的感觉还是有点不太自然。

最大速率设置的多少?

最大速率不知道应该设多少,所以就没设,我原先脑补的场景是‘如果变速选项选择“按字幕”就会自动计算调速所需的速率了’,是不是我理解错了?

最大速率是强制限制,默认是1,比如设置3的话.那么如果有句话持续时间特别短,但是需要念的特别长,如果不限制的话,这句话就听不清.限制后这句话的变速最大为3.尽可能保证一个能听的声音.所以需要设置一个最大速率,防止这种情况发生

多谢,我回头用短视频多试试,cpu处理长视频效率还是太低了。

1.103.11修复了全局配置速度控制无效

谢谢!的确有效果,但音频首尾都会有一些静默时间,我是这样测试的,用一个没有时间轴的txt文件生成语音,然后用生成语音时同时生成的srt文件做两个测试:
1、不对srt进行任何调整
2、对srt的时间轴进行精确调整
最终测试后的结果,不能与原音频完全契合,我还在想有没有其他可以尝试的方法。

您的意思是利用文本生成的字幕再生成文本?两者的音频对不上?
相关测试文本发一下

1、test.txt
测试,所有内容都是中文的。

Trump喜欢ICT

2002年11月11日

2、test.txt生成的字幕
1
00:00:00,000 → 00:00:03,541
测试,所有内容都是中文的。

2
00:00:03,541 → 00:00:05,077
Trump喜欢ICT

3
00:00:05,077 → 00:00:07,680
2002年11月11日

3、根据上一步字幕生成的语音的字幕
1
00:00:00,000 → 00:00:02,816
测试,所有内容都是中文的。

2
00:00:03,541 → 00:00:04,992
Trump喜欢ICT

3
00:00:05,077 → 00:00:07,381
2002年11月11日

段落间隔=0
分句间隔=0
变速模式=按字幕
变速比率=3

文件链接
通过网盘分享的文件:内容.7z
链接: 百度网盘 请输入提取码 提取码: y8yq

1 个赞

我测试了下:

  1. 文本生成语音
  2. 清除切片缓存
  3. 利用生成的字幕再生成语音

如果是按照这个流程生成的话,字幕变化也是正常的,因为音频生成有一定随机性,不一定保证每次生成的都一样(但是也差不了多少)
影响随机的参数有很多比如,topp, Temperature.不可能保证每次生成都一样

如果说不清除缓存的话,前后字幕就会一样,因为直接使用缓存了
如果说非要生成前后字幕长度一样的话,那么就会出现第二次生成的时间短,但是需要强制减速拉长时间(但是一般没人这么办,都是生成的长加速)

缓存的设计就是保证配置没变的情况下能直接输出,防止用户修改一点就需要全部重新生成,浪费时间

我在豆包中查了一下indextts设置中几个参数的含义,根据豆包给出的提示通过设置max_mel_tokens、length_penalty、分句最大Token数,基本上能比较准确地控制每句话的起止时间,唯独在我昨天发给您的字幕中的第三条年月日那条出现了问题,之后我再打开indextts配置时,发现更改的选项又恢复了默认值,之后我试了好几次,都是再次打开时都会恢复到默认值,也没有找到保存按钮,说了这么多,其实主要就是两个问题:
1、通过max_mel_tokens、length_penalty、分句最大Token数可以比较精确地控制字幕每句话的起止时间
2、indextts设置中的参数表面上看是无法保存(看生成的结果似乎生效了,但表面看还是默认值)

下面是我问豆包的连接,大佬可以看看有没有参考价值

过了两个小时,再点设置发现又能保存了,生成语音之后,又恢复到默认值了,感觉有点奇怪,

参数问题我会看下
不过现在的生成音频和生成字幕不能一一对应吗?
还是说传入的字幕和生成字幕不同,但是生成音频和生成字幕还是相同

1.103.13已修复Indextts配置修改问题

就目前的情况看,比之前的版本已经有很大改善了,有时间我再试试长点的字幕,下周indexTTS又会出新版了,希望能有更实用的功能