From 9306b31c12519cbd16a48611c1f6a574fd210ea2 Mon Sep 17 00:00:00 2001
From: erew123 <35898566+erew123@users.noreply.github.com>
Date: Sun, 17 Dec 2023 11:02:32 +0000
Subject: [PATCH] Updated Docs & config file
Had to update a variable due to the latest version of pydantic using a similar variable and causing a potential clash. As such, I have had to use a new configuration file (simplest method). Peoples base settings will be reset on next update. Added a option in the config file for standalone mode output.
---
confignew.json | 1 +
modeldownload.py | 8 +++---
requirements_nvidia.txt | 2 +-
requirements_other.txt | 2 +-
script.py | 34 +++++++++++-----------
templates/generate_form.html | 6 ++--
tts_server.py | 56 ++++++++++++++++++------------------
7 files changed, 55 insertions(+), 54 deletions(-)
create mode 100644 confignew.json
diff --git a/confignew.json b/confignew.json
new file mode 100644
index 0000000..8d9d0c5
--- /dev/null
+++ b/confignew.json
@@ -0,0 +1 @@
+{"activate": true, "autoplay": true, "branding": "AllTalk ", "narrator_enabled": false, "deepspeed_activate": false, "delete_output_wavs": "Disabled", "ip_address": "127.0.0.1", "language": "English", "low_vram": false, "local_temperature": "0.7", "local_repetition_penalty": "10.0", "tts_model_loaded": true, "tts_model_name": "tts_models/multilingual/multi-dataset/xtts_v2", "narrator_voice": "female_01.wav", "output_folder_wav": "extensions/alltalk_tts/outputs/", "output_folder_wav_standalone": "outputs/", "port_number": "7851", "remove_trailing_dots": false, "show_text": true, "tts_method_api_local": false, "tts_method_api_tts": false, "tts_method_xtts_local": true, "voice": "female_01.wav"}
\ No newline at end of file
diff --git a/modeldownload.py b/modeldownload.py
index cb078ee..971ae4a 100644
--- a/modeldownload.py
+++ b/modeldownload.py
@@ -6,9 +6,9 @@ import importlib.metadata as metadata
import json
from packaging import version
-##############################################################
-#### LOAD PARAMS FROM CONFIG.JSON - REQUIRED FOR BRANDING ####
-##############################################################
+#################################################################
+#### LOAD PARAMS FROM confignew.json - REQUIRED FOR BRANDING ####
+#################################################################
# STARTUP VARIABLE - Create "this_dir" variable as the current script directory
this_dir = Path(__file__).parent.resolve()
@@ -20,7 +20,7 @@ def load_config(file_path):
return config
-config_file_path = this_dir / "config.json"
+config_file_path = this_dir / "confignew.json"
params = load_config(config_file_path)
# Define the path to the modeldownload config file file
diff --git a/requirements_nvidia.txt b/requirements_nvidia.txt
index 64bdcfe..08244e4 100644
--- a/requirements_nvidia.txt
+++ b/requirements_nvidia.txt
@@ -1,7 +1,7 @@
numpy>=1.22.0
soundfile>=0.12.1
uvicorn>=0.24.0.post1
-TTS>=0.21.3
+TTS>=0.22.0
torch>=2.1.0+cu118
torchaudio>=2.1.0+cu118
fastapi>=0.104.1
diff --git a/requirements_other.txt b/requirements_other.txt
index 667d885..2754be7 100644
--- a/requirements_other.txt
+++ b/requirements_other.txt
@@ -1,7 +1,7 @@
numpy>=1.22.0
soundfile>=0.12.1
uvicorn>=0.24.0.post1
-TTS>=0.21.3
+TTS>=0.22.0
torch>=2.1.0
torchaudio>=2.1.0
fastapi>=0.104.1
diff --git a/script.py b/script.py
index a227f3d..a641bf9 100644
--- a/script.py
+++ b/script.py
@@ -16,9 +16,9 @@ import numpy as np
import soundfile as sf
import uuid
-##############################################################
-#### LOAD PARAMS FROM CONFIG.JSON - REQUIRED FOR BRANDING ####
-##############################################################
+#################################################################
+#### LOAD PARAMS FROM confignew.json - REQUIRED FOR BRANDING ####
+#################################################################
# STARTUP VARIABLE - Create "this_dir" variable as the current script directory
this_dir = Path(__file__).parent.resolve()
@@ -28,8 +28,8 @@ def load_config(file_path):
config = json.load(config_file)
return config
-config_file_path = this_dir / "config.json"
-# Load the params dictionary from the config.json file
+config_file_path = this_dir / "confignew.json"
+# Load the params dictionary from the confignew.json file
params = load_config(config_file_path)
# Required for sentence splitting
@@ -143,9 +143,9 @@ def check_required_files():
check_required_files()
-#################################################
-#### SET GRADIO BUTTONS BASED ON CONFIG.JSON ####
-#################################################
+####################################################
+#### SET GRADIO BUTTONS BASED ON confignew.json ####
+####################################################
if params["tts_method_api_tts"] == True:
gr_modelchoice = "API TTS"
@@ -277,7 +277,7 @@ else:
# MODEL - Swap model based on Gradio selection API TTS, API Local, XTTSv2 Local
def send_reload_request(tts_method):
try:
- params["model_loaded"] = False
+ params["tts_model_loaded"] = False
url = f"{base_url}/api/reload"
payload = {"tts_method": tts_method}
response = requests.post(url, params=payload)
@@ -285,8 +285,8 @@ def send_reload_request(tts_method):
json_response = response.json()
# Check if the reload operation was successful
if json_response.get("status") == "model-success":
- # Update model_loaded to True if the reload was successful
- params["model_loaded"] = True
+ # Update tts_tts_model_loaded to True if the reload was successful
+ params["tts_model_loaded"] = True
# Update local script parameters based on the tts_method
if tts_method == "API TTS":
params["tts_method_api_local"] = False
@@ -319,7 +319,7 @@ def send_reload_request(tts_method):
# LOW VRAM - Gradio Checkbox handling
def send_lowvram_request(low_vram):
try:
- params["model_loaded"] = False
+ params["tts_model_loaded"] = False
if low_vram:
audio_path = this_dir / "templates" / "lowvramenabled.wav"
else:
@@ -332,7 +332,7 @@ def send_lowvram_request(low_vram):
# Check if the low VRAM request was successful
if json_response.get("status") == "lowvram-success":
# Update any relevant variables or perform other actions on success
- params["model_loaded"] = True
+ params["tts_model_loaded"] = True
return f''
except requests.exceptions.RequestException as e:
# Handle the HTTP request error
@@ -348,7 +348,7 @@ def send_lowvram_request(low_vram):
# DEEPSPEED - Reload the model when DeepSpeed checkbox is enabled/disabled
def send_deepspeed_request(deepspeed_param):
try:
- params["model_loaded"] = False
+ params["tts_model_loaded"] = False
if deepspeed_param:
audio_path = this_dir / "templates" / "deepspeedenabled.wav"
else:
@@ -362,7 +362,7 @@ def send_deepspeed_request(deepspeed_param):
# Check if the deepspeed request was successful
if json_response.get("status") == "deepspeed-success":
# Update any relevant variables or perform other actions on success
- params["model_loaded"] = True
+ params["tts_model_loaded"] = True
return f''
except requests.exceptions.RequestException as e:
# Handle the HTTP request error
@@ -400,7 +400,7 @@ Synthesizer.split_into_sentences = new_split_into_sentences
# Check model is loaded and string isnt empty, before sending a TTS request.
def before_audio_generation(string, params):
# Check Model is loaded into cuda or cpu and error if not
- if not params["model_loaded"]:
+ if not params["tts_model_loaded"]:
print(
f"[{params['branding']}Model] \033[91mWarning\033[0m Model is still loading, please wait before trying to generate TTS"
)
@@ -789,7 +789,7 @@ def ui():
)
tts_radio_buttons_play = gr.HTML(visible=False)
explanation_text = gr.HTML(
- f"
NOTE: Switching Model Type, Low VRAM & DeepSpeed takes 15 seconds. Each TTS generation method has a slightly different sound. DeepSpeed checkbox is only visible if DeepSpeed is present. Readme & Settings: http://{params['ip_address']}:{params['port_number']}"
+ f"
NOTE: Switching Model Type, Low VRAM & DeepSpeed, each takes 15 seconds. Each TTS generation method has a slightly different sound. DeepSpeed checkbox is only visible if DeepSpeed is present. Readme & Settings: http://{params['ip_address']}:{params['port_number']}"
)
with gr.Row():
diff --git a/templates/generate_form.html b/templates/generate_form.html
index 6573355..b8a8b96 100644
--- a/templates/generate_form.html
+++ b/templates/generate_form.html
@@ -201,12 +201,12 @@
value="{{ data.output_folder_wav }}" />
-
+
-
-
+
+