Spaces:
Running
on
Zero
Running
on
Zero
Upload app.py
Browse files
app.py
CHANGED
@@ -240,7 +240,6 @@ def clamp_speed(speed):
|
|
240 |
return 2
|
241 |
return speed
|
242 |
|
243 |
-
sk = gr.State()
|
244 |
# Must be backwards compatible with https://huggingface.co/spaces/Pendrokar/TTS-Spaces-Arena
|
245 |
def generate(text, voice='af', ps=None, speed=1, trim=3000, use_gpu='auto'):
|
246 |
voices = resolve_voices(voice, warn=ps)
|
@@ -255,26 +254,27 @@ def generate(text, voice='af', ps=None, speed=1, trim=3000, use_gpu='auto'):
|
|
255 |
tokens = tokens[:510]
|
256 |
ps = ''.join(next(k for k, v in VOCAB.items() if i == v) for i in tokens)
|
257 |
use_gpu = len(ps) > 99 if use_gpu == 'auto' else use_gpu
|
258 |
-
|
259 |
-
print('🔥', datetime.now(), text, voices, ps, use_gpu, sk)
|
260 |
try:
|
261 |
if use_gpu:
|
262 |
out = forward_gpu(tokens, voices, speed)
|
263 |
else:
|
264 |
out = forward(tokens, voices, speed)
|
265 |
except gr.exceptions.Error as e:
|
266 |
-
if use_gpu:
|
267 |
gr.Warning(str(e))
|
268 |
gr.Info('Switching to CPU')
|
269 |
out = forward(tokens, voices, speed)
|
270 |
else:
|
271 |
raise gr.Error(e)
|
|
|
272 |
return (None, '')
|
273 |
trim = int(trim / speed)
|
274 |
if trim > 0:
|
275 |
if trim * 2 >= len(out):
|
276 |
return (None, '')
|
277 |
out = out[trim:-trim]
|
|
|
278 |
return ((SAMPLE_RATE, out), ps)
|
279 |
|
280 |
def toggle_autoplay(autoplay):
|
@@ -425,6 +425,7 @@ def lf_generate(segments, voice, speed=1, trim=0, pad_between=0, use_gpu=True):
|
|
425 |
speed = clamp_speed(speed)
|
426 |
trim = int(trim / speed)
|
427 |
pad_between = int(pad_between / speed)
|
|
|
428 |
batch_sizes = [89, 55, 34, 21, 13, 8, 5, 3, 2, 1, 1]
|
429 |
i = 0
|
430 |
while i < len(token_lists):
|
@@ -437,11 +438,14 @@ def lf_generate(segments, voice, speed=1, trim=0, pad_between=0, use_gpu=True):
|
|
437 |
else:
|
438 |
outs = lf_forward(tokens, voices, speed)
|
439 |
except gr.exceptions.Error as e:
|
440 |
-
if use_gpu:
|
441 |
gr.Warning(str(e))
|
442 |
gr.Info('Switching to CPU')
|
443 |
outs = lf_forward(tokens, voices, speed)
|
444 |
use_gpu = False
|
|
|
|
|
|
|
445 |
else:
|
446 |
raise gr.Error(e)
|
447 |
for out in outs:
|
@@ -558,8 +562,8 @@ Random Japanese texts: CC0 public domain from [Common Voice](https://github.com/
|
|
558 |
with gr.Blocks() as changelog:
|
559 |
gr.Markdown('''
|
560 |
**28 Nov 2024**<br/>
|
561 |
-
|
562 |
-
|
563 |
|
564 |
**25 Nov 2024**<br/>
|
565 |
🎨 Voice Mixer added
|
|
|
240 |
return 2
|
241 |
return speed
|
242 |
|
|
|
243 |
# Must be backwards compatible with https://huggingface.co/spaces/Pendrokar/TTS-Spaces-Arena
|
244 |
def generate(text, voice='af', ps=None, speed=1, trim=3000, use_gpu='auto'):
|
245 |
voices = resolve_voices(voice, warn=ps)
|
|
|
254 |
tokens = tokens[:510]
|
255 |
ps = ''.join(next(k for k, v in VOCAB.items() if i == v) for i in tokens)
|
256 |
use_gpu = len(ps) > 99 if use_gpu == 'auto' else use_gpu
|
257 |
+
use_gpu = text not in sents
|
|
|
258 |
try:
|
259 |
if use_gpu:
|
260 |
out = forward_gpu(tokens, voices, speed)
|
261 |
else:
|
262 |
out = forward(tokens, voices, speed)
|
263 |
except gr.exceptions.Error as e:
|
264 |
+
if False and use_gpu:
|
265 |
gr.Warning(str(e))
|
266 |
gr.Info('Switching to CPU')
|
267 |
out = forward(tokens, voices, speed)
|
268 |
else:
|
269 |
raise gr.Error(e)
|
270 |
+
print('🔥', datetime.now(), text, voices, ps, use_gpu, repr(e))
|
271 |
return (None, '')
|
272 |
trim = int(trim / speed)
|
273 |
if trim > 0:
|
274 |
if trim * 2 >= len(out):
|
275 |
return (None, '')
|
276 |
out = out[trim:-trim]
|
277 |
+
print('🔥', datetime.now(), text, voices, ps, use_gpu)
|
278 |
return ((SAMPLE_RATE, out), ps)
|
279 |
|
280 |
def toggle_autoplay(autoplay):
|
|
|
425 |
speed = clamp_speed(speed)
|
426 |
trim = int(trim / speed)
|
427 |
pad_between = int(pad_between / speed)
|
428 |
+
use_gpu = True
|
429 |
batch_sizes = [89, 55, 34, 21, 13, 8, 5, 3, 2, 1, 1]
|
430 |
i = 0
|
431 |
while i < len(token_lists):
|
|
|
438 |
else:
|
439 |
outs = lf_forward(tokens, voices, speed)
|
440 |
except gr.exceptions.Error as e:
|
441 |
+
if False and use_gpu:
|
442 |
gr.Warning(str(e))
|
443 |
gr.Info('Switching to CPU')
|
444 |
outs = lf_forward(tokens, voices, speed)
|
445 |
use_gpu = False
|
446 |
+
elif outs:
|
447 |
+
gr.Warning(repr(e))
|
448 |
+
i = len(token_lists)
|
449 |
else:
|
450 |
raise gr.Error(e)
|
451 |
for out in outs:
|
|
|
562 |
with gr.Blocks() as changelog:
|
563 |
gr.Markdown('''
|
564 |
**28 Nov 2024**<br/>
|
565 |
+
🌊 Long Form streaming and stop button<br/>
|
566 |
+
⚠️ CPU suspended, possible abuse
|
567 |
|
568 |
**25 Nov 2024**<br/>
|
569 |
🎨 Voice Mixer added
|