coqui-tts/TTS/tts/layers/glow_tts
Martin Weinelt 994be163e1
Use packaging.version for version comparisons (#2310)
* Use packaging.version for version comparisons

The distutils package is deprecated¹ and relies on PEP 386² version
comparisons, which have been superseded by PEP 440³ which is implemented
through the packaging module.

With more recent distutils versions, provided through setuptools
vendoring, we are seeing the following exception during version
comparisons:

> TypeError: '<' not supported between instances of 'str' and 'int'

This is fixed by this migration.

[1] https://docs.python.org/3/library/distutils.html
[2] https://peps.python.org/pep-0386/
[3] https://peps.python.org/pep-0440/

* Improve espeak version detection robustness

On many modern systems espeak is just a symlink to espeak-ng. In that
case looking for the 3rd word in the version output will break the
version comparison, when it finds `text-to-speech:`, instead of a proper
version.

This will not break during runtime, where espeak-ng would be
prioritized, but the phonemizer and tokenizer tests force the backend
to `espeak`, which exhibits this breakage.

This improves the version detection by simply looking for the version
after the "text-to-speech:" token.

* Replace distuils.copy_tree with shutil.copytree

The distutils module is deprecated and slated for removal in Python
3.12. Its usage should be replaced, in this case by a compatible method
from shutil.
2023-01-29 23:47:00 +01:00
..
__init__.py glow-tts module renaming updates 2020-09-12 03:33:36 +02:00
decoder.py Update decoder.py (#1792) 2022-07-26 13:06:06 +02:00
duration_predictor.py Add the language embedding dim in the duration predictor class 2021-12-20 11:54:10 +00:00
encoder.py Update TTS.tts formatters (#1228) 2022-02-11 23:03:43 +01:00
glow.py Use packaging.version for version comparisons (#2310) 2023-01-29 23:47:00 +01:00
transformer.py Update TTS.tts formatters (#1228) 2022-02-11 23:03:43 +01:00