Spaces:
Running
Running
navalnica
commited on
Commit
Β·
e59e248
1
Parent(s):
e4deef7
limit input text length
Browse files- README.md +2 -9
- app.py +8 -2
- src/select_voice_chain.py +2 -0
README.md
CHANGED
@@ -10,22 +10,15 @@ pinned: false
|
|
10 |
python_version: 3.11
|
11 |
---
|
12 |
|
13 |
-
### Action
|
14 |
|
15 |
-
- voices
|
16 |
-
- filter to use only best voices
|
17 |
- intonations
|
18 |
-
- add context
|
19 |
- audio effects
|
20 |
- add context
|
21 |
- filter, apply only for long phrases
|
22 |
-
- only for narrator?
|
23 |
-
- stability
|
24 |
-
- add limit on input text size (5000 chars)
|
25 |
- improve UI
|
26 |
-
- add error box
|
27 |
- show character parts
|
28 |
-
- prepare slides / story
|
29 |
- testing
|
30 |
- eval current execution time
|
31 |
- optimizations
|
|
|
10 |
python_version: 3.11
|
11 |
---
|
12 |
|
13 |
+
### Action Items / Ideas
|
14 |
|
|
|
|
|
15 |
- intonations
|
16 |
+
- add context
|
17 |
- audio effects
|
18 |
- add context
|
19 |
- filter, apply only for long phrases
|
|
|
|
|
|
|
20 |
- improve UI
|
|
|
21 |
- show character parts
|
|
|
22 |
- testing
|
23 |
- eval current execution time
|
24 |
- optimizations
|
app.py
CHANGED
@@ -58,11 +58,17 @@ async def respond(
|
|
58 |
logger.exception(e)
|
59 |
return (None, str(e))
|
60 |
|
61 |
-
if len(text) > MAX_TEXT_LEN:
|
62 |
-
|
|
|
|
|
|
|
|
|
|
|
63 |
|
64 |
builder = AudiobookBuilder()
|
65 |
audio_fp = await builder.run(text=text, generate_effects=generate_effects)
|
|
|
66 |
return audio_fp, ""
|
67 |
|
68 |
|
|
|
58 |
logger.exception(e)
|
59 |
return (None, str(e))
|
60 |
|
61 |
+
if (text_len := len(text)) > MAX_TEXT_LEN:
|
62 |
+
gr.Warning(
|
63 |
+
f"Input text length of {text_len} characters "
|
64 |
+
f"exceeded current limit of {MAX_TEXT_LEN} characters. "
|
65 |
+
"Please input a shorter text."
|
66 |
+
)
|
67 |
+
return None, ""
|
68 |
|
69 |
builder = AudiobookBuilder()
|
70 |
audio_fp = await builder.run(text=text, generate_effects=generate_effects)
|
71 |
+
|
72 |
return audio_fp, ""
|
73 |
|
74 |
|
src/select_voice_chain.py
CHANGED
@@ -68,6 +68,8 @@ class VoiceSelector:
|
|
68 |
if "manual_quality_review" in df.columns:
|
69 |
logger.info('filtering df by "manual_quality_review" column')
|
70 |
|
|
|
|
|
71 |
# ix_to_drop = df[df["manual_quality_review"].isin(["very bad"])].index
|
72 |
ix_to_drop = df[df["manual_quality_review"].isin(["very bad", "bad"])].index
|
73 |
|
|
|
68 |
if "manual_quality_review" in df.columns:
|
69 |
logger.info('filtering df by "manual_quality_review" column')
|
70 |
|
71 |
+
# TODO: may need to use clever sampling, since we limit number of voices available.
|
72 |
+
# some property groups have small number of voices left.
|
73 |
# ix_to_drop = df[df["manual_quality_review"].isin(["very bad"])].index
|
74 |
ix_to_drop = df[df["manual_quality_review"].isin(["very bad", "bad"])].index
|
75 |
|