'commit'
This commit is contained in:
Binary file not shown.
@@ -104,17 +104,35 @@ async def generate_audio(request: TextToSpeechRequest):
|
||||
根据输入文本和语音参数生成音频文件
|
||||
"""
|
||||
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工具生成音频
|
||||
audio_url = tts_instance.generate_audio(
|
||||
audio_data = tts_instance.generate_audio(
|
||||
text=request.text,
|
||||
voice_type=request.voice_type,
|
||||
speed_ratio=request.speed_ratio,
|
||||
volume_ratio=request.volume_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(
|
||||
success=True,
|
||||
message="音频生成成功",
|
||||
|
Reference in New Issue
Block a user