#1515 配音末尾 总会出现杂音,如图所示,配音渠道使用的是Index TTS

223.81* Posted at: 3 hours ago 👁22

image
配音末尾 总会出现杂音,如图所示,配音渠道使用的是Index TTS

7 Replies

根据您提供的截图,Index TTS 生成的音频末尾出现了异常的长静音段,这通常是由于模型在生成语音时出现了问题。

请尝试以下解决方案:

  1. 启用“移除配音末尾空白”功能:

    • 在软件主界面的“对齐控制”区域,勾选 “移除配音末尾空白” 选项。这个功能会智能地检测并裁剪掉每句配音末尾不必要的静音部分。
  2. 调整 Index TTS 的高级参数(如果可用):

    • 如果 Index TTS 的设置中有关于生成速度、静音长度或 max_sentence_length 等参数,尝试调小这些值,可能会减少模型生成多余静音的概率。
  3. 更换配音渠道测试:

    • 暂时切换到其他配音渠道(如 Edge-TTS)处理同一段字幕,以确认问题是 Index TTS 模型特有,还是普遍存在。这有助于定位问题根源。

如果以上方法均无效,建议在项目的官方论坛或 GitHub Issues 页面反馈此问题,并提供您使用的 Index TTS 模型版本和具体的错误音频样本,以便开发者进行修复。

末尾出现“吱” 地一声是怎么回事?该怎么解决呢

您描述的配音末尾出现“吱”的杂音,通常是音频生成或处理过程中的一个常见问题。请按以下步骤排查和解决:

  1. 启用“移除配音末尾空白”功能:在软件主界面的“对齐控制”区域,务必勾选 “移除配音末尾空白”。这个功能不仅能裁剪静音,有时也能消除截断音频时产生的爆音或杂音。
  2. 检查并调整配音渠道参数

    • 由于您使用的是 Index TTS,请检查其配置中是否有关于 silence(静音)、speed(语速)或音频结束处理的参数。尝试微调这些参数,可能有助于改善。
    • 如果问题持续,可以尝试暂时切换到 Edge-TTSAzure TTS 等其他渠道生成同一段音频,以判断问题是 Index TTS 模型本身固有的,还是普遍存在的。
  3. 在高级选项中调整音频处理设置

    • 进入 菜单 -> 工具/选项 -> 高级选项
    • 在“字幕声音画面对齐”区域,确保“最大音频加速倍数”和“视频慢放最大倍数”使用的是默认值(100 和 10)。不恰当的加速/减速倍数有时会引入音频伪影。

如果以上方法均不能解决问题,建议在项目的官方 GitHub Issues 页面详细反馈,说明您使用的 Index TTS 具体版本和模型,并附上产生杂音的音频样例,以便开发者进一步诊断。

Index TTS,检查其配置中是否有关于 silence(静音)、speed(语速)或音频结束处理的参数。如何微调这些参数

要微调 Index TTS 的参数,您需要通过修改其配置文件来实现。请按以下步骤操作:

  1. 定位配置文件:配置文件通常位于软件根目录下的 tts 文件夹内,具体路径可能为 tts/index_tts/config.yaml。如果该路径不存在,请在 Index TTS 的模型文件夹内寻找名为 config.yaml 或类似名称的配置文件。
  2. 编辑配置文件:用文本编辑器(如记事本)打开此配置文件。
  3. 寻找并修改关键参数:在配置文件中,寻找并尝试修改以下与您问题相关的参数:

    • max_sentence_length:此参数控制单次生成语音的最大文本长度。如果值过大,模型可能会在长句末尾生成不稳定的音频。尝试适当调小这个值
    • silencesilence_duration:寻找任何与静音(silence)相关的参数。尝试将其值设置为 0 或一个非常小的数值,以消除模型主动添加的静音段。
    • speed:如果存在语速参数,微调语速有时也能影响音频生成的稳定性。
  4. 保存并测试:保存修改后的配置文件,然后重启 pyVideoTrans 并重新进行配音任务,检查“吱”声是否消失。

重要提示

  • 在修改任何参数之前,建议您先备份原始的配置文件,以便在修改出错时可以恢复。
  • 不同版本的 Index TTS 模型,其配置文件结构和参数名可能有所不同。如果找不到上述参数,请查阅您所使用的 Index TTS 模型的具体文档。

如果通过调整参数无法解决问题,最直接的方案是更换其他配音渠道(如 Edge-TTS 或 ChatTTS)来规避此问题。

我在checkpoints文件夹找到了config.yaml,打开后是这样的
dataset:

bpe_model: bpe.model
sample_rate: 24000
squeeze: false
mel:
    sample_rate: 24000
    n_fft: 1024
    hop_length: 256
    win_length: 1024
    n_mels: 100
    mel_fmin: 0
    normalize: false

gpt:

model_dim: 1280
max_mel_tokens: 800
max_text_tokens: 600
heads: 20
use_mel_codes_as_input: true
mel_length_compression: 1024
layers: 24
number_text_tokens: 12000
number_mel_codes: 8194
start_mel_token: 8192
stop_mel_token: 8193
start_text_token: 0
stop_text_token: 1
train_solo_embeddings: false
condition_type: "conformer_perceiver"
condition_module:
    output_size: 512
    linear_units: 2048
    attention_heads: 8
    num_blocks: 6
    input_layer: "conv2d2"
    perceiver_mult: 2

vqvae:

channels: 100
num_tokens: 8192
hidden_dim: 512
num_resnet_blocks: 3
codebook_dim: 512
num_layers: 2
positional_dims: 1
kernel_size: 3
smooth_l1_loss: true
use_transposed_convs: false

bigvgan:

adam_b1: 0.8
adam_b2: 0.99
lr_decay: 0.999998
seed: 1234

resblock: "1"
upsample_rates: [4,4,4,4,2,2]
upsample_kernel_sizes: [8,8,4,4,4,4]
upsample_initial_channel: 1536
resblock_kernel_sizes: [3,7,11]
resblock_dilation_sizes: [[1,3,5], [1,3,5], [1,3,5]]
feat_upsample: false
speaker_embedding_dim: 512
cond_d_vector_in_each_upsampling_layer: true

gpt_dim: 1280

activation: "snakebeta"
snake_logscale: true

use_cqtd_instead_of_mrd: true
cqtd_filters: 128
cqtd_max_filters: 1024
cqtd_filters_scale: 1
cqtd_dilations: [1, 2, 4]
cqtd_hop_lengths: [512, 256, 256]
cqtd_n_octaves: [9, 9, 9]
cqtd_bins_per_octaves: [24, 36, 48]

resolutions: [[1024, 120, 600], [2048, 240, 1200], [512, 50, 240]]
mpd_reshapes: [2, 3, 5, 7, 11]
use_spectral_norm: false
discriminator_channel_mult: 1

use_multiscale_melloss: true
lambda_melloss: 15

clip_grad_norm: 1000

segment_size: 16384
num_mels: 100
num_freq: 1025
n_fft: 1024
hop_size: 256
win_size: 1024

sampling_rate: 24000

fmin: 0
fmax: null
fmax_for_loss: null
mel_type: "pytorch"

num_workers: 2
dist_config:
    dist_backend: "nccl"
    dist_url: "tcp://localhost:54321"
    world_size: 1

dvae_checkpoint: dvae.pth
gpt_checkpoint: gpt.pth
bigvgan_checkpoint: bigvgan_generator.pth
version: 1.5
我该调整哪些参数?我的Index TTS 是1.0版本

根据您提供的配置文件,这是 Index TTS 的模型训练配置文件,而不是推理生成时的参数配置文件。您在这里看到的参数(如模型维度、层数等)是定义模型架构的,直接修改它们可能会导致模型无法正常工作。

要解决配音末尾的“吱”声,您需要寻找和修改的是 Index TTS 在 pyVideoTrans 中的调用参数,或者其独立的推理配置文件

请按以下步骤操作:

  1. 在 pyVideoTrans 中寻找设置

    • 在软件主界面,选择 Index TTS 作为配音渠道后,仔细查看附近是否有“设置”或“参数”按钮。某些 TTS 渠道会提供直接的可调参数界面。
  2. 寻找独立的推理配置文件

    • 在您的 Index TTS 模型文件夹(checkpoints 文件夹的同级目录)中,寻找名为 inference.yamlhparams.pyargs.json 的文件。这些才是控制生成过程中语速、静音等行为的配置文件。
  3. 关键参数

    • 在找到的推理配置文件中,寻找以下参数进行微调:

      • silence_durationpause_duration:将其设置为 0 或一个很小的值(如 0.1),以消除模型主动添加的静音段。
      • speedlength_scale:适当调整语速(例如从 1.0 微调到 1.10.9),有时不稳定的生成速度会导致末尾杂音。
      • max_sentence_length:如果存在,确保其值没有过大。
  4. 最终建议

    • 鉴于您使用的是 1.0 版本,且定位正确的配置文件有一定难度,最直接有效的解决方案是更换配音渠道。例如,切换到 Edge-TTSChatTTS,它们通常没有此类问题,可以立即验证并解决您的需求。
    • 如果必须使用 Index TTS,建议查阅您下载该模型时附带的原始文档,或考虑更新到更高版本,其稳定性和配置可能有所改善。
Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Donate: https://ko-fi.com/jianchang512

Trending Questions