Update app.py
Browse files
app.py
CHANGED
|
@@ -5,7 +5,8 @@ import os
|
|
| 5 |
import random
|
| 6 |
import torch
|
| 7 |
|
| 8 |
-
|
|
|
|
| 9 |
|
| 10 |
CUDA_AVAILABLE = torch.cuda.is_available()
|
| 11 |
models = {gpu: KModel().to('cuda' if gpu else 'cpu').eval() for gpu in [False] + ([True] if CUDA_AVAILABLE else [])}
|
|
@@ -18,7 +19,7 @@ def forward_gpu(ps, ref_s, speed):
|
|
| 18 |
return models[True](ps, ref_s, speed)
|
| 19 |
|
| 20 |
def generate_first(text, voice='af_heart', speed=1, use_gpu=CUDA_AVAILABLE):
|
| 21 |
-
text = text
|
| 22 |
pipeline = pipelines[voice[0]]
|
| 23 |
pack = pipeline.load_voice(voice)
|
| 24 |
use_gpu = use_gpu and CUDA_AVAILABLE
|
|
@@ -49,7 +50,7 @@ def tokenize_first(text, voice='af_heart'):
|
|
| 49 |
return words # Return a list of words
|
| 50 |
|
| 51 |
def generate_all(text, voice='af_heart', speed=1, use_gpu=CUDA_AVAILABLE):
|
| 52 |
-
text = text
|
| 53 |
pipeline = pipelines[voice[0]]
|
| 54 |
pack = pipeline.load_voice(voice)
|
| 55 |
use_gpu = use_gpu and CUDA_AVAILABLE
|
|
@@ -189,7 +190,7 @@ with gr.Blocks() as app:
|
|
| 189 |
with gr.Column():
|
| 190 |
gr.TabbedInterface([generate_tab], ['Generate'])
|
| 191 |
random_btn.click(fn=get_random_text, inputs=[voice], outputs=[text], api_name=API_NAME)
|
| 192 |
-
generate_btn.click(fn=
|
| 193 |
tokenize_btn.click(fn=tokenize_first, inputs=[text, voice], outputs=[out_ps], api_name=API_NAME)
|
| 194 |
predict_btn.click(fn=predict, inputs=[text, voice, speed], outputs=[out_audio], api_name=API_NAME)
|
| 195 |
|
|
|
|
| 5 |
import random
|
| 6 |
import torch
|
| 7 |
|
| 8 |
+
IS_DUPLICATE = not os.getenv('SPACE_ID', 'hivecorp/keets2').startswith('hexgrad/')
|
| 9 |
+
CHAR_LIMIT = None if IS_DUPLICATE else 5000
|
| 10 |
|
| 11 |
CUDA_AVAILABLE = torch.cuda.is_available()
|
| 12 |
models = {gpu: KModel().to('cuda' if gpu else 'cpu').eval() for gpu in [False] + ([True] if CUDA_AVAILABLE else [])}
|
|
|
|
| 19 |
return models[True](ps, ref_s, speed)
|
| 20 |
|
| 21 |
def generate_first(text, voice='af_heart', speed=1, use_gpu=CUDA_AVAILABLE):
|
| 22 |
+
text = text if CHAR_LIMIT is None else text.strip()[:CHAR_LIMIT]
|
| 23 |
pipeline = pipelines[voice[0]]
|
| 24 |
pack = pipeline.load_voice(voice)
|
| 25 |
use_gpu = use_gpu and CUDA_AVAILABLE
|
|
|
|
| 50 |
return words # Return a list of words
|
| 51 |
|
| 52 |
def generate_all(text, voice='af_heart', speed=1, use_gpu=CUDA_AVAILABLE):
|
| 53 |
+
text = text if CHAR_LIMIT is None else text.strip()[:CHAR_LIMIT]
|
| 54 |
pipeline = pipelines[voice[0]]
|
| 55 |
pack = pipeline.load_voice(voice)
|
| 56 |
use_gpu = use_gpu and CUDA_AVAILABLE
|
|
|
|
| 190 |
with gr.Column():
|
| 191 |
gr.TabbedInterface([generate_tab], ['Generate'])
|
| 192 |
random_btn.click(fn=get_random_text, inputs=[voice], outputs=[text], api_name=API_NAME)
|
| 193 |
+
generate_btn.click(fn=generate_first, inputs=[text, voice, speed, use_gpu], outputs=[out_audio, out_ps], api_name=API_NAME)
|
| 194 |
tokenize_btn.click(fn=tokenize_first, inputs=[text, voice], outputs=[out_ps], api_name=API_NAME)
|
| 195 |
predict_btn.click(fn=predict, inputs=[text, voice, speed], outputs=[out_audio], api_name=API_NAME)
|
| 196 |
|