Spaces:
Sleeping
Sleeping
| """ | |
| Created By: ishwor subedi | |
| Date: 2024-07-31 | |
| """ | |
| import base64 | |
| from io import BytesIO | |
| from gtts import gTTS | |
| from gtts.tokenizer import pre_processors | |
| class TextToSpeech: | |
| def __init__(self): | |
| self.preprocessing = [pre_processors.tone_marks, pre_processors.end_of_line, pre_processors.word_sub, | |
| pre_processors.abbreviations] | |
| def conversion(self, text: str, lang: str, tld: str) -> str: | |
| """ | |
| Convert text to speech and return the Base64-encoded MP3 data. | |
| :param text: The text to convert to speech. | |
| :param lang: The language in which to convert the text. | |
| :return: Base64-encoded MP3 data as a string. | |
| """ | |
| tts = gTTS(text=text, lang=lang, slow=False, tld=tld, pre_processor_funcs=self.preprocessing) | |
| mp3_fp = BytesIO() | |
| tts.write_to_fp(mp3_fp) | |
| mp3_fp.seek(0) | |
| mp3_binary = mp3_fp.getvalue() | |
| base64_mp3 = base64.b64encode(mp3_binary).decode("utf-8") | |
| return base64_mp3 | |