Source code for dronebuddylib.atoms.speechgeneration.i_speech_generation

from abc import ABC, abstractmethod

from dronebuddylib.models.engine_configurations import EngineConfigurations
from dronebuddylib.models.i_dbl_function import IDBLFunction


[docs] class ISpeechGeneration(IDBLFunction): def __init__(self, engine_configurations: EngineConfigurations): """ Constructor to initialize the speech generation engine. Args: engine_configurations (EngineConfigurations): The configurations for the speech generation engine. """ self.engine_configurations = engine_configurations
[docs] @abstractmethod def read_phrase(self, phrase: str) -> None: """ Generates speech from the provided text and plays it. Args: phrase (str): The text to be converted into speech. Returns: None """ pass
[docs] @abstractmethod def change_voice(self, voice_id: str) -> bool: """ Changes the voice used by the speech generation engine. Args: voice_id (str): The identifier of the desired voice. Returns: bool: True if the voice was changed successfully, False otherwise. """ pass
[docs] @abstractmethod def change_volume(self, volume: float) -> bool: """ Changes the volume of the speech generation engine. Args: volume (float): The desired volume level. Returns: bool: True if the volume was changed successfully, False otherwise. """ pass
[docs] @abstractmethod def change_rate(self, rate: int) -> bool: """ Changes the speech rate of the speech generation engine. Args: rate (int): The desired speech rate. Returns: bool: True if the rate was changed successfully, False otherwise. """ pass
[docs] @abstractmethod def get_current_configs(self) -> dict: """ Gets the current configurations of the speech generation engine. Returns: dict: A dictionary containing the current configurations. """ pass