File size: 1,561 Bytes
ad39d04
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d73a2d4
ad39d04
 
058035a
 
ad39d04
 
 
 
 
 
 
d73a2d4
 
 
ad39d04
 
 
 
 
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
from vietTTS.hifigan.mel2wave import mel2wave
from vietTTS.nat.text2mel import text2mel
from vietTTS import nat_normalize_text
import numpy as np
import gradio as gr
import os


def text_to_speech(text):
    # prevent too long text
    if len(text) > 500:
        text = text[:500]
    text = nat_normalize_text(text)
    mel = text2mel(
        text,
        "lexicon.txt",
        0.2,
        "acoustic_latest_ckpt.pickle",
        "duration_latest_ckpt.pickle",
    )
    wave = mel2wave(mel, "config.json", "hk_hifi.pickle")
    return (wave * (2**15)).astype(np.int16)


def speak(text):
    y = text_to_speech(text)
    return 16_000, y


title = "tacotron2"
description = "text-to-speech demo"

gr.Interface(
    fn=speak, 
    inputs="text", 
    outputs="audio",
    title = title,
    examples = [
    "Khi doanh nghiệp của bạn có lịch làm việc khác thường, chẳng hạn như lúc có sự kiện đặc biệt hoặc vào ngày lễ, bạn có thể nhập trước giờ đặc biệt để cho khách hàng biết thời điểm doanh nghiệp mở cửa.",
    "Sách là viên ngọc tri thức của nhân loại và có ảnh hưởng rất lớn tới cuộc sống con người. Nhờ đọc được những cuốn sách hay mà người ta có thể thay đổi cách sống, cải thiện tinh thần và có những định hướng đúng đắn cho sự nghiệp. ",
    "Đây là giọng đọc nhân tạo",
    ],
    description=description,
    theme="default",
    allow_flagging="never",
).launch(debug=False)