diff --git a/TTS/server/server.py b/TTS/server/server.py index c579ff67..e15e8880 100644 --- a/TTS/server/server.py +++ b/TTS/server/server.py @@ -8,6 +8,7 @@ from pathlib import Path from flask import Flask, render_template, request, send_file from TTS.utils.synthesizer import Synthesizer from TTS.utils.manage import ModelManager +from TTS.utils.io import load_config def create_argparser(): @@ -26,6 +27,7 @@ def create_argparser(): parser.add_argument('--port', type=int, default=5002, help='port to listen on.') parser.add_argument('--use_cuda', type=convert_boolean, default=False, help='true to use CUDA.') parser.add_argument('--debug', type=convert_boolean, default=False, help='true to enable Flask debug mode.') + parser.add_argument('--show_details', type=convert_boolean, default=False, help='Generate model detail page.') return parser synthesizer = None @@ -81,6 +83,20 @@ app = Flask(__name__) def index(): return render_template('index.html') +@app.route('/details') +def details(): + model_config = load_config(args.tts_config) + if args.vocoder_config is not None and os.path.isfile(args.vocoder_config): + vocoder_config = load_config(args.vocoder_config) + else: + vocoder_config = None + + return render_template('details.html', + show_details=args.show_details + , model_config=model_config + , vocoder_config=vocoder_config + , args=args.__dict__ + ) @app.route('/api/tts', methods=['GET']) def tts(): diff --git a/TTS/server/templates/details.html b/TTS/server/templates/details.html new file mode 100644 index 00000000..51c9ed85 --- /dev/null +++ b/TTS/server/templates/details.html @@ -0,0 +1,131 @@ + + + + + + + + + + + TTS engine + + + + + + + + + + Fork me on GitHub + + {% if show_details == true %} + +
+ Model details +
+ +
+
+ CLI arguments: + + + + + + + {% for key, value in args.items() %} + + + + + + + {% endfor %} +
CLI key Value
{{ key }}{{ value }}
+
+

+ +
+ + {% if model_config != None %} + +
+ Model config: + + + + + + + + + {% for key, value in model_config.items() %} + + + + + + + {% endfor %} + +
Key Value
{{ key }}{{ value }}
+
+ + {% endif %} + +

+ + + +
+ {% if vocoder_config != None %} +
+ Vocoder model config: + + + + + + + + + {% for key, value in vocoder_config.items() %} + + + + + + + {% endfor %} + + +
Key Value
{{ key }}{{ value }}
+
+ {% endif %} +

+ + {% else %} +
+ Please start server with --show_details=true to see details. +
+ + {% endif %} + + + + \ No newline at end of file