Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -4,35 +4,10 @@ import gradio as gr
|
|
4 |
import os
|
5 |
import random
|
6 |
import torch
|
7 |
-
#
|
8 |
import logging
|
9 |
|
10 |
logging.basicConfig(level=logging.INFO)
|
11 |
|
12 |
-
def generate_first(text, voice='af_heart', speed=1, use_gpu=CUDA_AVAILABLE):
|
13 |
-
logging.info(f"Received request: text={text}, voice={voice}, speed={speed}, use_gpu={use_gpu}")
|
14 |
-
text = text if CHAR_LIMIT is None else text.strip()[:CHAR_LIMIT]
|
15 |
-
pipeline = pipelines[voice[0]]
|
16 |
-
pack = pipeline.load_voice(voice)
|
17 |
-
use_gpu = use_gpu and CUDA_AVAILABLE
|
18 |
-
for _, ps, _ in pipeline(text, voice, speed):
|
19 |
-
ref_s = pack[len(ps)-1]
|
20 |
-
try:
|
21 |
-
if use_gpu:
|
22 |
-
audio = forward_gpu(ps, ref_s, speed)
|
23 |
-
else:
|
24 |
-
audio = models[False](ps, ref_s, speed)
|
25 |
-
except gr.exceptions.Error as e:
|
26 |
-
if use_gpu:
|
27 |
-
gr.Warning(str(e))
|
28 |
-
gr.Info('Retrying with CPU. To avoid this error, change Hardware to CPU.')
|
29 |
-
audio = models[False](ps, ref_s, speed)
|
30 |
-
else:
|
31 |
-
raise gr.Error(e)
|
32 |
-
return (24000, audio.numpy()), ps
|
33 |
-
return None, ''
|
34 |
-
#
|
35 |
-
|
36 |
IS_DUPLICATE = not os.getenv('SPACE_ID', '').startswith('Quantamhash/')
|
37 |
CUDA_AVAILABLE = torch.cuda.is_available()
|
38 |
if not IS_DUPLICATE:
|
@@ -51,6 +26,7 @@ def forward_gpu(ps, ref_s, speed):
|
|
51 |
return models[True](ps, ref_s, speed)
|
52 |
|
53 |
def generate_first(text, voice='af_heart', speed=1, use_gpu=CUDA_AVAILABLE):
|
|
|
54 |
text = text if CHAR_LIMIT is None else text.strip()[:CHAR_LIMIT]
|
55 |
pipeline = pipelines[voice[0]]
|
56 |
pack = pipeline.load_voice(voice)
|
@@ -156,11 +132,8 @@ for v in CHOICES.values():
|
|
156 |
|
157 |
TOKEN_NOTE = '''
|
158 |
💡 Customize pronunciation with Markdown link syntax and /slashes/ like `[Qhash-TTS]`
|
159 |
-
|
160 |
💬 To adjust intonation, try punctuation `;:,.!?—…"()“”` or stress `ˈ` and `ˌ`
|
161 |
-
|
162 |
⬇️ Lower stress `[1 level](-1)` or `[2 levels](-2)`
|
163 |
-
|
164 |
⬆️ Raise stress 1 level `[or](+2)` 2 levels (only works on less stressed, usually short words)
|
165 |
'''
|
166 |
|
@@ -190,7 +163,6 @@ with gr.Blocks() as stream_tab:
|
|
190 |
|
191 |
BANNER_TEXT = '''
|
192 |
[***Qhash-TTS*** **is an open-weight TTS model with 82 million parameters.**](https://huggingface.co/sbapan41/Qhash-TTS)
|
193 |
-
|
194 |
This demo only showcases English, but you can directly use the model to access other languages.
|
195 |
'''
|
196 |
API_OPEN = True # Ensure API is open
|
|
|
4 |
import os
|
5 |
import random
|
6 |
import torch
|
|
|
7 |
import logging
|
8 |
|
9 |
logging.basicConfig(level=logging.INFO)
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
IS_DUPLICATE = not os.getenv('SPACE_ID', '').startswith('Quantamhash/')
|
12 |
CUDA_AVAILABLE = torch.cuda.is_available()
|
13 |
if not IS_DUPLICATE:
|
|
|
26 |
return models[True](ps, ref_s, speed)
|
27 |
|
28 |
def generate_first(text, voice='af_heart', speed=1, use_gpu=CUDA_AVAILABLE):
|
29 |
+
logging.info(f"Received request: text={text}, voice={voice}, speed={speed}, use_gpu={use_gpu}")
|
30 |
text = text if CHAR_LIMIT is None else text.strip()[:CHAR_LIMIT]
|
31 |
pipeline = pipelines[voice[0]]
|
32 |
pack = pipeline.load_voice(voice)
|
|
|
132 |
|
133 |
TOKEN_NOTE = '''
|
134 |
💡 Customize pronunciation with Markdown link syntax and /slashes/ like `[Qhash-TTS]`
|
|
|
135 |
💬 To adjust intonation, try punctuation `;:,.!?—…"()“”` or stress `ˈ` and `ˌ`
|
|
|
136 |
⬇️ Lower stress `[1 level](-1)` or `[2 levels](-2)`
|
|
|
137 |
⬆️ Raise stress 1 level `[or](+2)` 2 levels (only works on less stressed, usually short words)
|
138 |
'''
|
139 |
|
|
|
163 |
|
164 |
BANNER_TEXT = '''
|
165 |
[***Qhash-TTS*** **is an open-weight TTS model with 82 million parameters.**](https://huggingface.co/sbapan41/Qhash-TTS)
|
|
|
166 |
This demo only showcases English, but you can directly use the model to access other languages.
|
167 |
'''
|
168 |
API_OPEN = True # Ensure API is open
|