Spaces:
Runtime error
Runtime error
| import os | |
| from elevenlabs import generate, play | |
| from elevenlabs import set_api_key | |
| from elevenlabs import generate, stream | |
| class SpeechService: | |
| def __init__(self, voice_id="Bella", model_id="eleven_monolingual_v1"): | |
| account_sid = os.environ["ELEVENLABS_API_KEY"] | |
| set_api_key(account_sid) | |
| self._voice_id = voice_id | |
| self._model_id = model_id | |
| # def print_models(self): | |
| # models = generate() | |
| # for model in models: | |
| # print (model["id"], model["name"]) | |
| def print_voices(self): | |
| from elevenlabs.api import Voices | |
| voices = Voices.from_api() | |
| for voice in voices: | |
| print (voice) | |
| def speak(self, prompt): | |
| # audio = generate( | |
| # text=prompt, | |
| # voice=self._voice_id, | |
| # model=self._model_id, | |
| # ) | |
| # play(audio) | |
| audio_stream = generate( | |
| text=prompt, | |
| voice=self._voice_id, | |
| model=self._model_id, | |
| stream=True | |
| ) | |
| # stream(audio_stream) | |
| audio = b"" | |
| for chunk in audio_stream: | |
| if chunk is not None: | |
| audio += chunk | |
| # play(chunk) | |
| play(audio) | |
| return | |
| def stream(self, prompt): | |
| audio_stream = generate( | |
| text=prompt, | |
| voice=self._voice_id, | |
| model=self._model_id, | |
| stream=True | |
| ) | |
| return audio_stream | |