Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
TensorSpeech
GitHub Repository: TensorSpeech/TensorFlowTTS
Path: blob/master/tensorflow_tts/configs/melgan.py
1558 views
1
# -*- coding: utf-8 -*-
2
# Copyright 2020 Minh Nguyen (@dathudeptrai)
3
#
4
# Licensed under the Apache License, Version 2.0 (the "License");
5
# you may not use this file except in compliance with the License.
6
# You may obtain a copy of the License at
7
#
8
# http://www.apache.org/licenses/LICENSE-2.0
9
#
10
# Unless required by applicable law or agreed to in writing, software
11
# distributed under the License is distributed on an "AS IS" BASIS,
12
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
# See the License for the specific language governing permissions and
14
# limitations under the License.
15
"""MelGAN Config object."""
16
17
18
from tensorflow_tts.configs import BaseConfig
19
20
21
class MelGANGeneratorConfig(BaseConfig):
22
"""Initialize MelGAN Generator Config."""
23
24
def __init__(
25
self,
26
out_channels=1,
27
kernel_size=7,
28
filters=512,
29
use_bias=True,
30
upsample_scales=[8, 8, 2, 2],
31
stack_kernel_size=3,
32
stacks=3,
33
nonlinear_activation="LeakyReLU",
34
nonlinear_activation_params={"alpha": 0.2},
35
padding_type="REFLECT",
36
use_final_nolinear_activation=True,
37
is_weight_norm=True,
38
initializer_seed=42,
39
**kwargs
40
):
41
"""Init parameters for MelGAN Generator model."""
42
self.out_channels = out_channels
43
self.kernel_size = kernel_size
44
self.filters = filters
45
self.use_bias = use_bias
46
self.upsample_scales = upsample_scales
47
self.stack_kernel_size = stack_kernel_size
48
self.stacks = stacks
49
self.nonlinear_activation = nonlinear_activation
50
self.nonlinear_activation_params = nonlinear_activation_params
51
self.padding_type = padding_type
52
self.use_final_nolinear_activation = use_final_nolinear_activation
53
self.is_weight_norm = is_weight_norm
54
self.initializer_seed = initializer_seed
55
56
57
class MelGANDiscriminatorConfig(object):
58
"""Initialize MelGAN Discriminator Config."""
59
60
def __init__(
61
self,
62
out_channels=1,
63
scales=3,
64
downsample_pooling="AveragePooling1D",
65
downsample_pooling_params={"pool_size": 4, "strides": 2,},
66
kernel_sizes=[5, 3],
67
filters=16,
68
max_downsample_filters=1024,
69
use_bias=True,
70
downsample_scales=[4, 4, 4, 4],
71
nonlinear_activation="LeakyReLU",
72
nonlinear_activation_params={"alpha": 0.2},
73
padding_type="REFLECT",
74
is_weight_norm=True,
75
initializer_seed=42,
76
**kwargs
77
):
78
"""Init parameters for MelGAN Discriminator model."""
79
self.out_channels = out_channels
80
self.scales = scales
81
self.downsample_pooling = downsample_pooling
82
self.downsample_pooling_params = downsample_pooling_params
83
self.kernel_sizes = kernel_sizes
84
self.filters = filters
85
self.max_downsample_filters = max_downsample_filters
86
self.use_bias = use_bias
87
self.downsample_scales = downsample_scales
88
self.nonlinear_activation = nonlinear_activation
89
self.nonlinear_activation_params = nonlinear_activation_params
90
self.padding_type = padding_type
91
self.is_weight_norm = is_weight_norm
92
self.initializer_seed = initializer_seed
93
94