'commit'
This commit is contained in:
Binary file not shown.
@@ -104,17 +104,35 @@ async def generate_audio(request: TextToSpeechRequest):
|
|||||||
根据输入文本和语音参数生成音频文件
|
根据输入文本和语音参数生成音频文件
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
|
# 生成唯一文件名
|
||||||
|
import os
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
# 确保输出目录存在
|
||||||
|
output_dir = "static/audio"
|
||||||
|
os.makedirs(output_dir, exist_ok=True)
|
||||||
|
|
||||||
|
# 生成唯一文件名
|
||||||
|
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
|
||||||
|
unique_id = str(uuid.uuid4())[:8]
|
||||||
|
filename = f"tts_{timestamp}_{unique_id}.{request.encoding}"
|
||||||
|
output_path = os.path.join(output_dir, filename)
|
||||||
|
|
||||||
# 调用TTS工具生成音频
|
# 调用TTS工具生成音频
|
||||||
audio_url = tts_instance.generate_audio(
|
audio_data = tts_instance.generate_audio(
|
||||||
text=request.text,
|
text=request.text,
|
||||||
voice_type=request.voice_type,
|
voice_type=request.voice_type,
|
||||||
speed_ratio=request.speed_ratio,
|
speed_ratio=request.speed_ratio,
|
||||||
volume_ratio=request.volume_ratio,
|
volume_ratio=request.volume_ratio,
|
||||||
pitch_ratio=request.pitch_ratio,
|
pitch_ratio=request.pitch_ratio,
|
||||||
encoding=request.encoding
|
encoding=request.encoding,
|
||||||
|
output_path=output_path
|
||||||
)
|
)
|
||||||
|
|
||||||
if audio_url:
|
if audio_data:
|
||||||
|
# 构建可访问的URL
|
||||||
|
audio_url = f"/{output_path}"
|
||||||
|
|
||||||
return TextToSpeechResponse(
|
return TextToSpeechResponse(
|
||||||
success=True,
|
success=True,
|
||||||
message="音频生成成功",
|
message="音频生成成功",
|
||||||
|
BIN
dsLightRag/static/audio/tts_20250902_073958_bd36e456.mp3
Normal file
BIN
dsLightRag/static/audio/tts_20250902_073958_bd36e456.mp3
Normal file
Binary file not shown.
Reference in New Issue
Block a user