Spaces:
Running
Running
Nông Văn Thắng
commited on
Commit
·
f03d2e3
1
Parent(s):
69448e7
main
Browse files- app.py +1 -27
- colab-notebook.ipynb +0 -66
app.py
CHANGED
@@ -38,13 +38,6 @@ def synthesise_mel(text, text_length, n_timesteps, temperature, length_scale):
|
|
38 |
return (22050, waveform), plot_tensor(output["mel"].squeeze().cpu().numpy())
|
39 |
# sample rate 22.05 kHz
|
40 |
|
41 |
-
|
42 |
-
def example_cacher(text, n_timesteps, mel_temp, length_scale):
|
43 |
-
phones, text, text_lengths = process_text_gradio(text)
|
44 |
-
audio, mel_spectrogram = synthesise_mel(text, text_lengths, n_timesteps, mel_temp, length_scale)
|
45 |
-
return phones, audio, mel_spectrogram
|
46 |
-
|
47 |
-
|
48 |
with gr.Blocks(title=TITLE, theme="soft") as demo:
|
49 |
processed_text = gr.State(value=None)
|
50 |
processed_text_len = gr.State(value=None)
|
@@ -71,30 +64,11 @@ with gr.Blocks(title=TITLE, theme="soft") as demo:
|
|
71 |
phonetised_text = gr.Textbox(label="Văn bản dưới dạng mẫu tự biểu âm quốc tế (IPA)", info="khẩu âm Hà Nội", interactive=False, lines=3)
|
72 |
mel_spectrogram = gr.Image(label="mel spectrogram", interactive=False)
|
73 |
|
74 |
-
with gr.Row():
|
75 |
-
examples = gr.Examples(
|
76 |
-
label="ví dụ văn bản đầu vào",
|
77 |
-
examples=[
|
78 |
-
[DEMO_TEXT_0, 2, 0.677, 0.95],
|
79 |
-
[DEMO_TEXT_0, 4, 0.677, 0.95],
|
80 |
-
[DEMO_TEXT_0, 10, 0.677, 0.95],
|
81 |
-
[DEMO_TEXT_0, 50, 0.677, 0.95],
|
82 |
-
[DEMO_TEXT_1, 50, 0.677, 0.95],
|
83 |
-
],
|
84 |
-
fn=example_cacher,
|
85 |
-
inputs=[text, n_timesteps, mel_temp, length_scale],
|
86 |
-
outputs=[phonetised_text, audio, mel_spectrogram],
|
87 |
-
cache_examples=True,
|
88 |
-
)
|
89 |
-
|
90 |
-
with gr.Row():
|
91 |
-
gr.Markdown("[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/#fileId=https://huggingface.co/spaces/doof-ferb/MatchaTTS_ngngngan/blob/main/colab-notebook.ipynb)")
|
92 |
-
|
93 |
synth_btn.click(
|
94 |
fn=process_text_gradio,
|
95 |
inputs=[text],
|
96 |
outputs=[phonetised_text, processed_text, processed_text_len],
|
97 |
-
api_name="
|
98 |
queue=True,
|
99 |
).then(
|
100 |
fn=synthesise_mel,
|
|
|
38 |
return (22050, waveform), plot_tensor(output["mel"].squeeze().cpu().numpy())
|
39 |
# sample rate 22.05 kHz
|
40 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
with gr.Blocks(title=TITLE, theme="soft") as demo:
|
42 |
processed_text = gr.State(value=None)
|
43 |
processed_text_len = gr.State(value=None)
|
|
|
64 |
phonetised_text = gr.Textbox(label="Văn bản dưới dạng mẫu tự biểu âm quốc tế (IPA)", info="khẩu âm Hà Nội", interactive=False, lines=3)
|
65 |
mel_spectrogram = gr.Image(label="mel spectrogram", interactive=False)
|
66 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
synth_btn.click(
|
68 |
fn=process_text_gradio,
|
69 |
inputs=[text],
|
70 |
outputs=[phonetised_text, processed_text, processed_text_len],
|
71 |
+
api_name="process",
|
72 |
queue=True,
|
73 |
).then(
|
74 |
fn=synthesise_mel,
|
colab-notebook.ipynb
DELETED
@@ -1,66 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"cells": [
|
3 |
-
{
|
4 |
-
"cell_type": "code",
|
5 |
-
"execution_count": null,
|
6 |
-
"metadata": {},
|
7 |
-
"outputs": [],
|
8 |
-
"source": [
|
9 |
-
"!apt-get install espeak-ng\n",
|
10 |
-
"%pip install -q git+https://github.com/phineas-pta/MatchaTTS_ngngngan.git\n",
|
11 |
-
"\n",
|
12 |
-
"import IPython.display as ipd\n",
|
13 |
-
"import torch\n",
|
14 |
-
"from huggingface_hub import hf_hub_download\n",
|
15 |
-
"from matcha.cli import get_torch_device, load_matcha, load_vocoder, process_text, to_waveform\n",
|
16 |
-
"\n",
|
17 |
-
"MODEL_PATH = hf_hub_download(repo_id=\"doof-ferb/matcha_ngngngan\", filename=\"ckpt/checkpoint_epoch420_slim.pt\")\n",
|
18 |
-
"VOCODER_PATH = hf_hub_download(repo_id=\"doof-ferb/matcha_ngngngan\", filename=\"hifigan/g_02500000\")\n",
|
19 |
-
"DEVICE = get_torch_device()\n",
|
20 |
-
"MODEL = load_matcha(MODEL_PATH, DEVICE)\n",
|
21 |
-
"VOCODER, DENOISER = load_vocoder(VOCODER_PATH, DEVICE)\n",
|
22 |
-
"\n",
|
23 |
-
"@torch.inference_mode()\n",
|
24 |
-
"def tts(text, n_timesteps, temperature, length_scale, denoiser_strength):\n",
|
25 |
-
"\ttmp0 = process_text(text, DEVICE)\n",
|
26 |
-
"\tphones, txt, txt_len = tmp0[\"x_phones\"][1::2], tmp0[\"x\"], tmp0[\"x_lengths\"]\n",
|
27 |
-
"\toutput = MODEL.synthesise(txt, txt_len, n_timesteps=n_timesteps, temperature=temperature, spks=None, length_scale=length_scale)\n",
|
28 |
-
"\twaveform = to_waveform(output[\"mel\"], VOCODER, DENOISER, denoiser_strength=denoiser_strength).numpy()\n",
|
29 |
-
"\tipd.display(ipd.Audio(waveform, rate=22050))\n",
|
30 |
-
"\tipd.display(ipd.Markdown(\"Văn bản dưới dạng mẫu tự biểu âm quốc tế (IPA), khẩu âm Hà Nội\\n\\n\" + phones))"
|
31 |
-
]
|
32 |
-
},
|
33 |
-
{
|
34 |
-
"cell_type": "code",
|
35 |
-
"execution_count": null,
|
36 |
-
"metadata": {},
|
37 |
-
"outputs": [],
|
38 |
-
"source": [
|
39 |
-
"tts(\n",
|
40 |
-
"\"\"\"Kính thưa quý vị, xin quý vị ghé vào thăm kênh Youtube Nguyễn Ngọc Ngạn,\n",
|
41 |
-
"quý vị sẽ gặp lại tất cả các băng đọc truyện của Nguyễn Ngọc Ngạn do Trung tâm Thúy Nga thực hiện\n",
|
42 |
-
"và những truyện mới cùng những buổi nói chuyện về nhiều đề tài phổ biến khác nhau.\n",
|
43 |
-
"Xin chân thành cảm ơn và chờ đón quý vị.\"\"\",\n",
|
44 |
-
"n_timesteps=50, temperature=0.667, length_scale=.95, denoiser_strength=2.5e-4\n",
|
45 |
-
")"
|
46 |
-
]
|
47 |
-
}
|
48 |
-
],
|
49 |
-
"metadata": {
|
50 |
-
"colab": {
|
51 |
-
"private_outputs": true,
|
52 |
-
"provenance": [],
|
53 |
-
"gpuType": "T4"
|
54 |
-
},
|
55 |
-
"kernelspec": {
|
56 |
-
"name": "python3",
|
57 |
-
"display_name": "Python 3"
|
58 |
-
},
|
59 |
-
"language_info": {
|
60 |
-
"name": "python"
|
61 |
-
},
|
62 |
-
"accelerator": "GPU"
|
63 |
-
},
|
64 |
-
"nbformat": 4,
|
65 |
-
"nbformat_minor": 0
|
66 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|