File size: 2,545 Bytes
cc2e3f3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{
	"cells": [
		{
			"cell_type": "code",
			"execution_count": null,
			"metadata": {},
			"outputs": [],
			"source": [
				"!apt-get install espeak-ng\n",
				"%pip install -q git+https://github.com/phineas-pta/MatchaTTS_ngngngan.git\n",
				"\n",
				"import IPython.display as ipd\n",
				"import torch\n",
				"from huggingface_hub import hf_hub_download\n",
				"from matcha.cli import get_torch_device, load_matcha, load_vocoder, process_text, to_waveform\n",
				"\n",
				"MODEL_PATH = hf_hub_download(repo_id=\"doof-ferb/matcha_ngngngan\", filename=\"ckpt/checkpoint_epoch420_slim.pt\")\n",
				"VOCODER_PATH = hf_hub_download(repo_id=\"doof-ferb/matcha_ngngngan\", filename=\"hifigan/g_02500000\")\n",
				"DEVICE = get_torch_device()\n",
				"MODEL = load_matcha(MODEL_PATH, DEVICE)\n",
				"VOCODER, DENOISER = load_vocoder(VOCODER_PATH, DEVICE)\n",
				"\n",
				"@torch.inference_mode()\n",
				"def tts(text, n_timesteps, temperature, length_scale, denoiser_strength):\n",
				"\ttmp0 = process_text(text, DEVICE)\n",
				"\tphones, txt, txt_len = tmp0[\"x_phones\"][1::2], tmp0[\"x\"], tmp0[\"x_lengths\"]\n",
				"\toutput = MODEL.synthesise(txt, txt_len, n_timesteps=n_timesteps, temperature=temperature, spks=None, length_scale=length_scale)\n",
				"\twaveform = to_waveform(output[\"mel\"], VOCODER, DENOISER, denoiser_strength=denoiser_strength).numpy()\n",
				"\tipd.display(ipd.Audio(waveform, rate=22050))\n",
				"\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))"
			]
		},
		{
			"cell_type": "code",
			"execution_count": null,
			"metadata": {},
			"outputs": [],
			"source": [
				"tts(\n",
				"\"\"\"Kính thưa quý vị, xin quý vị ghé vào thăm kênh Youtube Nguyễn Ngọc Ngạn,\n",
				"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",
				"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",
				"Xin chân thành cảm ơn và chờ đón quý vị.\"\"\",\n",
				"n_timesteps=50, temperature=0.667, length_scale=.95, denoiser_strength=2.5e-4\n",
				")"
			]
		}
	],
	"metadata": {
		"colab": {
			"private_outputs": true,
			"provenance": [],
			"gpuType": "T4"
		},
		"kernelspec": {
			"name": "python3",
			"display_name": "Python 3"
		},
		"language_info": {
			"name": "python"
		},
		"accelerator": "GPU"
	},
	"nbformat": 4,
	"nbformat_minor": 0
}