mirror of https://github.com/coqui-ai/TTS.git
117 lines
5.3 KiB
Python
117 lines
5.3 KiB
Python
from dataclasses import dataclass, field
|
|
|
|
from TTS.tts.configs.shared_configs import BaseTTSConfig
|
|
|
|
|
|
@dataclass
|
|
class SpeedySpeechConfig(BaseTTSConfig):
|
|
"""Defines parameters for Speedy Speech (feed-forward encoder-decoder) based models.
|
|
|
|
Example:
|
|
|
|
>>> from TTS.tts.configs import SpeedySpeechConfig
|
|
>>> config = SpeedySpeechConfig()
|
|
|
|
Args:
|
|
model (str):
|
|
Model name used for selecting the right model at initialization. Defaults to `speedy_speech`.
|
|
positional_encoding (bool):
|
|
enable / disable positional encoding applied to the encoder output. Defaults to True.
|
|
hidden_channels (int):
|
|
Base number of hidden channels. Defines all the layers expect ones defined by the specific encoder or decoder
|
|
parameters. Defaults to 128.
|
|
encoder_type (str):
|
|
Type of the encoder used by the model. Look at `TTS.tts.layers.feed_forward.encoder` for more details.
|
|
Defaults to `residual_conv_bn`.
|
|
encoder_params (dict):
|
|
Parameters used to define the encoder network. Look at `TTS.tts.layers.feed_forward.encoder` for more details.
|
|
Defaults to `{"kernel_size": 4, "dilations": [1, 2, 4, 1, 2, 4, 1, 2, 4, 1, 2, 4, 1], "num_conv_blocks": 2, "num_res_blocks": 13}`
|
|
decoder_type (str):
|
|
Type of the decoder used by the model. Look at `TTS.tts.layers.feed_forward.decoder` for more details.
|
|
Defaults to `residual_conv_bn`.
|
|
decoder_params (dict):
|
|
Parameters used to define the decoder network. Look at `TTS.tts.layers.feed_forward.decoder` for more details.
|
|
Defaults to `{"kernel_size": 4, "dilations": [1, 2, 4, 8, 1, 2, 4, 8, 1, 2, 4, 8, 1, 2, 4, 8, 1], "num_conv_blocks": 2, "num_res_blocks": 17}`
|
|
hidden_channels_encoder (int):
|
|
Number of base hidden channels used by the encoder network. It defines the input and the output channel sizes,
|
|
and for some encoder types internal hidden channels sizes too. Defaults to 192.
|
|
hidden_channels_decoder (int):
|
|
Number of base hidden channels used by the decoder WaveNet network. Defaults to 192 as in the original work.
|
|
hidden_channels_duration_predictor (int):
|
|
Number of layer channels of the duration predictor network. Defaults to 256 as in the original work.
|
|
data_dep_init_steps (int):
|
|
Number of steps used for computing normalization parameters at the beginning of the training. GlowTTS uses
|
|
Activation Normalization that pre-computes normalization stats at the beginning and use the same values
|
|
for the rest. Defaults to 10.
|
|
use_speaker_embedding (bool):
|
|
enable / disable using speaker embeddings for multi-speaker models. If set True, the model is
|
|
in the multi-speaker mode. Defaults to False.
|
|
use_external_speaker_embedding_file (bool):
|
|
enable /disable using external speaker embeddings in place of the learned embeddings. Defaults to False.
|
|
external_speaker_embedding_file (str):
|
|
Path to the file including pre-computed speaker embeddings. Defaults to None.
|
|
noam_schedule (bool):
|
|
enable / disable the use of Noam LR scheduler. Defaults to False.
|
|
warmup_steps (int):
|
|
Number of warm-up steps for the Noam scheduler. Defaults 4000.
|
|
lr (float):
|
|
Initial learning rate. Defaults to `1e-3`.
|
|
wd (float):
|
|
Weight decay coefficient. Defaults to `1e-7`.
|
|
ssim_alpha (float):
|
|
Weight for the SSIM loss. If set <= 0, disables the SSIM loss. Defaults to 1.0.
|
|
huber_alpha (float):
|
|
Weight for the duration predictor's loss. Defaults to 1.0.
|
|
l1_alpha (float):
|
|
Weight for the L1 spectrogram loss. If set <= 0, disables the L1 loss. Defaults to 1.0.
|
|
min_seq_len (int):
|
|
Minimum input sequence length to be used at training.
|
|
max_seq_len (int):
|
|
Maximum input sequence length to be used at training. Larger values result in more VRAM usage.
|
|
"""
|
|
|
|
model: str = "speedy_speech"
|
|
# model specific params
|
|
positional_encoding: bool = True
|
|
hidden_channels: int = 128
|
|
encoder_type: str = "residual_conv_bn"
|
|
encoder_params: dict = field(
|
|
default_factory=lambda: {
|
|
"kernel_size": 4,
|
|
"dilations": [1, 2, 4, 1, 2, 4, 1, 2, 4, 1, 2, 4, 1],
|
|
"num_conv_blocks": 2,
|
|
"num_res_blocks": 13,
|
|
}
|
|
)
|
|
decoder_type: str = "residual_conv_bn"
|
|
decoder_params: dict = field(
|
|
default_factory=lambda: {
|
|
"kernel_size": 4,
|
|
"dilations": [1, 2, 4, 8, 1, 2, 4, 8, 1, 2, 4, 8, 1, 2, 4, 8, 1],
|
|
"num_conv_blocks": 2,
|
|
"num_res_blocks": 17,
|
|
}
|
|
)
|
|
|
|
# multi-speaker settings
|
|
use_speaker_embedding: bool = False
|
|
use_external_speaker_embedding_file: bool = False
|
|
external_speaker_embedding_file: str = False
|
|
|
|
# optimizer parameters
|
|
noam_schedule: bool = False
|
|
warmup_steps: int = 4000
|
|
lr: float = 1e-4
|
|
wd: float = 1e-6
|
|
grad_clip: float = 5.0
|
|
|
|
# loss params
|
|
ssim_alpha: float = 1.0
|
|
huber_alpha: float = 1.0
|
|
l1_alpha: float = 1.0
|
|
|
|
# overrides
|
|
min_seq_len: int = 13
|
|
max_seq_len: int = 200
|
|
r: int = 1 #DO NOT CHANGE
|