Update voice_processing.py
Browse files- voice_processing.py +21 -22
voice_processing.py
CHANGED
@@ -15,6 +15,8 @@ from lib.infer_pack.models import (
|
|
15 |
)
|
16 |
from vc_infer_pipeline import VC
|
17 |
import uuid
|
|
|
|
|
18 |
|
19 |
config = Config()
|
20 |
|
@@ -121,27 +123,27 @@ def tts(
|
|
121 |
use_uploaded_voice,
|
122 |
uploaded_voice,
|
123 |
):
|
124 |
-
# Load models if not already loaded
|
125 |
-
load_hubert()
|
126 |
-
load_rmvpe()
|
127 |
-
|
128 |
-
# Default values for parameters used in EdgeTTS
|
129 |
-
f0_up_key = 0 # Default pitch adjustment
|
130 |
-
f0_method = "rmvpe" # Default pitch extraction method
|
131 |
-
protect = 0.33 # Default protect value
|
132 |
-
filter_radius = 3
|
133 |
-
resample_sr = 0
|
134 |
-
rms_mix_rate = 0.25
|
135 |
-
edge_time = 0 # Initialize edge_time
|
136 |
-
|
137 |
-
edge_output_filename = get_unique_filename("mp3")
|
138 |
-
audio = None
|
139 |
-
sr = 16000 # Default sample rate
|
140 |
-
|
141 |
try:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
if use_uploaded_voice:
|
143 |
if uploaded_voice is None:
|
144 |
-
return "No voice file uploaded.", None, None
|
145 |
|
146 |
# Process the uploaded voice file
|
147 |
with tempfile.NamedTemporaryFile(delete=False, suffix=".wav") as tmp_file:
|
@@ -152,7 +154,6 @@ def tts(
|
|
152 |
input_audio_path = uploaded_file_path
|
153 |
else:
|
154 |
# EdgeTTS processing
|
155 |
-
# Note: EdgeTTS code may need to be adjusted based on your implementation
|
156 |
import edge_tts
|
157 |
t0 = time.time()
|
158 |
speed = 0 # Default speech speed
|
@@ -209,9 +210,7 @@ def tts(
|
|
209 |
)
|
210 |
|
211 |
except EOFError:
|
212 |
-
info =
|
213 |
-
"Output not valid. This may occur when input text and speaker do not match."
|
214 |
-
)
|
215 |
print(info)
|
216 |
return {"error": info}, None, None
|
217 |
except Exception as e:
|
|
|
15 |
)
|
16 |
from vc_infer_pipeline import VC
|
17 |
import uuid
|
18 |
+
import tempfile # Make sure to import tempfile
|
19 |
+
import asyncio # Import asyncio if not already imported
|
20 |
|
21 |
config = Config()
|
22 |
|
|
|
123 |
use_uploaded_voice,
|
124 |
uploaded_voice,
|
125 |
):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
try:
|
127 |
+
# Load models if not already loaded
|
128 |
+
load_hubert()
|
129 |
+
load_rmvpe()
|
130 |
+
|
131 |
+
# Default values for parameters used in EdgeTTS
|
132 |
+
f0_up_key = 0 # Default pitch adjustment
|
133 |
+
f0_method = "rmvpe" # Default pitch extraction method
|
134 |
+
protect = 0.33 # Default protect value
|
135 |
+
filter_radius = 3
|
136 |
+
resample_sr = 0
|
137 |
+
rms_mix_rate = 0.25
|
138 |
+
edge_time = 0 # Initialize edge_time
|
139 |
+
|
140 |
+
edge_output_filename = get_unique_filename("mp3")
|
141 |
+
audio = None
|
142 |
+
sr = 16000 # Default sample rate
|
143 |
+
|
144 |
if use_uploaded_voice:
|
145 |
if uploaded_voice is None:
|
146 |
+
return {"error": "No voice file uploaded."}, None, None
|
147 |
|
148 |
# Process the uploaded voice file
|
149 |
with tempfile.NamedTemporaryFile(delete=False, suffix=".wav") as tmp_file:
|
|
|
154 |
input_audio_path = uploaded_file_path
|
155 |
else:
|
156 |
# EdgeTTS processing
|
|
|
157 |
import edge_tts
|
158 |
t0 = time.time()
|
159 |
speed = 0 # Default speech speed
|
|
|
210 |
)
|
211 |
|
212 |
except EOFError:
|
213 |
+
info = "Output not valid. This may occur when input text and speaker do not match."
|
|
|
|
|
214 |
print(info)
|
215 |
return {"error": info}, None, None
|
216 |
except Exception as e:
|