还原被删除的auto-gpt

This commit is contained in:
w_xiaolizu
2023-05-29 12:34:12 +08:00
parent 2b28f29681
commit 5e201222bb
77 changed files with 7456 additions and 0 deletions

50
autogpt/speech/base.py Normal file
View File

@ -0,0 +1,50 @@
"""Base class for all voice classes."""
import abc
from threading import Lock
from autogpt.config import AbstractSingleton
class VoiceBase(AbstractSingleton):
"""
Base class for all voice classes.
"""
def __init__(self):
"""
Initialize the voice class.
"""
self._url = None
self._headers = None
self._api_key = None
self._voices = []
self._mutex = Lock()
self._setup()
def say(self, text: str, voice_index: int = 0) -> bool:
"""
Say the given text.
Args:
text (str): The text to say.
voice_index (int): The index of the voice to use.
"""
with self._mutex:
return self._speech(text, voice_index)
@abc.abstractmethod
def _setup(self) -> None:
"""
Setup the voices, API key, etc.
"""
pass
@abc.abstractmethod
def _speech(self, text: str, voice_index: int = 0) -> bool:
"""
Play the given text.
Args:
text (str): The text to play.
"""
pass