Commit Graph

393 Commits

Author SHA1 Message Date
Enno Hermann 76df6421de refactor: move more audio processing into torch_transforms 2024-11-24 19:57:14 +01:00
Enno Hermann b45a7a4220 refactor: move exists() and default() into generic_utils 2024-11-24 19:57:14 +01:00
Enno Hermann 7cdfde226b refactor: move amp_to_db/db_to_amp into torch_transforms 2024-11-23 01:04:17 +01:00
Enno Hermann 1f27f994a1 refactor(utils): remove duplicate set_partial_state_dict 2024-11-21 11:53:35 +01:00
Enno Hermann fbbae5ac6a refactor(audio): remove duplicate rms_volume_norm function 2024-11-18 10:01:52 +01:00
Enno Hermann 8ba3233ec6 refactor(audio): remove duplicate save_wav code 2024-11-18 10:01:50 +01:00
Enno Hermann 5784f6705a refactor(audio): improve type hints, address lint issues 2024-11-18 10:00:55 +01:00
Enno Hermann 48f5be2ccb feat(audio): automatically convert audio to mono 2024-11-18 01:11:43 +01:00
Enno Hermann 993da778b4 chore: use original instead of scarf urls
These allowed Coqui to get download stats, which we don't need anymore
2024-11-10 22:19:25 +01:00
Enno Hermann 8e66be2c32 fix: only enable load with weights_only in pytorch>=2.4
Allows moving the minimum Pytorch version back to 2.1
2024-11-04 18:39:51 +01:00
Enno Hermann 86b58fb6d9 fix: define torch safe globals for torch.load
Required for loading some models using torch.load(..., weights_only=True). This
is only available from Pytorch 2.4
2024-09-12 23:37:19 +02:00
Enno Hermann 2d06aeb79b chore: remove unused TTS.utils.io module
All uses of these methods were replaced with the equivalents from coqui-tts-trainer
2024-06-29 15:07:10 +02:00
Enno Hermann 0fb26f97df refactor: use get_user_data_dir from trainer 2024-06-29 15:07:10 +02:00
Enno Hermann 28296c6458 refactor: use get_git_branch from trainer 2024-06-29 15:07:10 +02:00
Enno Hermann 29e91f2e77 fix(utils.generic_utils): correctly call now() 2024-05-31 08:39:32 +02:00
Enno Hermann e689fd1d4a fix(utils.manage): remove bare except, improve messages 2024-04-03 15:19:45 +02:00
Enno Hermann ab64844aba feat(utils.generic_utils): add custom formatter for logging to console 2024-04-03 15:19:45 +02:00
Enno Hermann 9b2d48f8a6 feat(utils.generic_utils): improve setup_logger() arguments and output 2024-04-03 15:19:45 +02:00
Enno Hermann b711e19cb6 refactor: remove verbose arguments
Can be handled by adjusting logging levels instead.
2024-04-03 15:19:45 +02:00
Enno Hermann b6ab85a050 fix: use logging instead of print statements
Fixes #1691
2024-04-03 15:19:45 +02:00
Enno Hermann e95f8950eb fix: torch.stft will soon require return_complex=True
Refactor that removes the deprecation warning:
torch.view_as_real(torch.stft(*, return_complex=True)) is equal to
torch.stft(*, return_complex=False)

https://pytorch.org/docs/stable/generated/torch.stft.html
2024-03-13 12:06:27 +01:00
Enno Hermann a7753708fb refactor: remove duplicate methods available in Trainer 2024-03-12 15:06:42 +01:00
Enno Hermann d80f7f4eba
Fix fairseq (#11)
* fix fairseq mode

* Added line to fix fairseq model issue and made code cleaner.

---------

Co-authored-by: akgupta1337 <akgupta1337@gmail.com>
2024-03-09 16:43:42 +01:00
Enno Hermann efdafd5a7f style: run black 2024-03-07 11:46:51 +01:00
Enno Hermann 24298da5fc
Merge pull request #1 from eginhard/lint-overhaul
Lint overhaul (pylint to ruff)
2024-03-06 16:10:26 +01:00
Enno Hermann 04d8d4b09a chore: remove unused imports 2024-03-06 13:27:43 +01:00
Nick Potafiy dbf1a08a0d
Update generic_utils.py (#3561)
Handles cases when git branch produces no output or invalid output. Right now, it just crashes with `StopIteration`
2024-02-10 11:20:58 -03:00
Aarni Koskela d6ea806469 Run `make style` 2023-12-13 14:56:41 +02:00
Aarni Koskela 449820ec7d Ruff autofix E71* 2023-12-13 14:56:41 +02:00
WeberJulian d47b6df4e5 Make comments in .model.json valid 2023-12-11 23:35:27 +01:00
WeberJulian 8c20a599d8 Remove coqui studio integration from TTS 2023-12-11 22:11:46 +01:00
WeberJulian e3c9dab7a3 Make CLI work 2023-12-11 18:49:18 +01:00
WeberJulian 0a90359a42 rename speaker file 2023-12-11 18:48:49 +01:00
WeberJulian 0a136a8535 Download speaker file 2023-12-11 11:29:36 +01:00
Josh Meyer 759d9ab3ae
Print message for either commercial license or CPML 2023-12-07 13:54:48 +01:00
Eren G??lge b75e90ba85 Make text splitting optional 2023-11-27 14:53:11 +01:00
Eren G??lge 3b8894a3dd Make style 2023-11-27 14:15:50 +01:00
Eren G??lge 2fd8cf3d94 Make xtts runnable by version names 2023-11-27 14:15:16 +01:00
Enno Hermann 8c5227ed84
Fix tts_with_vc (#3275)
* Revert "fix for issue 3067"

This reverts commit 041b4b6723.

Fixes #3143. The original issue (#3067) was people trying to use
tts.tts_with_vc_to_file() with XTTS and was "fixed" in #3109. But XTTS has
integrated VC and you can just do tts.tts_to_file(..., speaker_wav="..."), there
is no point in passing it through FreeVC afterwards. So, reverting this commit
because it breaks tts.tts_with_vc_to_file() for any model that doesn't have
integrated VC, i.e. all models this method is meant for.

* fix: support multi-speaker models in tts_with_vc/tts_with_vc_to_file

* fix: only compute spk embeddings for models that support it

Fixes #1440. Passing a `speaker_wav` argument to regular Vits models failed
because they don't support voice cloning. Now that argument is simply ignored.
2023-11-24 12:26:37 +01:00
Tessa Painter 64f391b583
Made the tqdm `progress_bar` objects of static download methods a static class variable (#3297) 2023-11-24 12:23:59 +01:00
Enno Hermann 96678c7ba2 refactor: use copy_model_files() from Trainer 2023-11-17 01:18:23 +01:00
Enno Hermann 5119e651a1 chore(utils.io): remove unused code
These are all available in Trainer.
2023-11-17 01:18:23 +01:00
Enno Hermann 39fe38bda4 refactor: use save_fsspec() from Trainer 2023-11-17 01:18:23 +01:00
Enno Hermann 3c2d5a9e03
Remove duplicate AudioProcessor code and fix ExtractTTSpectrogram.ipynb (#3230)
* chore: remove unused argument

* refactor(audio.processor): remove duplicate stft+griffin_lim

* chore(audio.processor): remove unused compute_stft_paddings

Same function available in numpy_transforms

* refactor(audio.processor): remove duplicate db_to_amp

* refactor(audio.processor): remove duplicate amp_to_db

* refactor(audio.processor): remove duplicate linear_to_mel

* refactor(audio.processor): remove duplicate mel_to_linear

* refactor(audio.processor): remove duplicate build_mel_basis

* refactor(audio.processor): remove duplicate stft_parameters

* refactor(audio.processor): use pre-/deemphasis from numpy_transforms

* refactor(audio.processor): use rms_volume_norm from numpy_transforms

* chore(audio.processor): remove duplicate assert

Already checked in numpy_transforms.compute_f0

* refactor(audio.processor): use find_endpoint from numpy_transforms

* refactor(audio.processor): use trim_silence from numpy_transforms

* refactor(audio.processor): use volume_norm from numpy_transforms

* refactor(audio.processor): use load_wav from numpy_transforms

* fix(bin.extract_tts_spectrograms): set quantization bits

* fix(ExtractTTSpectrogram.ipynb): adapt to current TTS code

Fixes #2447, #2574

* refactor(audio.processor): remove duplicate quantization methods
2023-11-16 10:57:06 +01:00
Enno Hermann 99edd6daa3
Fix ModelManager.list_models() (#3128)
* fix(utils.manage): remove hard-coded model_type variable

* refactor(utils.manage): address lint issues, fix typos

Addressed the following:
TTS/utils/manage.py:307:12: R1705: Unnecessary "else" after "return" (no-else-return)
TTS/utils/manage.py:308:21: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
TTS/utils/manage.py:299:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)
TTS/utils/manage.py:299:4: R0201: Method could be a function (no-self-use)
TTS/utils/manage.py:314:4: R0201: Method could be a function (no-self-use)
2023-11-08 11:29:01 +01:00
Edresson Casanova e45227d9ff
XTTS v2.0 (#3137)
* Implement most similar ref training approach

* Use non-enhanced hifigan for test samples

* Add Perceiver

* Update GPT Trainer for perceiver support

* Update XTTS docs

* Bug fix masking with XTTS perceiver

* Bug fix on gpt forward

* Bug Fix on XTTS v2.0 training

* Add XTTS v2.0 unit tests

* Add XTTS v2.0 inference unit tests

* Bug Fix on diffusion inference

* Add XTTS v2.0 training recipe

* Placeholder model entry

* Add cloning params to config

* Make prompt embedding configurable

* Make cloning configurable

* Cheap fix for a cheaper fix

* Prevent resampling

* Update model entry

* Update docs

* Update requirements

* Code linting

* Add xtts v2 to sep tests

* Bug fix on XTTS get_gpt_cond_latents

* Bug fix on rebase

* Make style

* Bug fix in Japenese tokenizer

* Add num2words to deps

* Remove unused kwarg and added num_beams=1 as default

---------

Co-authored-by: Eren G??lge <egolge@coqui.ai>
2023-11-06 14:58:18 +01:00
Aarni Koskela 38f6f8f0bb
Run `make style` & re-enable it in CI (#3127) 2023-11-06 11:36:37 +01:00
Julian Weber cf97116185
XTTS v1.1 (#3089)
* Add support for ne_hifigan

* Update model.json

* Update hash

* Fix model loading

* Enhance text_normalization

* Add xtts to zoo test exception

* Add model hash check

* Add get_number_tokens
2023-10-20 16:02:08 +02:00
David Garvey a151d70242
Add stdout option (#3027)
* add add cli options for play and speed
--play argument uses simpleaudio to play the tts wav
--speed <float 0.0-2.0> passes speed argument to Coqui Studio models

* remove simpleaudio not referenced in file

* fix simpleaudio dependency version

* add ALSA headers for simpleaudio compilation

* Dockerfile ALSA headers for simpleaudio

* base changes to use stdout instead of play audio
Considering conversion to pipe wav data for audio playback with ohter program
like aplay.

This is incomplete code. Using to get feedback before proceeding with
implementation.

* remove play for pipe_out arg that suppresses stdout
removed play and simpleaudio dependency in place of pipe
fuctionality to allow passing wav file data to a program
dedicated to playing audio.

* scipy.io.wavfile.write fails with /dev/null target

* Streaming inference for XTTS 🚀 (#3035)

* v0.17.7

* Redownload XTTS with the local and remote config do not match

* Remove unused method

* Print a message when it is already donwloaded

* Try-except to present error when the user dont have connection

* Fix style

* 0.17.8

* v0.17.8

---------

Co-authored-by: Julian Weber <julian.weber@hotmail.fr>
Co-authored-by: Eren Gölge <erogol@hotmail.com>
Co-authored-by: Edresson Casanova <edresson1@gmail.com>
Co-authored-by: ggoknar <ggoknar@coqui.ai>
2023-10-16 12:07:21 +02:00
Dusty Hagstrom 13cd076a7f
Synthesizer skips over embeddings file if model only has one speaker (#2587)
* It looks like the Neon model is special in that t does not have a speaker_name and it wants to get the only item available. This was blocking a valid model with one speaker and a d_vector_file from being executed to get the embedding.

* Update synthesizer.py

oh my how embarrassing
2023-10-16 11:55:45 +02:00