Files changed (4) hide show
  1. .gitignore +0 -2
  2. README.md +1 -1
  3. app.py +25 -3
  4. requirements.txt +2 -2
.gitignore DELETED
@@ -1,2 +0,0 @@
1
- .venv
2
- *.pyc
 
 
 
README.md CHANGED
@@ -4,7 +4,7 @@ emoji: πŸŽ™πŸ΄
4
  colorFrom: green
5
  colorTo: gray
6
  sdk: gradio
7
- sdk_version: 5.44.1
8
  app_file: app.py
9
  pinned: false
10
  ---
 
4
  colorFrom: green
5
  colorTo: gray
6
  sdk: gradio
7
+ sdk_version: 3.7
8
  app_file: app.py
9
  pinned: false
10
  ---
app.py CHANGED
@@ -201,7 +201,7 @@ if __name__ == "__main__":
201
  placeholder="Type your sentence here (Maximum 150 words)",
202
  value="こんにけわ。", elem_id=f"tts-input")
203
  with gr.Accordion(label="Phoneme Input", open=False):
204
- temp_text_var = gr.State()
205
  symbol_input = gr.Checkbox(value=False, label="Symbol input")
206
  symbol_list = gr.Dataset(label="Symbol list", components=[textbox],
207
  samples=[[x] for x in symbols],
@@ -210,7 +210,29 @@ if __name__ == "__main__":
210
  symbol_input.change(to_symbol_fn,
211
  [symbol_input, textbox, temp_text_var],
212
  [textbox, temp_text_var])
213
- symbol_list.click(None, [symbol_list, symbol_list_json], textbox,)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
  # select character
215
  char_dropdown = gr.Dropdown(choices=speakers, value=speakers[0], label='character')
216
  language_dropdown = gr.Dropdown(choices=lang, value=lang[0], label='language')
@@ -231,4 +253,4 @@ if __name__ == "__main__":
231
  outputs=[text_output, audio_output],
232
  fn=tts_fn
233
  )
234
- app.queue(max_size=3).launch(show_api=False, share=args.share)
 
201
  placeholder="Type your sentence here (Maximum 150 words)",
202
  value="こんにけわ。", elem_id=f"tts-input")
203
  with gr.Accordion(label="Phoneme Input", open=False):
204
+ temp_text_var = gr.Variable()
205
  symbol_input = gr.Checkbox(value=False, label="Symbol input")
206
  symbol_list = gr.Dataset(label="Symbol list", components=[textbox],
207
  samples=[[x] for x in symbols],
 
210
  symbol_input.change(to_symbol_fn,
211
  [symbol_input, textbox, temp_text_var],
212
  [textbox, temp_text_var])
213
+ symbol_list.click(None, [symbol_list, symbol_list_json], textbox,
214
+ _js=f"""
215
+ (i, symbols, text) => {{
216
+ let root = document.querySelector("body > gradio-app");
217
+ if (root.shadowRoot != null)
218
+ root = root.shadowRoot;
219
+ let text_input = root.querySelector("#tts-input").querySelector("textarea");
220
+ let startPos = text_input.selectionStart;
221
+ let endPos = text_input.selectionEnd;
222
+ let oldTxt = text_input.value;
223
+ let result = oldTxt.substring(0, startPos) + symbols[i] + oldTxt.substring(endPos);
224
+ text_input.value = result;
225
+ let x = window.scrollX, y = window.scrollY;
226
+ text_input.focus();
227
+ text_input.selectionStart = startPos + symbols[i].length;
228
+ text_input.selectionEnd = startPos + symbols[i].length;
229
+ text_input.blur();
230
+ window.scrollTo(x, y);
231
+
232
+ text = text_input.value;
233
+
234
+ return text;
235
+ }}""")
236
  # select character
237
  char_dropdown = gr.Dropdown(choices=speakers, value=speakers[0], label='character')
238
  language_dropdown = gr.Dropdown(choices=lang, value=lang[0], label='language')
 
253
  outputs=[text_output, audio_output],
254
  fn=tts_fn
255
  )
256
+ app.queue(concurrency_count=3).launch(show_api=False, share=args.share)
requirements.txt CHANGED
@@ -1,7 +1,7 @@
1
  numba
2
  librosa
3
  matplotlib
4
- numpy==1.26.4
5
  phonemizer
6
  scipy
7
  tensorboard
@@ -9,7 +9,7 @@ torch
9
  torchvision
10
  torchaudio
11
  unidecode
12
- pyopenjtalk-prebuilt
13
  jamo
14
  pypinyin
15
  ko_pron
 
1
  numba
2
  librosa
3
  matplotlib
4
+ numpy
5
  phonemizer
6
  scipy
7
  tensorboard
 
9
  torchvision
10
  torchaudio
11
  unidecode
12
+ pyopenjtalk>=0.3.0
13
  jamo
14
  pypinyin
15
  ko_pron