project_charles / speech_service.py
sohojoe's picture
created chat_pipeline
730fe87
raw
history blame
1.13 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)
return
def stream(self, prompt):
audio_stream = generate(
text=prompt,
voice=self._voice_id,
model=self._model_id,
stream_chunk_size=2048,
stream=True,
)
return audio_stream