mirror of
https://github.com/wassname/TTS.git
synced 2026-09-10 11:50:20 +08:00
@@ -1,7 +1,8 @@
|
||||
from train_glowtts import config
|
||||
import json
|
||||
import re
|
||||
|
||||
from train_glowtts import config
|
||||
|
||||
s = json.dumps(config, default=vars, indent=2)
|
||||
s = re.sub(r'"test_sentences":\s*\[\],', '', s)
|
||||
s = re.sub(r'"test_sentences":\s*\[\],', "", s)
|
||||
print(s)
|
||||
|
||||
@@ -3,30 +3,31 @@ import os
|
||||
# Trainer: Where the ✨️ happens.
|
||||
# TrainingArgs: Defines the set of arguments of the Trainer.
|
||||
from trainer import Trainer, TrainerArgs
|
||||
from TTS.tts.configs.shared_configs import BaseAudioConfig
|
||||
|
||||
# GlowTTSConfig: all model related values for training, validating and testing.
|
||||
from TTS.tts.configs.glow_tts_config import GlowTTSConfig
|
||||
|
||||
# BaseDatasetConfig: defines name, formatter and path of the dataset.
|
||||
from TTS.tts.configs.shared_configs import BaseDatasetConfig, CharactersConfig
|
||||
from TTS.tts.configs.shared_configs import BaseAudioConfig, BaseDatasetConfig, CharactersConfig
|
||||
from TTS.tts.datasets import load_tts_samples
|
||||
from TTS.tts.models.glow_tts import GlowTTS
|
||||
from TTS.tts.utils.text.tokenizer import TTSTokenizer
|
||||
from TTS.utils.audio import AudioProcessor
|
||||
|
||||
# we use the same path as this script as our training folder.
|
||||
output_path = '/storage/output-glowtts/'
|
||||
output_path = "/storage/output-glowtts/"
|
||||
|
||||
|
||||
# DEFINE DATASET CONFIG
|
||||
# Set LJSpeech as our target dataset and define its path.
|
||||
# You can also use a simple Dict to define the dataset and pass it to your custom formatter.
|
||||
dataset_config = BaseDatasetConfig(
|
||||
formatter="bel_tts_formatter", meta_file_train="ipa_final_dataset.csv", path=os.path.join(output_path, "/storage/filtered_dataset/")
|
||||
formatter="bel_tts_formatter",
|
||||
meta_file_train="ipa_final_dataset.csv",
|
||||
path=os.path.join(output_path, "/storage/filtered_dataset/"),
|
||||
)
|
||||
|
||||
characters=CharactersConfig(
|
||||
characters = CharactersConfig(
|
||||
characters_class="TTS.tts.utils.text.characters.Graphemes",
|
||||
pad="_",
|
||||
eos="~",
|
||||
@@ -71,22 +72,21 @@ config = GlowTTSConfig(
|
||||
)
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
# INITIALIZE THE AUDIO PROCESSOR
|
||||
# Audio processor is used for feature extraction and audio I/O.
|
||||
# It mainly serves to the dataloader and the training loggers.
|
||||
# INITIALIZE THE AUDIO PROCESSOR
|
||||
# Audio processor is used for feature extraction and audio I/O.
|
||||
# It mainly serves to the dataloader and the training loggers.
|
||||
ap = AudioProcessor.init_from_config(config)
|
||||
|
||||
# INITIALIZE THE TOKENIZER
|
||||
# Tokenizer is used to convert text to sequences of token IDs.
|
||||
# If characters are not defined in the config, default characters are passed to the config
|
||||
# INITIALIZE THE TOKENIZER
|
||||
# Tokenizer is used to convert text to sequences of token IDs.
|
||||
# If characters are not defined in the config, default characters are passed to the config
|
||||
tokenizer, config = TTSTokenizer.init_from_config(config)
|
||||
|
||||
# LOAD DATA SAMPLES
|
||||
# Each sample is a list of ```[text, audio_file_path, speaker_name]```
|
||||
# You can define your custom sample loader returning the list of samples.
|
||||
# Or define your custom formatter and pass it to the `load_tts_samples`.
|
||||
# Check `TTS.tts.datasets.load_tts_samples` for more details.
|
||||
# LOAD DATA SAMPLES
|
||||
# Each sample is a list of ```[text, audio_file_path, speaker_name]```
|
||||
# You can define your custom sample loader returning the list of samples.
|
||||
# Or define your custom formatter and pass it to the `load_tts_samples`.
|
||||
# Check `TTS.tts.datasets.load_tts_samples` for more details.
|
||||
train_samples, eval_samples = load_tts_samples(
|
||||
dataset_config,
|
||||
eval_split=True,
|
||||
@@ -94,18 +94,18 @@ if __name__ == "__main__":
|
||||
eval_split_size=config.eval_split_size,
|
||||
)
|
||||
|
||||
# INITIALIZE THE MODEL
|
||||
# Models take a config object and a speaker manager as input
|
||||
# Config defines the details of the model like the number of layers, the size of the embedding, etc.
|
||||
# Speaker manager is used by multi-speaker models.
|
||||
# INITIALIZE THE MODEL
|
||||
# Models take a config object and a speaker manager as input
|
||||
# Config defines the details of the model like the number of layers, the size of the embedding, etc.
|
||||
# Speaker manager is used by multi-speaker models.
|
||||
model = GlowTTS(config, ap, tokenizer, speaker_manager=None)
|
||||
|
||||
# INITIALIZE THE TRAINER
|
||||
# Trainer provides a generic API to train all the 🐸TTS models with all its perks like mixed-precision training,
|
||||
# distributed training, etc.
|
||||
# INITIALIZE THE TRAINER
|
||||
# Trainer provides a generic API to train all the 🐸TTS models with all its perks like mixed-precision training,
|
||||
# distributed training, etc.
|
||||
trainer = Trainer(
|
||||
TrainerArgs(), config, output_path, model=model, train_samples=train_samples, eval_samples=eval_samples
|
||||
)
|
||||
|
||||
# AND... 3,2,1... 🚀
|
||||
# AND... 3,2,1... 🚀
|
||||
trainer.fit()
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
import os
|
||||
|
||||
from trainer import Trainer, TrainerArgs
|
||||
from TTS.tts.configs.shared_configs import BaseAudioConfig
|
||||
from coqpit import Coqpit
|
||||
from trainer import Trainer, TrainerArgs
|
||||
|
||||
from TTS.tts.configs.shared_configs import BaseAudioConfig
|
||||
from TTS.utils.audio import AudioProcessor
|
||||
from TTS.vocoder.configs.hifigan_config import *;
|
||||
from TTS.vocoder.configs.hifigan_config import *
|
||||
from TTS.vocoder.datasets.preprocess import load_wav_data
|
||||
from TTS.vocoder.models.gan import GAN
|
||||
|
||||
output_path = '/storage/output-hifigan/'
|
||||
output_path = "/storage/output-hifigan/"
|
||||
|
||||
audio_config = BaseAudioConfig(
|
||||
mel_fmin=50,
|
||||
@@ -57,4 +57,4 @@ model = GAN(config, ap)
|
||||
trainer = Trainer(
|
||||
TrainerArgs(), config, output_path, model=model, train_samples=train_samples, eval_samples=eval_samples
|
||||
)
|
||||
trainer.fit()
|
||||
trainer.fit()
|
||||
|
||||
@@ -5,7 +5,7 @@ from trainer import Trainer, TrainerArgs
|
||||
from TTS.config.shared_configs import BaseDatasetConfig
|
||||
from TTS.tts.configs.delightful_tts_config import DelightfulTtsAudioConfig, DelightfulTTSConfig
|
||||
from TTS.tts.datasets import load_tts_samples
|
||||
from TTS.tts.models.delightful_tts import DelightfulTtsArgs, DelightfulTTS, VocoderConfig
|
||||
from TTS.tts.models.delightful_tts import DelightfulTTS, DelightfulTtsArgs, VocoderConfig
|
||||
from TTS.tts.utils.speakers import SpeakerManager
|
||||
from TTS.tts.utils.text.tokenizer import TTSTokenizer
|
||||
from TTS.utils.audio.processor import AudioProcessor
|
||||
@@ -14,7 +14,9 @@ data_path = "/raid/datasets/vctk_v092_48khz_removed_silence_silero_vad"
|
||||
output_path = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
|
||||
dataset_config = BaseDatasetConfig(dataset_name="vctk", formatter="vctk", meta_file_train="", path=data_path, language="en-us")
|
||||
dataset_config = BaseDatasetConfig(
|
||||
dataset_name="vctk", formatter="vctk", meta_file_train="", path=data_path, language="en-us"
|
||||
)
|
||||
|
||||
audio_config = DelightfulTtsAudioConfig()
|
||||
|
||||
@@ -73,9 +75,7 @@ speaker_manager.set_ids_from_data(train_samples + eval_samples, parse_key="speak
|
||||
config.model_args.num_speakers = speaker_manager.num_speakers
|
||||
|
||||
|
||||
model = DelightfulTTS(
|
||||
ap=ap, config=config, tokenizer=tokenizer, speaker_manager=speaker_manager, emotion_manager=None
|
||||
)
|
||||
model = DelightfulTTS(ap=ap, config=config, tokenizer=tokenizer, speaker_manager=speaker_manager, emotion_manager=None)
|
||||
|
||||
trainer = Trainer(
|
||||
TrainerArgs(), config, output_path, model=model, train_samples=train_samples, eval_samples=eval_samples
|
||||
|
||||
Reference in New Issue
Block a user