mirror of
https://github.com/wassname/TTS.git
synced 2026-09-09 11:16:00 +08:00
Fixes a race condition with multiple simultaneous get requests. (#1807)
* Fixes a race condition with multiple simultaneous get requests. * Removed unused import * Removed unused threading import * Changed lock style to notation * make style Co-authored-by: WeberJulian <julian.weber@hotmail.fr>
This commit is contained in:
co-authored by
WeberJulian
parent
bb59718c03
commit
3b7dff568a
+14
-9
@@ -5,6 +5,7 @@ import json
|
||||
import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from threading import Lock
|
||||
from typing import Union
|
||||
|
||||
from flask import Flask, render_template, request, send_file
|
||||
@@ -168,17 +169,21 @@ def details():
|
||||
)
|
||||
|
||||
|
||||
lock = Lock()
|
||||
|
||||
|
||||
@app.route("/api/tts", methods=["GET"])
|
||||
def tts():
|
||||
text = request.args.get("text")
|
||||
speaker_idx = request.args.get("speaker_id", "")
|
||||
style_wav = request.args.get("style_wav", "")
|
||||
style_wav = style_wav_uri_to_dict(style_wav)
|
||||
print(" > Model input: {}".format(text))
|
||||
print(" > Speaker Idx: {}".format(speaker_idx))
|
||||
wavs = synthesizer.tts(text, speaker_name=speaker_idx, style_wav=style_wav)
|
||||
out = io.BytesIO()
|
||||
synthesizer.save_wav(wavs, out)
|
||||
with lock:
|
||||
text = request.args.get("text")
|
||||
speaker_idx = request.args.get("speaker_id", "")
|
||||
style_wav = request.args.get("style_wav", "")
|
||||
style_wav = style_wav_uri_to_dict(style_wav)
|
||||
print(" > Model input: {}".format(text))
|
||||
print(" > Speaker Idx: {}".format(speaker_idx))
|
||||
wavs = synthesizer.tts(text, speaker_name=speaker_idx, style_wav=style_wav)
|
||||
out = io.BytesIO()
|
||||
synthesizer.save_wav(wavs, out)
|
||||
return send_file(out, mimetype="audio/wav")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user