snakers4 / silero-models

Silero Models: pre-trained speech-to-text, text-to-speech and text-enhancement models made embarrassingly simple
Other
4.86k stars 303 forks source link

How to get silero_tts to pronounce numbers for Indic languages? #210

Closed xavierthomas22 closed 1 year ago

xavierthomas22 commented 1 year ago

Hi,

I would love to know how to get silero_tts to pronounce numbers for Indic languages. Please see the sample code attached below. Thank You!

# V3
import torch
import torchaudio
from aksharamukha import transliterate

# Loading model
model, example_text = torch.hub.load(repo_or_dir='snakers4/silero-models',
                                     model='silero_tts',
                                     language='indic',
                                     speaker='v3_indic')

orig_text = "आज 23 मार्च, 2023 है और कोविड-19 और एच3एन2 के मामले बढ़ रहे हैं और अब बढ़कर 10000 मामले हो गए हैं"
roman_text = transliterate.process('Devanagari', 'ISO', orig_text)
print(roman_text)

tts_audio = model.apply_tts(roman_text,
                        speaker='hindi_male',
                        sample_rate=48000)
torchaudio.save(f'audio_output.wav',
            tts_audio.unsqueeze(0),
            sample_rate=48000)

Outputs: roman_text: āja 23 mārca, 2023 hai aura kōviḍa-19 aura ēca3ēna2 kē māmalē baṛha rahē haiṁ aura aba baṛhakara 10000 māmalē hō gaē haiṁ audio_output.wav: does not pronounce the numbers in Hindi or English.

snakers4 commented 1 year ago

Hi,

Just spell the numbers. There is no text normalization module.