""" Brian speech module for autogpt """ import os import requests from playsound import playsound from autogpt.speech.base import VoiceBase class BrianSpeech(VoiceBase): """Brian speech module for autogpt""" def _setup(self) -> None: """Setup the voices, API key, etc.""" pass def _speech(self, text: str, _: int = 0) -> bool: """Speak text using Brian with the streamelements API Args: text (str): The text to speak Returns: bool: True if the request was successful, False otherwise """ tts_url = ( f"https://api.streamelements.com/kappa/v2/speech?voice=Brian&text={text}" ) response = requests.get(tts_url) if response.status_code == 200: with open("speech.mp3", "wb") as f: f.write(response.content) playsound("speech.mp3") os.remove("speech.mp3") return True else: print("Request failed with status code:", response.status_code) print("Response content:", response.content) return False