Skip to content

Commit

Permalink
Fixes a race condition with multiple simultaneous get requests. (#1807)
Browse files Browse the repository at this point in the history
* 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>
  • Loading branch information
KyuubiYoru and WeberJulian authored Sep 8, 2022
1 parent bb59718 commit 3b7dff5
Showing 1 changed file with 14 additions and 9 deletions.
23 changes: 14 additions & 9 deletions TTS/server/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
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
Expand Down Expand Up @@ -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")


Expand Down

0 comments on commit 3b7dff5

Please sign in to comment.