Spaces:
Running
Running
dump cached sample paths to JSON file and load it on Space reset
Browse files- app/sample_caching.py +19 -0
- app/synth.py +11 -3
app/sample_caching.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
import itertools
|
| 3 |
import random
|
|
|
|
| 4 |
from typing import List, Tuple, Set, Dict
|
| 5 |
from hashlib import md5, sha1
|
| 6 |
import spaces
|
|
@@ -17,8 +18,26 @@ class Sample:
|
|
| 17 |
self.transcript = transcript
|
| 18 |
self.modelName = modelName
|
| 19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
# cache audio samples for quick voting
|
| 21 |
cached_samples: List[Sample] = []
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
|
| 23 |
@spaces.GPU(duration=10)
|
| 24 |
def asr_cached_for_dataset():
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
import itertools
|
| 3 |
import random
|
| 4 |
+
import json
|
| 5 |
from typing import List, Tuple, Set, Dict
|
| 6 |
from hashlib import md5, sha1
|
| 7 |
import spaces
|
|
|
|
| 18 |
self.transcript = transcript
|
| 19 |
self.modelName = modelName
|
| 20 |
|
| 21 |
+
def to_dict(self):
|
| 22 |
+
return {
|
| 23 |
+
'filename': self.filename,
|
| 24 |
+
'transcript': self.transcript,
|
| 25 |
+
'modelName': self.modelName,
|
| 26 |
+
}
|
| 27 |
+
|
| 28 |
# cache audio samples for quick voting
|
| 29 |
cached_samples: List[Sample] = []
|
| 30 |
+
# cached_samples.append(Sample("audio1.mp3", "Hello, how are you?", "model1"))
|
| 31 |
+
# cached_samples.append(Sample("audio2.mp3", "Hello, how are you?", "model2"))
|
| 32 |
+
|
| 33 |
+
# load temporary samples
|
| 34 |
+
json_data = ''
|
| 35 |
+
try:
|
| 36 |
+
with open("_cached_samples.json", "r") as read:
|
| 37 |
+
loaded_samples = json.load(read)
|
| 38 |
+
cached_samples = [Sample(**json_data) for json_data in loaded_samples]
|
| 39 |
+
except:
|
| 40 |
+
pass
|
| 41 |
|
| 42 |
@spaces.GPU(duration=10)
|
| 43 |
def asr_cached_for_dataset():
|
app/synth.py
CHANGED
|
@@ -288,6 +288,14 @@ def synthandreturn(text, autoplay, request: gr.Request):
|
|
| 288 |
print('Error when trying to cache sample')
|
| 289 |
return False
|
| 290 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 291 |
mdl1k = mdl1
|
| 292 |
mdl2k = mdl2
|
| 293 |
print(mdl1k, mdl2k)
|
|
@@ -331,7 +339,7 @@ def synthandreturn(text, autoplay, request: gr.Request):
|
|
| 331 |
print(f"Retrieving models {mdl1k} and {mdl2k} from API")
|
| 332 |
return (
|
| 333 |
text,
|
| 334 |
-
"Synthesize",
|
| 335 |
gr.update(visible=True), # r2
|
| 336 |
mdl1, # model1
|
| 337 |
mdl2, # model2
|
|
@@ -430,7 +438,7 @@ def synthandreturn_battle(text, mdl1, mdl2, autoplay):
|
|
| 430 |
print(f"Retrieving models {mdl1k} and {mdl2k} from API")
|
| 431 |
return (
|
| 432 |
text,
|
| 433 |
-
"Synthesize",
|
| 434 |
gr.update(visible=True), # r2
|
| 435 |
mdl1, # model1
|
| 436 |
mdl2, # model2
|
|
@@ -450,7 +458,7 @@ def randomsent_battle():
|
|
| 450 |
def clear_stuff():
|
| 451 |
return [
|
| 452 |
gr.update(visible=True, value="", elem_classes=[]),
|
| 453 |
-
"Synthesize",
|
| 454 |
gr.update(visible=False), # r2
|
| 455 |
'', # model1
|
| 456 |
'', # model2
|
|
|
|
| 288 |
print('Error when trying to cache sample')
|
| 289 |
return False
|
| 290 |
|
| 291 |
+
# save list to JSON file
|
| 292 |
+
cached_sample_dict = [cached_sample.to_dict() for cached_sample in cached_samples]
|
| 293 |
+
try:
|
| 294 |
+
with open("_cached_samples.json", "w") as write:
|
| 295 |
+
json.dump( cached_sample_dict , write )
|
| 296 |
+
except:
|
| 297 |
+
pass
|
| 298 |
+
|
| 299 |
mdl1k = mdl1
|
| 300 |
mdl2k = mdl2
|
| 301 |
print(mdl1k, mdl2k)
|
|
|
|
| 339 |
print(f"Retrieving models {mdl1k} and {mdl2k} from API")
|
| 340 |
return (
|
| 341 |
text,
|
| 342 |
+
"Synthesize 🐢",
|
| 343 |
gr.update(visible=True), # r2
|
| 344 |
mdl1, # model1
|
| 345 |
mdl2, # model2
|
|
|
|
| 438 |
print(f"Retrieving models {mdl1k} and {mdl2k} from API")
|
| 439 |
return (
|
| 440 |
text,
|
| 441 |
+
"Synthesize 🐢",
|
| 442 |
gr.update(visible=True), # r2
|
| 443 |
mdl1, # model1
|
| 444 |
mdl2, # model2
|
|
|
|
| 458 |
def clear_stuff():
|
| 459 |
return [
|
| 460 |
gr.update(visible=True, value="", elem_classes=[]),
|
| 461 |
+
"Synthesize 🐢",
|
| 462 |
gr.update(visible=False), # r2
|
| 463 |
'', # model1
|
| 464 |
'', # model2
|