Spaces:
Sleeping
Sleeping
""" 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 | |