Merge pull request #597 from Mic92/negative

inflect negative numbers correctly
This commit is contained in:
Eren Gölge 2020-12-12 18:50:03 +01:00 committed by GitHub
commit f0f652e122
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 17 deletions

View File

@ -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):

View File

@ -1,24 +1,21 @@
#!/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"
def test_expand_numbers() -> None:
assert "minus one" == phoneme_cleaners("-1")
assert "one" == phoneme_cleaners("1")

View File

@ -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