diff --git a/app/core/constants.py b/app/core/constants.py index 21d72aa..cbdfb8f 100644 --- a/app/core/constants.py +++ b/app/core/constants.py @@ -76,4 +76,15 @@ DEFAULT_SAFETY_SETTINGS = [ {"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "OFF"}, {"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "OFF"}, {"category": "HARM_CATEGORY_CIVIC_INTEGRITY", "threshold": "BLOCK_NONE"}, - ] \ No newline at end of file + ] + +TTS_VOICE_NAMES = [ + "Zephyr", "Puck", "Charon", "Kore", + "Fenrir", "Leda", "Orus", "Aoede", + "Callirhoe", "Autonoe", "Enceladus", "Iapetus", + "Umbriel", "Algieba", "Despina", "Erinome", + "Algenib", "Rasalgethi", "Laomedeia", "Achernar", + "Alnilam", "Schedar", "Gacrux", "Pulcherrima", + "Achird", "Zubenelgenubi", "Vindemiatrix", "Sadachbia", + "Sadaltager", "Sulafat" +] \ No newline at end of file diff --git a/app/service/tts/tts_service.py b/app/service/tts/tts_service.py index 99a6074..b7c19f0 100644 --- a/app/service/tts/tts_service.py +++ b/app/service/tts/tts_service.py @@ -8,6 +8,7 @@ from typing import Optional from google import genai from app.config.config import settings +from app.core.constants import TTS_VOICE_NAMES from app.database.services import add_error_log, add_request_log from app.domain.openai_models import TTSRequest from app.log.logger import get_openai_logger @@ -47,7 +48,7 @@ class TTSService: "speech_config": { "voice_config": { "prebuilt_voice_config": { - "voice_name": settings.TTS_VOICE_NAME + "voice_name": request.voice if request.voice in TTS_VOICE_NAMES else settings.TTS_VOICE_NAME } } },