|
from .cleaner import french_cleaners |
|
from .gruut_wrapper import Gruut |
|
|
|
|
|
def remove_consecutive_t(input_str): |
|
result = [] |
|
count = 0 |
|
|
|
for char in input_str: |
|
if char == 't': |
|
count += 1 |
|
else: |
|
if count < 3: |
|
result.extend(['t'] * count) |
|
count = 0 |
|
result.append(char) |
|
|
|
if count < 3: |
|
result.extend(['t'] * count) |
|
|
|
return ''.join(result) |
|
|
|
def fr2ipa(text): |
|
e = Gruut(language="fr-fr", keep_puncs=True, keep_stress=True, use_espeak_phonemes=True) |
|
|
|
phonemes = e.phonemize(text, separator="") |
|
|
|
phonemes = remove_consecutive_t(phonemes) |
|
|
|
return phonemes |