mirror of
https://github.com/zhayujie/chatgpt-on-wechat.git
synced 2026-03-04 07:43:46 +08:00
33 lines
924 B
Python
33 lines
924 B
Python
import time
|
|
|
|
from elevenlabs import set_api_key,generate
|
|
|
|
from bridge.reply import Reply, ReplyType
|
|
from common.log import logger
|
|
from common.tmp_dir import TmpDir
|
|
from voice.voice import Voice
|
|
from config import conf
|
|
|
|
XI_API_KEY = conf().get("xi_api_key")
|
|
set_api_key(XI_API_KEY)
|
|
name = conf().get("xi_voice_id")
|
|
|
|
class ElevenLabsVoice(Voice):
|
|
|
|
def __init__(self):
|
|
pass
|
|
|
|
def voiceToText(self, voice_file):
|
|
pass
|
|
|
|
def textToVoice(self, text):
|
|
audio = generate(
|
|
text=text,
|
|
voice=name,
|
|
model='eleven_multilingual_v1'
|
|
)
|
|
fileName = TmpDir().path() + "reply-" + str(int(time.time())) + "-" + str(hash(text) & 0x7FFFFFFF) + ".mp3"
|
|
with open(fileName, "wb") as f:
|
|
f.write(audio)
|
|
logger.info("[ElevenLabs] textToVoice text={} voice file name={}".format(text, fileName))
|
|
return Reply(ReplyType.VOICE, fileName) |