project_charles / speech_service.py
sohojoe's picture
fixes to have two sepakers in the debug.py
69f88db
raw
history blame
1.25 kB
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