From ea2c57b0ac1fb67332364bf91cdaee2db0ccbe20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 10 Dec 2020 16:37:54 +0100 Subject: [PATCH 1/3] test_text_processing: remove assertion message pytest does a better job at diffing anyway in case of an error --- tests/test_text_processing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_text_processing.py b/tests/test_text_processing.py index d6bcbe61..2f68c6e7 100644 --- a/tests/test_text_processing.py +++ b/tests/test_text_processing.py @@ -171,4 +171,4 @@ def test_text2phone(): gt = "ɹ|iː|s|ə|n|t| |ɹ|ɪ|s|ɜː|tʃ| |æ|t| |h|ɑːɹ|v|ɚ|d| |h|ɐ|z| |ʃ|oʊ|n| |m|ɛ|d|ᵻ|t|eɪ|ɾ|ɪ|ŋ| |f|ɔː|ɹ| |æ|z| |l|ɪ|ɾ|əl| |æ|z| |eɪ|t| |w|iː|k|s| |k|æ|n| |æ|k|tʃ|uː|əl|i| |ɪ|n|k|ɹ|iː|s|,| |ð|ə| |ɡ|ɹ|eɪ| |m|æ|ɾ|ɚ|ɹ| |ɪ|n|ð|ə| |p|ɑːɹ|t|s| |ʌ|v|ð|ə| |b|ɹ|eɪ|n| |ɹ|ɪ|s|p|ɑː|n|s|ə|b|əl| |f|ɔː|ɹ| |ɪ|m|oʊ|ʃ|ə|n|əl| |ɹ|ɛ|ɡ|j|uː|l|eɪ|ʃ|ə|n| |æ|n|d| |l|ɜː|n|ɪ|ŋ|!" lang = "en-us" ph = text2phone(text, lang) - assert gt == ph, f"\n{ph} \n vs \n{gt}" + assert gt == ph From cdb81f8c5dcf109c28bb253c0da304d621ad112e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 10 Dec 2020 16:43:07 +0100 Subject: [PATCH 2/3] test_text_cleaners: don't re-invent assertions pytest does treat assert special and does a better job w.r.t error reporting --- tests/test_text_cleaners.py | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/tests/test_text_cleaners.py b/tests/test_text_cleaners.py index 081e819a..0407b5d7 100644 --- a/tests/test_text_cleaners.py +++ b/tests/test_text_cleaners.py @@ -1,24 +1,16 @@ #!/usr/bin/env python3 from TTS.tts.utils.text.cleaners import english_cleaners, phoneme_cleaners -from typing import Any - - -def assert_equal(actual: Any, expected: Any) -> None: - assert actual == expected, f"\n{actual} \n vs \n{expected}" def test_time() -> None: - assert_equal(english_cleaners("It's 11:00"), "it's eleven a m") - assert_equal(english_cleaners("It's 9:01"), "it's nine oh one a m") - assert_equal(english_cleaners("It's 16:00"), "it's four p m") - assert_equal(english_cleaners("It's 00:00 am"), "it's twelve a m") + assert english_cleaners("It's 11:00") == "it's eleven a m" + assert english_cleaners("It's 9:01") == "it's nine oh one a m" + assert english_cleaners("It's 16:00") == "it's four p m" + assert english_cleaners("It's 00:00 am") == "it's twelve a m" def test_currency() -> None: - assert_equal(phoneme_cleaners("It's $10.50"), - "It's ten dollars fifty cents") - assert_equal(phoneme_cleaners("£1.1"), - "one pound sterling one penny") - assert_equal(phoneme_cleaners("¥1"), - "one yen") + assert phoneme_cleaners("It's $10.50") == "It's ten dollars fifty cents" + assert phoneme_cleaners("£1.1") == "one pound sterling one penny" + assert phoneme_cleaners("¥1") == "one yen" From 62fd4ca70dec5851c44265147b389aa135861a3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Fri, 4 Dec 2020 22:48:08 +0100 Subject: [PATCH 3/3] inflect negative numbers correctly --- TTS/tts/utils/text/number_norm.py | 2 +- tests/test_text_cleaners.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/TTS/tts/utils/text/number_norm.py b/TTS/tts/utils/text/number_norm.py index a366ae42..2b83c271 100644 --- a/TTS/tts/utils/text/number_norm.py +++ b/TTS/tts/utils/text/number_norm.py @@ -9,7 +9,7 @@ _comma_number_re = re.compile(r'([0-9][0-9\,]+[0-9])') _decimal_number_re = re.compile(r'([0-9]+\.[0-9]+)') _currency_re = re.compile(r'(£|\$|¥)([0-9\,\.]*[0-9]+)') _ordinal_re = re.compile(r'[0-9]+(st|nd|rd|th)') -_number_re = re.compile(r'[0-9]+') +_number_re = re.compile(r'-?[0-9]+') def _remove_commas(m): diff --git a/tests/test_text_cleaners.py b/tests/test_text_cleaners.py index 0407b5d7..7a2abe72 100644 --- a/tests/test_text_cleaners.py +++ b/tests/test_text_cleaners.py @@ -14,3 +14,8 @@ def test_currency() -> None: assert phoneme_cleaners("It's $10.50") == "It's ten dollars fifty cents" assert phoneme_cleaners("£1.1") == "one pound sterling one penny" assert phoneme_cleaners("¥1") == "one yen" + + +def test_expand_numbers() -> None: + assert "minus one" == phoneme_cleaners("-1") + assert "one" == phoneme_cleaners("1")