Source code for faker_file.providers.mp3_file.generators.gtts_generator

from io import BytesIO

from gtts import gTTS

from ...base.mp3_generator import BaseMp3Generator

__author__ = "Artur Barseghyan <artur.barseghyan@gmail.com>"
__copyright__ = "2022-2025 Artur Barseghyan"
__license__ = "MIT"
__all__ = ("GttsMp3Generator",)


DEFAULT_LANG = "en"
DEFAULT_TLD = "com"


[docs] class GttsMp3Generator(BaseMp3Generator): """Google Text-to-Speech generator. Usage example: .. code-block:: python from faker import Faker from faker_file.providers.mp3_file import Mp3FileProvider from faker_file.providers.mp3_file.generators.gtts_generator import ( GttsMp3Generator, ) FAKER = Faker() FAKER.add_provider(Mp3FileProvider) file = FAKER.mp3_file( mp3_generator_cls=GttsMp3Generator ) """ lang: str = DEFAULT_LANG tld: str = DEFAULT_TLD
[docs] def handle_kwargs(self: "GttsMp3Generator", **kwargs) -> None: if "lang" in kwargs: self.lang = kwargs["lang"] if "tld" in kwargs: self.tld = kwargs["tld"]
[docs] def generate(self: "GttsMp3Generator", **kwargs) -> bytes: """Generate MP3.""" with BytesIO() as __fake_file: tts = gTTS(self.content, lang=self.lang, tld=self.tld) tts.write_to_fp(__fake_file) return __fake_file.getvalue()