Commit Graph

374 Commits

Author SHA1 Message Date
WeberJulian 5cef6facb0
Fix tokenizer for punc only (#1717) 2022-07-06 22:59:41 +02:00
Eren Gölge f70e82cd19
Use fsspec and torch for embedding file IO (#1581)
* Use fsspec and torch for embedding file

* Fixup

* Fix load and save files

* Fix compute embedding script

* Set use_cuda to true if available

* Add dummy speakers.pth file

* Make style

* Change default speakers file extension

Co-authored-by: WeberJulian <julian.weber@hotmail.fr>
2022-06-01 13:49:42 +02:00
André R. de Miranda 3b84ef9524
Fixed use_cuda issue in compute_embeddings.py
Added use_cuda argument in self.init_encoder method
2022-05-20 12:46:46 -03:00
a-froghyar 8be21ec387
Capacitron (#977)
* new CI config

* initial Capacitron implementation

* delete old unused file

* fix empty formatting changes

* update losses and training script

* fix previous commit

* fix commit

* Add Capacitron test and first round of test fixes

* revert formatter change

* add changes to the synthesizer

* add stepwise gradual lr scheduler and changes to the recipe

* add inference script for dev use

* feat: add posterior inference arguments to synth methods
- added reference wav and text args for posterior inference
- some formatting

* fix: add espeak flag to base_tts and dataset APIs
- use_espeak_phonemes flag was not implemented in those APIs
- espeak is now able to be utilised for phoneme generation
- necessary phonemizer for the Capacitron model

* chore: update training script and style
- training script includes the espeak flag and other hyperparams
- made style

* chore: fix linting

* feat: add Tacotron 2 support

* leftover from dev

* chore:rename parser args

* feat: extract optimizers
- created a separate optimizer class to merge the two optimizers

* chore: revert arbitrary trainer changes

* fmt: revert formatting bug

* formatting again

* formatting fixed

* fix: log func

* fix: update optimizer
- Implemented load_state_dict for continuing training

* fix: clean optimizer init for standard models

* improvement: purge espeak flags and add training scripts

* Delete capacitronT2.py

delete old training script, new one is pushed

* feat: capacitron trainer methods
- extracted capacitron specific training  operations from the trainer into custom
methods in taco1 and taco2 models

* chore: renaming and merging capacitron and gst style args

* fix: bug fixes from the previous commit

* fix: implement state_dict method on CapacitronOptimizer

* fix: call method

* fix: inference naming

* Delete train_capacitron.py

* fix: synthesize

* feat: update tests

* chore: fix style

* Delete capacitron_inference.py

* fix: fix train tts t2 capacitron tests

* fix: double forward in T2 train step

* fix: double forward in T1 train step

* fix: run make style

* fix: remove unused import

* fix: test for T1 capacitron

* fix: make lint

* feat: add blizzard2013 recipes

* make style

* fix: update recipes

* chore: make style

* Plot test sentences in Tacotron

* chore: make style and fix import

* fix: call forward first before problematic floordiv op

* fix: update recipes

* feat: add min_audio_len to recipes

* aux_input["style_mel"]

* chore: make style

* Make capacitron T2 recipe more stable

* Remove T1 capacitron Ljspeech

* feat: implement new grad clipping routine and update configs

* make style

* Add pretrained checkpoints

* Add default vocoder

* Change trainer package

* Fix grad clip issue for tacotron

* Fix scheduler issue with tacotron

Co-authored-by: Eren Gölge <egolge@coqui.ai>
Co-authored-by: WeberJulian <julian.weber@hotmail.fr>
Co-authored-by: Eren Gölge <erogol@hotmail.com>
2022-05-20 16:17:11 +02:00
Edresson Casanova c6008e5235
Add audio length sampler balancer (#1561)
* Add audio length sampler balancer

* Add unit tests
2022-05-12 19:59:19 +02:00
Edresson Casanova a97eed696a
Fix the bug in eSpeak wrapper for eSpeak version 1.48.15 (#1560) 2022-05-12 15:15:18 +02:00
Eren Gölge c3f8c4d5eb Return default SpeakerManager if no d_vector_file 2022-05-11 11:31:45 +02:00
Eren Gölge 121e9ed685 Pass use_cuda to init_encoder 2022-05-11 11:31:17 +02:00
Edresson Casanova 060e0f9368
Add EmbeddingManager and BaseIDManager (#1374) 2022-03-31 13:41:16 +02:00
WeberJulian c66a6241fd
Enforce phonemizer definition for synthesis (#1441)
* Enforce phonemizer definition for synthesis

* Fix train_tts, tokenizer init can now edit config

* Add small change to trigger CI pipeline

* fix wrong output path for one tts_test

* Fix style

* Test config overides by args and tokenizer

* Fix style
2022-03-25 23:15:33 +01:00
Eren Gölge 1c3623af33
Fix model manager (#1436)
* Fix manager

* Make style
2022-03-23 12:57:14 +01:00
Eren Gölge 0870a4faa2
Make style (#1405) 2022-03-16 12:13:55 +01:00
WeberJulian 690c96ed28
Fix default phonemizer for ja and zh (#1399) 2022-03-16 12:13:22 +01:00
Edresson Casanova f81892483d
REBASED: Transform Speaker Encoder in a Generic Encoder and Implement Emotion Encoder training support (#1349)
* Rename Speaker encoder module to encoder

* Add a generic emotion dataset formatter

* Transform the Speaker Encoder dataset to a generic dataset and create emotion encoder config

* Add class map in emotion config

* Add Base encoder config

* Add evaluation encoder script

* Fix the bug in plot_embeddings

* Enable Weight decay for encoder training

* Add argumnet to disable storage

* Add Perfect Sampler and remove storage

* Add evaluation during encoder training

* Fix lint checks

* Remove useless config parameter

* Active evaluation in speaker encoder test and use multispeaker dataset for this test

* Unit tests fixs

* Remove useless tests for speedup the aux_tests

* Use get_optimizer in Encoder

* Add BaseEncoder Class

* Fix the unitests

* Add Perfect Batch Sampler unit test

* Add compute encoder accuracy in a function
2022-03-11 14:43:40 +01:00
Edresson Casanova dbe9da7f15
Add Voice conversion inference support (#1337)
* Add support for voice conversion inference

* Cache d_vectors_by_speaker for fast inference using a bigger speakers.json

* Rebase bug fix

* Use the average d-vector for inference
2022-03-10 14:57:12 +01:00
Edresson Casanova 917f417ac4
Add alphas to control language and speaker balancer (#1216)
* Add alphas to control language and speaker balancer

* Add docs for speaker and language samplers

* Change the Samplers weights to float for save memory

* Change the test_samplers to unittest format

* Add get_sampler method in BaseTTS

* Fix rebase issues

* Add language and speaker samplers support for DDP training

* Rename distributed sampler wrapper

* Remove the DistributedSamplerWrapper and use the one from Trainer

* Bugfix after rebase

* Move the samplers config to tts config
2022-03-10 14:56:09 +01:00
Eren Gölge e9d9028b4d Revert cleaner name 2022-03-06 12:57:06 +01:00
Eren Gölge 764c7fa4a4 Rename phoneme_cleaners 2022-03-06 12:09:54 +01:00
Eren Gölge dd4287de1f Update models 2022-03-03 20:23:00 +01:00
Eren Gölge 690de1ab06 Update Characters and add more tests 2022-02-25 11:32:44 +01:00
Eren Gölge 1e414b3a09 Make stlye 2022-02-25 11:31:56 +01:00
Eren Gölge bed4afd4ee Implement BaseVocabulary 2022-02-25 11:31:56 +01:00
Eren Gölge 424d04e4f6 Make stlye 2022-02-25 11:31:56 +01:00
Eren Gölge c11944022d Revert back again rand_segment 2022-02-25 11:30:24 +01:00
Eren Gölge d0c27a9661 Update synthesis.py 2022-02-25 11:29:41 +01:00
Eren Gölge 35fc7270ff Implement BaseTTS 2022-02-25 11:28:47 +01:00
Eren Gölge 2bad098625 Implement BaseVocabulary 2022-02-25 11:28:47 +01:00
Eren Gölge ab8a4ca2c3 Revert random segment 2022-02-25 11:26:59 +01:00
Eren Gölge 8622226f3f Make style 2022-02-25 11:26:59 +01:00
Eren Gölge 590b04fb89 Fix espeak_wrapper 2022-02-25 11:26:59 +01:00
Eren Gölge d5c0e17548 Load right char class dynamically 2022-02-25 11:26:59 +01:00
Eren Gölge 1f0c8179da Make style 2022-02-25 11:26:59 +01:00
Eren Gölge bb37462794 Update language manager 2022-02-25 11:26:59 +01:00
Eren Gölge 5169d4eb32 Plot pitch over input characters 2022-02-25 11:26:59 +01:00
Eren Gölge c4c471d61d Allow padding for shorter segments 2022-02-25 11:25:48 +01:00
Eren Gölge 2fe16de8e3 Make lint 2022-02-25 11:25:00 +01:00
Eren Gölge 07b0a80d57 Fix tokenizer init_from_config 2022-02-25 11:24:13 +01:00
Eren Gölge 5176ae9e53 Fixes small compat. issues 2022-02-25 11:21:19 +01:00
Eren Gölge 131bc0cfc0 Fix synthesis.py 🔧 2022-02-25 11:18:00 +01:00
Eren Gölge f802a931a3 Pass samples to init_from_config in SpeakerManager 2022-02-25 11:07:34 +01:00
Eren Gölge bde68d9f25 Use the same phonemizer for `en` to `en-us` 2022-02-25 11:07:34 +01:00
Eren Gölge 8649d4fd36 Allow None pad and blank tokens 2022-02-25 11:07:34 +01:00
Eren Gölge c9972e6f14 Make lint 2022-02-25 11:07:34 +01:00
Eren Gölge b6c2bfdf08 Refactor synthesis.py for TTSTokenizer 2022-02-25 11:05:06 +01:00
Eren Gölge 196ae74273 Update data loader tests 2022-02-25 11:05:06 +01:00
Eren Gölge 98057a00ae Make style 2022-02-25 10:57:35 +01:00
Eren Gölge d0eb642d88 Refactor synthesis.py for TTSTokenizer 2022-02-25 10:48:03 +01:00
Eren Gölge 04202da1ac Make style 2022-02-25 10:48:03 +01:00
Eren Gölge 3b63d713b9 Fix espeak wrapper cmd call 2022-02-25 10:48:03 +01:00
Eren Gölge 4894998e6b Fix print_logs 2022-02-25 10:48:03 +01:00
Eren Gölge 4e8f9d6f10 Fix IPAPhonemes init_from_config 2022-02-25 10:48:03 +01:00
Eren Gölge 0fe39166fe Discard OOV chars in tokenizer
Discard but store OOV chars with a warninig message
when the OOV char first recognized
2022-02-25 10:48:03 +01:00
Eren Gölge c39aaafbfc Update EspeakWrapper for espeak-ng 2022-02-25 10:48:03 +01:00
Eren Gölge 87bf940676 Print duplicate characters 2022-02-25 10:48:03 +01:00
Eren Gölge 3de9f38d16 Add init_from_config to SpeakerManager 2022-02-25 10:48:03 +01:00
Eren Gölge d8ec7086b6 Update `synthesis` for the new API 2022-02-25 10:48:03 +01:00
Eren Gölge 4e83bf3968 Allow choosing phonemizer 2022-02-25 10:48:02 +01:00
Eren Gölge 22f0c58fe1 Print language codes 2022-02-25 10:48:02 +01:00
Eren Gölge 693fb4dd39 Modify init_from_config for IPAPhonemes 2022-02-25 10:48:02 +01:00
Eren Gölge ba3b60c90f Test TTSTokenizer 2022-02-25 10:48:02 +01:00
Eren Gölge 79a84410f2 Test punctuations 2022-02-25 10:48:02 +01:00
Eren Gölge d8bdeb8b8f Fix Punctuation 2022-02-25 10:48:02 +01:00
Eren Gölge ff7c385838 Fix BasePhonemizer 2022-02-25 10:48:02 +01:00
Eren Gölge 10d435ce77 Fixup 2022-02-25 10:48:02 +01:00
Eren Gölge f0655bfffc Fix ja_jp_phonemizer 2022-02-25 10:48:02 +01:00
Eren Gölge 20e5dd3678 Add doc examples 2022-02-25 10:48:02 +01:00
Eren Gölge fbad17e084 Update imports for symbols -> characters 2022-02-25 10:48:02 +01:00
Eren Gölge a1df4f9887 Test character classes 2022-02-25 10:45:24 +01:00
Eren Gölge 5a9653978a Refactor synthesis.py for TTSTokenizer 2022-02-25 10:45:24 +01:00
Eren Gölge e5785b34b0 Style fix 2022-02-25 10:27:46 +01:00
Eren Gölge 2480bbe937 Remove OLD TOKENIZATION ROUTINES 2022-02-25 09:32:54 +01:00
Eren Gölge 8d85af84cd Implement Punctuation class 2022-02-25 09:32:54 +01:00
Eren Gölge 1aca58afaf Fix imports in cleaners.py 2022-02-25 09:32:54 +01:00
Eren Gölge 0344645e90 Implement TTSTokenizer 2022-02-25 09:32:54 +01:00
Eren Gölge 2fb1f70503 Implement BaseCharacters, IPAPhonemes, Graphemes 2022-02-25 09:32:54 +01:00
Eren Gölge 1bee40af40 Create language folders under `TTS.tts.utils.text` 2022-02-25 09:32:54 +01:00
Eren Gölge c1119bc291 Implement BasePhonemizer 2022-02-25 09:32:54 +01:00
Eren Gölge dcd01356e0 Create `text/english` folder 2022-02-25 09:32:54 +01:00
Eren Gölge 80867c8e8c Implement multi-phonemizer 2022-02-25 09:32:54 +01:00
Eren Gölge 5e4f78add3 Implement espeak wrapper 2022-02-25 09:32:54 +01:00
Eren Gölge e03a05c816 Implement gruut wrapper 2022-02-25 09:32:54 +01:00
Eren Gölge 172ba0c5e7 Implement JA_JP phonemizer 2022-02-25 09:32:54 +01:00
Eren Gölge ca02b82218 Implement ZH_CH phonemizer 2022-02-25 09:32:54 +01:00
Eren Gölge 127118c637
Update TTS.tts formatters (#1228)
* Return Dict from tts formatters

* Make style
2022-02-11 23:03:43 +01:00
Edresson Casanova 0860d73cf8
Remove Tensorflow requeriment (#1225)
* Remove TF modules

* Remove TF unit tests

* Remove TF vocoder modules

* Remove TF convert scripts

* Remove TF requirement

* Remove the Docs TF instructions

* Remove TF inference support
2022-02-10 16:14:54 +01:00
Eren Gölge 348b5c96a2 Fix speaker encoder test 2021-12-30 15:36:35 +00:00
Eren Gölge 5c5ddd2ba7 Init speaker manager for speaker encoder 2021-12-22 15:51:53 +00:00
Eren Gölge a25269d897 Remove commented code 2021-12-20 11:54:10 +00:00
Eren Gölge 79de38ca76 Rename setup_model to setup_speaker_encoder_model 2021-12-20 11:54:10 +00:00
WeberJulian a564eb9f54 Add support for multi-lingual models in CLI 2021-12-20 11:54:10 +00:00
WeberJulian 6b03943526 Move multilingual logic out of the trainer 2021-12-20 11:54:10 +00:00
WeberJulian ffc269eaf4 Update docstring 2021-12-20 11:54:10 +00:00
Edresson b769b49e34 Remove the data from the set_d_vectors_from_file function 2021-12-20 11:54:10 +00:00
Edresson 9daa33d1fd Remove unusable speaker manager function 2021-12-20 11:54:10 +00:00
WeberJulian 120332d53f Fix phonemes 2021-12-20 11:54:10 +00:00
WeberJulian e995a63bd6 fix linter 2021-12-20 11:54:10 +00:00
WeberJulian 1472b6df49 make style 2021-12-20 11:54:10 +00:00
WeberJulian 4d721bcabd fix test sentence synthesis 2021-12-20 11:54:10 +00:00
WeberJulian 005bba60b0 get_speaker_weighted_sampler 2021-12-20 11:54:10 +00:00
Edresson 9b011b1cb3 Add H/ASP original checkpoint support 2021-12-20 11:54:09 +00:00