LLM和TTS采用适配器模式进行解耦,方便扩展更多服务平台调用

This commit is contained in:
HonestQiao
2025-02-11 23:13:18 +08:00
parent 0105d97412
commit 28798dde5c
10 changed files with 287 additions and 270 deletions
+17
View File
@@ -0,0 +1,17 @@
import os
import uuid
import edge_tts
from datetime import datetime
from core.providers.tts.base import TTSProviderBase
class TTSProvider(TTSProviderBase):
def __init__(self, config, delete_audio_file):
super().__init__(config, delete_audio_file)
self.voice = config.get("voice")
def generate_filename(self, extension=".mp3"):
return os.path.join(self.output_file, f"tts-{datetime.now().date()}@{uuid.uuid4().hex}{extension}")
async def text_to_speak(self, text, output_file):
communicate = edge_tts.Communicate(text, voice=self.voice) # Use your preferred voice
await communicate.save(output_file)