Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ModelZoo
sambert-hifigan_pytorch
Commits
51782715
Commit
51782715
authored
Feb 23, 2024
by
liugh5
Browse files
update
parent
8b4e9acd
Changes
182
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
0 additions
and
6205 deletions
+0
-6205
kantts/preprocess/languages/WuuShanghai/En2ChPhoneMap.txt
kantts/preprocess/languages/WuuShanghai/En2ChPhoneMap.txt
+0
-2
kantts/preprocess/languages/WuuShanghai/PhoneSet.xml
kantts/preprocess/languages/WuuShanghai/PhoneSet.xml
+0
-1353
kantts/preprocess/languages/WuuShanghai/PosSet.xml
kantts/preprocess/languages/WuuShanghai/PosSet.xml
+0
-395
kantts/preprocess/languages/WuuShanghai/py2phoneMap.txt
kantts/preprocess/languages/WuuShanghai/py2phoneMap.txt
+0
-1204
kantts/preprocess/languages/WuuShanghai/tonelist.txt
kantts/preprocess/languages/WuuShanghai/tonelist.txt
+0
-10
kantts/preprocess/languages/ZhHK/En2ChPhoneMap.txt
kantts/preprocess/languages/ZhHK/En2ChPhoneMap.txt
+0
-2
kantts/preprocess/languages/ZhHK/PhoneSet.xml
kantts/preprocess/languages/ZhHK/PhoneSet.xml
+0
-903
kantts/preprocess/languages/ZhHK/PosSet.xml
kantts/preprocess/languages/ZhHK/PosSet.xml
+0
-395
kantts/preprocess/languages/ZhHK/py2phoneMap.txt
kantts/preprocess/languages/ZhHK/py2phoneMap.txt
+0
-1084
kantts/preprocess/languages/ZhHK/tonelist.txt
kantts/preprocess/languages/ZhHK/tonelist.txt
+0
-11
kantts/preprocess/languages/__init__.py
kantts/preprocess/languages/__init__.py
+0
-30
kantts/preprocess/languages/__pycache__/__init__.cpython-38.pyc
.../preprocess/languages/__pycache__/__init__.cpython-38.pyc
+0
-0
kantts/preprocess/script_convertor/TextScriptConvertor.py
kantts/preprocess/script_convertor/TextScriptConvertor.py
+0
-608
kantts/preprocess/script_convertor/__init__.py
kantts/preprocess/script_convertor/__init__.py
+0
-0
kantts/preprocess/script_convertor/__pycache__/TextScriptConvertor.cpython-38.pyc
..._convertor/__pycache__/TextScriptConvertor.cpython-38.pyc
+0
-0
kantts/preprocess/script_convertor/__pycache__/__init__.cpython-38.pyc
...cess/script_convertor/__pycache__/__init__.cpython-38.pyc
+0
-0
kantts/preprocess/script_convertor/core/Phone.py
kantts/preprocess/script_convertor/core/Phone.py
+0
-44
kantts/preprocess/script_convertor/core/PhoneSet.py
kantts/preprocess/script_convertor/core/PhoneSet.py
+0
-52
kantts/preprocess/script_convertor/core/Pos.py
kantts/preprocess/script_convertor/core/Pos.py
+0
-40
kantts/preprocess/script_convertor/core/PosSet.py
kantts/preprocess/script_convertor/core/PosSet.py
+0
-72
No files found.
kantts/preprocess/languages/WuuShanghai/En2ChPhoneMap.txt
deleted
100644 → 0
View file @
8b4e9acd
wu w
yi y
kantts/preprocess/languages/WuuShanghai/PhoneSet.xml
deleted
100644 → 0
View file @
8b4e9acd
<?xml version="1.0" encoding="utf-8"?>
<phoneSet
xmlns=
"http://schemas.alibaba-inc.com/tts"
>
<phone>
<id>
0
</id>
<name>
p_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
doublelips
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
1
</id>
<name>
ph_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
voiced
</uv>
<ap>
centraltongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
2
</id>
<name>
b_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
3
</id>
<name>
m_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
liptooth
</ap>
<am>
fricative
</am>
</phone>
<phone>
<id>
4
</id>
<name>
f_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
5
</id>
<name>
v_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
6
</id>
<name>
t_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
velar
</ap>
<am>
fricative
</am>
</phone>
<phone>
<id>
7
</id>
<name>
th_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
centraltongue
</ap>
<am>
lateral
</am>
</phone>
<phone>
<id>
8
</id>
<name>
d_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
voiced
</uv>
<ap>
high
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
9
</id>
<name>
n_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
voiced
</uv>
<ap>
high
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
10
</id>
<name>
l_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
lateral
</am>
</phone>
<phone>
<id>
11
</id>
<name>
ts_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
doublelips
</ap>
<am>
nasal
</am>
</phone>
<phone>
<id>
12
</id>
<name>
tsh_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
nasal
</am>
</phone>
<phone>
<id>
13
</id>
<name>
s_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
nasal
</am>
</phone>
<phone>
<id>
14
</id>
<name>
z_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
voiced
</uv>
<ap>
doublelips
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
15
</id>
<name>
c_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
centraltongue
</ap>
<am>
fricative
</am>
</phone>
<phone>
<id>
16
</id>
<name>
ch_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
voiced
</uv>
<ap>
low
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
17
</id>
<name>
j_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
doublelips
</ap>
<am>
lateral
</am>
</phone>
<phone>
<id>
18
</id>
<name>
ny_sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
centraltongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
19
</id>
<name>
sh_sh
</name>
<cv>
vowel
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
20
</id>
<name>
zh_sh
</name>
<cv>
vowel
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
21
</id>
<name>
k_sh
</name>
<cv>
vowel
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
22
</id>
<name>
kh_sh
</name>
<cv>
vowel
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
23
</id>
<name>
g_sh
</name>
<cv>
vowel
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
24
</id>
<name>
ng_sh
</name>
<cv>
vowel
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
25
</id>
<name>
h_sh
</name>
<cv>
vowel
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
26
</id>
<name>
gh_sh
</name>
<cv>
vowel
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
27
</id>
<name>
a_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
28
</id>
<name>
ah_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
29
</id>
<name>
an_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
30
</id>
<name>
aon_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
31
</id>
<name>
au_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
32
</id>
<name>
e_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
33
</id>
<name>
eh_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
34
</id>
<name>
en_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
35
</id>
<name>
eu_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
36
</id>
<name>
i_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
37
</id>
<name>
ia_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
38
</id>
<name>
iah_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
39
</id>
<name>
ian_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
40
</id>
<name>
iaon_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
41
</id>
<name>
iau_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
42
</id>
<name>
ie_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
43
</id>
<name>
ieu_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
44
</id>
<name>
ih_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
45
</id>
<name>
in_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
46
</id>
<name>
ioe_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
47
</id>
<name>
ioh_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
48
</id>
<name>
ion_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
49
</id>
<name>
iu_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
50
</id>
<name>
iuih_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
51
</id>
<name>
iun_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
52
</id>
<name>
o_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
53
</id>
<name>
oe_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
middle
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
54
</id>
<name>
oh_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
middle
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
55
</id>
<name>
on_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
middle
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
56
</id>
<name>
r_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
57
</id>
<name>
u_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
58
</id>
<name>
ua_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
middle
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
59
</id>
<name>
uah_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
middle
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
60
</id>
<name>
uan_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
61
</id>
<name>
uaon_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
62
</id>
<name>
ue_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
63
</id>
<name>
ueh_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
64
</id>
<name>
uen_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
65
</id>
<name>
uoe_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
middle
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
66
</id>
<name>
y_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
67
</id>
<name>
ghan_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
68
</id>
<name>
ghau_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
69
</id>
<name>
gheh_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
70
</id>
<name>
ghiah_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
71
</id>
<name>
ghuoe_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
72
</id>
<name>
ghen_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
73
</id>
<name>
ghia_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
74
</id>
<name>
ghie_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
75
</id>
<name>
ghuaon_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
76
</id>
<name>
ghian_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
77
</id>
<name>
gheu_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
78
</id>
<name>
ghih_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
79
</id>
<name>
ghiau_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
80
</id>
<name>
ghin_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
81
</id>
<name>
ghiu_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
82
</id>
<name>
ghoe_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
83
</id>
<name>
ghieu_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
84
</id>
<name>
ghoh_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
85
</id>
<name>
ghon_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
86
</id>
<name>
ghua_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
87
</id>
<name>
ghioe_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
88
</id>
<name>
ghue_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
89
</id>
<name>
ghioh_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
90
</id>
<name>
ghion_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
91
</id>
<name>
ghiaon_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
92
</id>
<name>
ghiun_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
93
</id>
<name>
gha_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
94
</id>
<name>
ghuah_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
95
</id>
<name>
ghe_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
96
</id>
<name>
ghaon_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
97
</id>
<name>
ghi_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
98
</id>
<name>
ghuan_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
99
</id>
<name>
ghng_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
100
</id>
<name>
ghm_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
101
</id>
<name>
ghn_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
102
</id>
<name>
ghiuih_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
103
</id>
<name>
gho_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
104
</id>
<name>
ghueh_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
105
</id>
<name>
ghr_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
106
</id>
<name>
ghu_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
107
</id>
<name>
ghuen_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
108
</id>
<name>
ghy_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
109
</id>
<name>
ghah_sh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
110
</id>
<name>
aa
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
111
</id>
<name>
ae
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
112
</id>
<name>
ah
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
113
</id>
<name>
ao
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
114
</id>
<name>
aw
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
115
</id>
<name>
ay
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
116
</id>
<name>
b
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
doublelips
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
117
</id>
<name>
ch
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
backtongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
118
</id>
<name>
d
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
centraltongue
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
119
</id>
<name>
dh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
120
</id>
<name>
eh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
121
</id>
<name>
er
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
122
</id>
<name>
ey
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
123
</id>
<name>
f
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
liptooth
</ap>
<am>
fricative
</am>
</phone>
<phone>
<id>
124
</id>
<name>
g
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
velar
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
125
</id>
<name>
hh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
126
</id>
<name>
ih
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
127
</id>
<name>
iy
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
128
</id>
<name>
jh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
129
</id>
<name>
k
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
velar
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
130
</id>
<name>
l
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
voiced
</uv>
<ap>
centraltongue
</ap>
<am>
lateral
</am>
</phone>
<phone>
<id>
131
</id>
<name>
m
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
voiced
</uv>
<ap>
doublelips
</ap>
<am>
nasal
</am>
</phone>
<phone>
<id>
132
</id>
<name>
n
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
voiced
</uv>
<ap>
centraltongue
</ap>
<am>
nasal
</am>
</phone>
<phone>
<id>
133
</id>
<name>
ng
</name>
<cv>
consonant
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
134
</id>
<name>
ow
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
135
</id>
<name>
oy
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
136
</id>
<name>
p
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
doublelips
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
137
</id>
<name>
r
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
voiced
</uv>
<ap>
backtongue
</ap>
<am>
fricative
</am>
</phone>
<phone>
<id>
138
</id>
<name>
s
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
fricative
</am>
</phone>
<phone>
<id>
139
</id>
<name>
sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
backtongue
</ap>
<am>
fricative
</am>
</phone>
<phone>
<id>
140
</id>
<name>
t
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
centraltongue
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
141
</id>
<name>
th
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
142
</id>
<name>
uh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
143
</id>
<name>
uw
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
144
</id>
<name>
v
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
145
</id>
<name>
w
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
146
</id>
<name>
y
</name>
<cv>
consonant
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
147
</id>
<name>
z
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
148
</id>
<name>
zh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
backtongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
149
</id>
<name>
pau
</name>
<cv>
consonant
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
low
</ap>
<am>
affricative
</am>
</phone>
</phoneSet>
kantts/preprocess/languages/WuuShanghai/PosSet.xml
deleted
100644 → 0
View file @
8b4e9acd
<?xml version="1.0" encoding="utf-8"?>
<posSet
xmlns=
"http://schemas.alibaba-inc.com/tts"
>
<pos>
<id>
1
</id>
<name>
a
</name>
<desc>
adjective
</desc>
<sub>
<pos>
<id>
2
</id>
<name>
aq
</name>
<desc>
adjective-quality
</desc>
</pos>
<pos>
<id>
3
</id>
<name>
as
</name>
<desc>
adjective-state
</desc>
</pos>
<pos>
<id>
123
</id>
<name>
av
</name>
<desc>
adjective-verb
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
4
</id>
<name>
c
</name>
<desc>
conjunction
</desc>
</pos>
<pos>
<id>
5
</id>
<name>
d
</name>
<desc>
adverb
</desc>
</pos>
<pos>
<id>
6
</id>
<name>
e
</name>
<desc>
exclamation
</desc>
</pos>
<pos>
<id>
7
</id>
<name>
f
</name>
<desc>
difference
</desc>
</pos>
<pos>
<id>
8
</id>
<name>
g
</name>
<desc>
morpheme
</desc>
<sub>
<pos>
<id>
9
</id>
<name>
ga
</name>
<desc>
morpheme-adjective
</desc>
</pos>
<pos>
<id>
10
</id>
<name>
gn
</name>
<desc>
morpheme-noun
</desc>
</pos>
<pos>
<id>
11
</id>
<name>
gv
</name>
<desc>
morpheme-verb
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
12
</id>
<name>
h
</name>
<desc>
head
</desc>
</pos>
<pos>
<id>
13
</id>
<name>
i
</name>
<desc>
idiom
</desc>
<sub>
<pos>
<id>
14
</id>
<name>
ia
</name>
<desc>
idiom-adjective
</desc>
</pos>
<pos>
<id>
15
</id>
<name>
ic
</name>
<desc>
idiom-conjunction
</desc>
</pos>
<pos>
<id>
16
</id>
<name>
in
</name>
<desc>
idiom-noun
</desc>
</pos>
<pos>
<id>
17
</id>
<name>
iv
</name>
<desc>
idiom-verb
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
18
</id>
<name>
j
</name>
<desc>
abbreviation
</desc>
<sub>
<pos>
<id>
19
</id>
<name>
ja
</name>
<desc>
abbreviation-adjective
</desc>
</pos>
<pos>
<id>
20
</id>
<name>
jn
</name>
<desc>
abbreviation-noun
</desc>
</pos>
<pos>
<id>
21
</id>
<name>
jv
</name>
<desc>
abbreviation-verb
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
22
</id>
<name>
k
</name>
<desc>
proclitic
</desc>
</pos>
<pos>
<id>
23
</id>
<name>
m
</name>
<desc>
numeral
</desc>
<sub>
<pos>
<id>
124
</id>
<name>
mq
</name>
<desc>
number-quality
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
24
</id>
<name>
n
</name>
<desc>
noun
</desc>
<sub>
<pos>
<id>
25
</id>
<name>
nd
</name>
<desc>
noun-direction
</desc>
</pos>
<pos>
<id>
26
</id>
<name>
ng
</name>
<desc>
noun-general
</desc>
</pos>
<pos>
<id>
27
</id>
<name>
nh
</name>
<desc>
noun-human
</desc>
<sub>
<pos>
<id>
101
</id>
<name>
nhf
</name>
<desc>
noun-human-family
</desc>
</pos>
<pos>
<id>
129
</id>
<name>
nhs
</name>
<desc>
"nhs"-string
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
28
</id>
<name>
ni
</name>
<desc>
noun-institution
</desc>
</pos>
<pos>
<id>
29
</id>
<name>
nl
</name>
<desc>
noun-location
</desc>
</pos>
<pos>
<id>
30
</id>
<name>
nn
</name>
<desc>
noun-nation
</desc>
</pos>
<pos>
<id>
31
</id>
<name>
ns
</name>
<desc>
noun-space
</desc>
</pos>
<pos>
<id>
32
</id>
<name>
nt
</name>
<desc>
noun-time
</desc>
</pos>
<pos>
<id>
33
</id>
<name>
nz
</name>
<desc>
noun-special
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
34
</id>
<name>
o
</name>
<desc>
onomatopoeia
</desc>
</pos>
<pos>
<id>
35
</id>
<name>
p
</name>
<desc>
preposition
</desc>
</pos>
<pos>
<id>
36
</id>
<name>
q
</name>
<desc>
quantity
</desc>
</pos>
<pos>
<id>
37
</id>
<name>
r
</name>
<desc>
pronoun
</desc>
</pos>
<pos>
<id>
100
</id>
<name>
t
</name>
<desc>
"t"-string
</desc>
<sub>
<pos>
<id>
102
</id>
<name>
ta
</name>
<desc>
"ta"-string
</desc>
</pos>
<pos>
<id>
103
</id>
<name>
td
</name>
<desc>
"td"-string
</desc>
</pos>
<pos>
<id>
104
</id>
<name>
te
</name>
<desc>
"te"-string
</desc>
</pos>
<pos>
<id>
105
</id>
<name>
tf
</name>
<desc>
"tf"-string
</desc>
</pos>
<pos>
<id>
106
</id>
<name>
th
</name>
<desc>
"th"-string
</desc>
</pos>
<pos>
<id>
107
</id>
<name>
tm
</name>
<desc>
"tm"-string
</desc>
</pos>
<pos>
<id>
108
</id>
<name>
tk
</name>
<desc>
"tk"-string
</desc>
</pos>
<pos>
<id>
109
</id>
<name>
tmq
</name>
<desc>
"tmq"-string
</desc>
</pos>
<pos>
<id>
110
</id>
<name>
tn
</name>
<desc>
"tn"-string
</desc>
</pos>
<pos>
<id>
113
</id>
<name>
tnd
</name>
<desc>
"tnd"-string
</desc>
</pos>
<pos>
<id>
114
</id>
<name>
tnh
</name>
<desc>
"tnh"-string
</desc>
</pos>
<pos>
<id>
115
</id>
<name>
tnt
</name>
<desc>
"tnt"-string
</desc>
</pos>
<pos>
<id>
117
</id>
<name>
to
</name>
<desc>
"to"-string
</desc>
</pos>
<pos>
<id>
118
</id>
<name>
tq
</name>
<desc>
"tq"-string
</desc>
</pos>
<pos>
<id>
119
</id>
<name>
tr
</name>
<desc>
"tr"-string
</desc>
</pos>
<pos>
<id>
120
</id>
<name>
tu
</name>
<desc>
"tu"-string
</desc>
</pos>
<pos>
<id>
121
</id>
<name>
tv
</name>
<desc>
"tv"-string
</desc>
</pos>
<pos>
<id>
122
</id>
<name>
tx
</name>
<desc>
"tx"-string
</desc>
</pos>
<pos>
<id>
128
</id>
<name>
ti
</name>
<desc>
"ti"-string
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
38
</id>
<name>
u
</name>
<desc>
auxiliary
</desc>
</pos>
<pos>
<id>
39
</id>
<name>
v
</name>
<desc>
verb
</desc>
<sub>
<pos>
<id>
40
</id>
<name>
vd
</name>
<desc>
verb-direction
</desc>
</pos>
<pos>
<id>
41
</id>
<name>
vi
</name>
<desc>
verb-intransitive
</desc>
</pos>
<pos>
<id>
42
</id>
<name>
vl
</name>
<desc>
verb-linking
</desc>
</pos>
<pos>
<id>
43
</id>
<name>
vt
</name>
<desc>
verb-transitive
</desc>
</pos>
<pos>
<id>
44
</id>
<name>
vu
</name>
<desc>
verb-auxiliary
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
45
</id>
<name>
w
</name>
<desc>
others
</desc>
<sub>
<pos>
<id>
46
</id>
<name>
wp
</name>
<desc>
punctuations
</desc>
</pos>
<pos>
<id>
47
</id>
<name>
ws
</name>
<desc>
"w"-string
</desc>
</pos>
<pos>
<id>
48
</id>
<name>
wu
</name>
<desc>
"w"-unknown
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
49
</id>
<name>
x
</name>
<desc>
nonemorpheme
</desc>
<sub>
<pos>
<id>
125
</id>
<name>
xx
</name>
<desc>
"xx"-string
</desc>
</pos>
</sub>
</pos>
</posSet>
kantts/preprocess/languages/WuuShanghai/py2phoneMap.txt
deleted
100644 → 0
View file @
8b4e9acd
an an_sh
au au_sh
eh eh_sh
iah iah_sh
uoe uoe_sh
en en_sh
ia ia_sh
ie ie_sh
uaon uaon_sh
ian ian_sh
eu eu_sh
ih ih_sh
iau iau_sh
in in_sh
iu iu_sh
oe oe_sh
ieu ieu_sh
oh oh_sh
on on_sh
ua ua_sh
ioe ioe_sh
ue ue_sh
ioh ioh_sh
ion ion_sh
iaon iaon_sh
iun iun_sh
a a_sh
uah uah_sh
e e_sh
aon aon_sh
i i_sh
uan uan_sh
ng ng_sh
m m_sh
n n_sh
iuih iuih_sh
o o_sh
ueh ueh_sh
r r_sh
u u_sh
uen uen_sh
y y_sh
ah ah_sh
han h_sh an_sh
hau h_sh au_sh
heh h_sh eh_sh
hiah h_sh iah_sh
huoe h_sh uoe_sh
hen h_sh en_sh
hia h_sh ia_sh
hie h_sh ie_sh
huaon h_sh uaon_sh
hian h_sh ian_sh
heu h_sh eu_sh
hih h_sh ih_sh
hiau h_sh iau_sh
hin h_sh in_sh
hiu h_sh iu_sh
hoe h_sh oe_sh
hieu h_sh ieu_sh
hoh h_sh oh_sh
hon h_sh on_sh
hua h_sh ua_sh
hioe h_sh ioe_sh
hue h_sh ue_sh
hioh h_sh ioh_sh
hion h_sh ion_sh
hiaon h_sh iaon_sh
hiun h_sh iun_sh
ha h_sh a_sh
huah h_sh uah_sh
he h_sh e_sh
haon h_sh aon_sh
hi h_sh i_sh
huan h_sh uan_sh
hng h_sh ng_sh
hm h_sh m_sh
hn h_sh n_sh
hiuih h_sh iuih_sh
ho h_sh o_sh
hueh h_sh ueh_sh
hr h_sh r_sh
hu h_sh u_sh
huen h_sh uen_sh
hy h_sh y_sh
hah h_sh ah_sh
van v_sh an_sh
vau v_sh au_sh
veh v_sh eh_sh
viah v_sh iah_sh
vuoe v_sh uoe_sh
ven v_sh en_sh
via v_sh ia_sh
vie v_sh ie_sh
vuaon v_sh uaon_sh
vian v_sh ian_sh
veu v_sh eu_sh
vih v_sh ih_sh
viau v_sh iau_sh
vin v_sh in_sh
viu v_sh iu_sh
voe v_sh oe_sh
vieu v_sh ieu_sh
voh v_sh oh_sh
von v_sh on_sh
vua v_sh ua_sh
vioe v_sh ioe_sh
vue v_sh ue_sh
vioh v_sh ioh_sh
vion v_sh ion_sh
viaon v_sh iaon_sh
viun v_sh iun_sh
va v_sh a_sh
vuah v_sh uah_sh
ve v_sh e_sh
vaon v_sh aon_sh
vi v_sh i_sh
vuan v_sh uan_sh
vng v_sh ng_sh
vm v_sh m_sh
vn v_sh n_sh
viuih v_sh iuih_sh
vo v_sh o_sh
vueh v_sh ueh_sh
vr v_sh r_sh
vu v_sh u_sh
vuen v_sh uen_sh
vy v_sh y_sh
vah v_sh ah_sh
jan j_sh an_sh
jau j_sh au_sh
jeh j_sh eh_sh
jiah j_sh iah_sh
juoe j_sh uoe_sh
jen j_sh en_sh
jia j_sh ia_sh
jie j_sh ie_sh
juaon j_sh uaon_sh
jian j_sh ian_sh
jeu j_sh eu_sh
jih j_sh ih_sh
jiau j_sh iau_sh
jin j_sh in_sh
jiu j_sh iu_sh
joe j_sh oe_sh
jieu j_sh ieu_sh
joh j_sh oh_sh
jon j_sh on_sh
jua j_sh ua_sh
jioe j_sh ioe_sh
jue j_sh ue_sh
jioh j_sh ioh_sh
jion j_sh ion_sh
jiaon j_sh iaon_sh
jiun j_sh iun_sh
ja j_sh a_sh
juah j_sh uah_sh
je j_sh e_sh
jaon j_sh aon_sh
ji j_sh i_sh
juan j_sh uan_sh
jng j_sh ng_sh
jm j_sh m_sh
jn j_sh n_sh
jiuih j_sh iuih_sh
jo j_sh o_sh
jueh j_sh ueh_sh
jr j_sh r_sh
ju j_sh u_sh
juen j_sh uen_sh
jy j_sh y_sh
jah j_sh ah_sh
khan kh_sh an_sh
khau kh_sh au_sh
kheh kh_sh eh_sh
khiah kh_sh iah_sh
khuoe kh_sh uoe_sh
khen kh_sh en_sh
khia kh_sh ia_sh
khie kh_sh ie_sh
khuaon kh_sh uaon_sh
khian kh_sh ian_sh
kheu kh_sh eu_sh
khih kh_sh ih_sh
khiau kh_sh iau_sh
khin kh_sh in_sh
khiu kh_sh iu_sh
khoe kh_sh oe_sh
khieu kh_sh ieu_sh
khoh kh_sh oh_sh
khon kh_sh on_sh
khua kh_sh ua_sh
khioe kh_sh ioe_sh
khue kh_sh ue_sh
khioh kh_sh ioh_sh
khion kh_sh ion_sh
khiaon kh_sh iaon_sh
khiun kh_sh iun_sh
kha kh_sh a_sh
khuah kh_sh uah_sh
khe kh_sh e_sh
khaon kh_sh aon_sh
khi kh_sh i_sh
khuan kh_sh uan_sh
khng kh_sh ng_sh
khm kh_sh m_sh
khn kh_sh n_sh
khiuih kh_sh iuih_sh
kho kh_sh o_sh
khueh kh_sh ueh_sh
khr kh_sh r_sh
khu kh_sh u_sh
khuen kh_sh uen_sh
khy kh_sh y_sh
khah kh_sh ah_sh
kan k_sh an_sh
kau k_sh au_sh
keh k_sh eh_sh
kiah k_sh iah_sh
kuoe k_sh uoe_sh
ken k_sh en_sh
kia k_sh ia_sh
kie k_sh ie_sh
kuaon k_sh uaon_sh
kian k_sh ian_sh
keu k_sh eu_sh
kih k_sh ih_sh
kiau k_sh iau_sh
kin k_sh in_sh
kiu k_sh iu_sh
koe k_sh oe_sh
kieu k_sh ieu_sh
koh k_sh oh_sh
kon k_sh on_sh
kua k_sh ua_sh
kioe k_sh ioe_sh
kue k_sh ue_sh
kioh k_sh ioh_sh
kion k_sh ion_sh
kiaon k_sh iaon_sh
kiun k_sh iun_sh
ka k_sh a_sh
kuah k_sh uah_sh
ke k_sh e_sh
kaon k_sh aon_sh
ki k_sh i_sh
kuan k_sh uan_sh
kng k_sh ng_sh
km k_sh m_sh
kn k_sh n_sh
kiuih k_sh iuih_sh
ko k_sh o_sh
kueh k_sh ueh_sh
kr k_sh r_sh
ku k_sh u_sh
kuen k_sh uen_sh
ky k_sh y_sh
kah k_sh ah_sh
lan l_sh an_sh
lau l_sh au_sh
leh l_sh eh_sh
liah l_sh iah_sh
luoe l_sh uoe_sh
len l_sh en_sh
lia l_sh ia_sh
lie l_sh ie_sh
luaon l_sh uaon_sh
lian l_sh ian_sh
leu l_sh eu_sh
lih l_sh ih_sh
liau l_sh iau_sh
lin l_sh in_sh
liu l_sh iu_sh
loe l_sh oe_sh
lieu l_sh ieu_sh
loh l_sh oh_sh
lon l_sh on_sh
lua l_sh ua_sh
lioe l_sh ioe_sh
lue l_sh ue_sh
lioh l_sh ioh_sh
lion l_sh ion_sh
liaon l_sh iaon_sh
liun l_sh iun_sh
la l_sh a_sh
luah l_sh uah_sh
le l_sh e_sh
laon l_sh aon_sh
li l_sh i_sh
luan l_sh uan_sh
lng l_sh ng_sh
lm l_sh m_sh
ln l_sh n_sh
liuih l_sh iuih_sh
lo l_sh o_sh
lueh l_sh ueh_sh
lr l_sh r_sh
lu l_sh u_sh
luen l_sh uen_sh
ly l_sh y_sh
lah l_sh ah_sh
ngan ng_sh an_sh
ngau ng_sh au_sh
ngeh ng_sh eh_sh
ngiah ng_sh iah_sh
nguoe ng_sh uoe_sh
ngen ng_sh en_sh
ngia ng_sh ia_sh
ngie ng_sh ie_sh
nguaon ng_sh uaon_sh
ngian ng_sh ian_sh
ngeu ng_sh eu_sh
ngih ng_sh ih_sh
ngiau ng_sh iau_sh
ngin ng_sh in_sh
ngiu ng_sh iu_sh
ngoe ng_sh oe_sh
ngieu ng_sh ieu_sh
ngoh ng_sh oh_sh
ngon ng_sh on_sh
ngua ng_sh ua_sh
ngioe ng_sh ioe_sh
ngue ng_sh ue_sh
ngioh ng_sh ioh_sh
ngion ng_sh ion_sh
ngiaon ng_sh iaon_sh
ngiun ng_sh iun_sh
nga ng_sh a_sh
nguah ng_sh uah_sh
nge ng_sh e_sh
ngaon ng_sh aon_sh
ngi ng_sh i_sh
nguan ng_sh uan_sh
ngng ng_sh ng_sh
ngm ng_sh m_sh
ngn ng_sh n_sh
ngiuih ng_sh iuih_sh
ngo ng_sh o_sh
ngueh ng_sh ueh_sh
ngr ng_sh r_sh
ngu ng_sh u_sh
nguen ng_sh uen_sh
ngy ng_sh y_sh
ngah ng_sh ah_sh
zhan zh_sh an_sh
zhau zh_sh au_sh
zheh zh_sh eh_sh
zhiah zh_sh iah_sh
zhuoe zh_sh uoe_sh
zhen zh_sh en_sh
zhia zh_sh ia_sh
zhie zh_sh ie_sh
zhuaon zh_sh uaon_sh
zhian zh_sh ian_sh
zheu zh_sh eu_sh
zhih zh_sh ih_sh
zhiau zh_sh iau_sh
zhin zh_sh in_sh
zhiu zh_sh iu_sh
zhoe zh_sh oe_sh
zhieu zh_sh ieu_sh
zhoh zh_sh oh_sh
zhon zh_sh on_sh
zhua zh_sh ua_sh
zhioe zh_sh ioe_sh
zhue zh_sh ue_sh
zhioh zh_sh ioh_sh
zhion zh_sh ion_sh
zhiaon zh_sh iaon_sh
zhiun zh_sh iun_sh
zha zh_sh a_sh
zhuah zh_sh uah_sh
zhe zh_sh e_sh
zhaon zh_sh aon_sh
zhi zh_sh i_sh
zhuan zh_sh uan_sh
zhng zh_sh ng_sh
zhm zh_sh m_sh
zhn zh_sh n_sh
zhiuih zh_sh iuih_sh
zho zh_sh o_sh
zhueh zh_sh ueh_sh
zhr zh_sh r_sh
zhu zh_sh u_sh
zhuen zh_sh uen_sh
zhy zh_sh y_sh
zhah zh_sh ah_sh
zan z_sh an_sh
zau z_sh au_sh
zeh z_sh eh_sh
ziah z_sh iah_sh
zuoe z_sh uoe_sh
zen z_sh en_sh
zia z_sh ia_sh
zie z_sh ie_sh
zuaon z_sh uaon_sh
zian z_sh ian_sh
zeu z_sh eu_sh
zih z_sh ih_sh
ziau z_sh iau_sh
zin z_sh in_sh
ziu z_sh iu_sh
zoe z_sh oe_sh
zieu z_sh ieu_sh
zoh z_sh oh_sh
zon z_sh on_sh
zua z_sh ua_sh
zioe z_sh ioe_sh
zue z_sh ue_sh
zioh z_sh ioh_sh
zion z_sh ion_sh
ziaon z_sh iaon_sh
ziun z_sh iun_sh
za z_sh a_sh
zuah z_sh uah_sh
ze z_sh e_sh
zaon z_sh aon_sh
zi z_sh i_sh
zuan z_sh uan_sh
zng z_sh ng_sh
zm z_sh m_sh
zn z_sh n_sh
ziuih z_sh iuih_sh
zo z_sh o_sh
zueh z_sh ueh_sh
zr z_sh r_sh
zu z_sh u_sh
zuen z_sh uen_sh
zy z_sh y_sh
zah z_sh ah_sh
man m_sh an_sh
mau m_sh au_sh
meh m_sh eh_sh
miah m_sh iah_sh
muoe m_sh uoe_sh
men m_sh en_sh
mia m_sh ia_sh
mie m_sh ie_sh
muaon m_sh uaon_sh
mian m_sh ian_sh
meu m_sh eu_sh
mih m_sh ih_sh
miau m_sh iau_sh
min m_sh in_sh
miu m_sh iu_sh
moe m_sh oe_sh
mieu m_sh ieu_sh
moh m_sh oh_sh
mon m_sh on_sh
mua m_sh ua_sh
mioe m_sh ioe_sh
mue m_sh ue_sh
mioh m_sh ioh_sh
mion m_sh ion_sh
miaon m_sh iaon_sh
miun m_sh iun_sh
ma m_sh a_sh
muah m_sh uah_sh
me m_sh e_sh
maon m_sh aon_sh
mi m_sh i_sh
muan m_sh uan_sh
mng m_sh ng_sh
mm m_sh m_sh
mn m_sh n_sh
miuih m_sh iuih_sh
mo m_sh o_sh
mueh m_sh ueh_sh
mr m_sh r_sh
mu m_sh u_sh
muen m_sh uen_sh
my m_sh y_sh
mah m_sh ah_sh
tshan tsh_sh an_sh
tshau tsh_sh au_sh
tsheh tsh_sh eh_sh
tshiah tsh_sh iah_sh
tshuoe tsh_sh uoe_sh
tshen tsh_sh en_sh
tshia tsh_sh ia_sh
tshie tsh_sh ie_sh
tshuaon tsh_sh uaon_sh
tshian tsh_sh ian_sh
tsheu tsh_sh eu_sh
tshih tsh_sh ih_sh
tshiau tsh_sh iau_sh
tshin tsh_sh in_sh
tshiu tsh_sh iu_sh
tshoe tsh_sh oe_sh
tshieu tsh_sh ieu_sh
tshoh tsh_sh oh_sh
tshon tsh_sh on_sh
tshua tsh_sh ua_sh
tshioe tsh_sh ioe_sh
tshue tsh_sh ue_sh
tshioh tsh_sh ioh_sh
tshion tsh_sh ion_sh
tshiaon tsh_sh iaon_sh
tshiun tsh_sh iun_sh
tsha tsh_sh a_sh
tshuah tsh_sh uah_sh
tshe tsh_sh e_sh
tshaon tsh_sh aon_sh
tshi tsh_sh i_sh
tshuan tsh_sh uan_sh
tshng tsh_sh ng_sh
tshm tsh_sh m_sh
tshn tsh_sh n_sh
tshiuih tsh_sh iuih_sh
tsho tsh_sh o_sh
tshueh tsh_sh ueh_sh
tshr tsh_sh r_sh
tshu tsh_sh u_sh
tshuen tsh_sh uen_sh
tshy tsh_sh y_sh
tshah tsh_sh ah_sh
nan n_sh an_sh
nau n_sh au_sh
neh n_sh eh_sh
niah n_sh iah_sh
nuoe n_sh uoe_sh
nen n_sh en_sh
nia n_sh ia_sh
nie n_sh ie_sh
nuaon n_sh uaon_sh
nian n_sh ian_sh
neu n_sh eu_sh
nih n_sh ih_sh
niau n_sh iau_sh
nin n_sh in_sh
niu n_sh iu_sh
noe n_sh oe_sh
nieu n_sh ieu_sh
noh n_sh oh_sh
non n_sh on_sh
nua n_sh ua_sh
nioe n_sh ioe_sh
nue n_sh ue_sh
nioh n_sh ioh_sh
nion n_sh ion_sh
niaon n_sh iaon_sh
niun n_sh iun_sh
na n_sh a_sh
nuah n_sh uah_sh
ne n_sh e_sh
naon n_sh aon_sh
ni n_sh i_sh
nuan n_sh uan_sh
nng n_sh ng_sh
nm n_sh m_sh
nn n_sh n_sh
niuih n_sh iuih_sh
no n_sh o_sh
nueh n_sh ueh_sh
nr n_sh r_sh
nu n_sh u_sh
nuen n_sh uen_sh
ny n_sh y_sh
nah n_sh ah_sh
ban b_sh an_sh
bau b_sh au_sh
beh b_sh eh_sh
biah b_sh iah_sh
buoe b_sh uoe_sh
ben b_sh en_sh
bia b_sh ia_sh
bie b_sh ie_sh
buaon b_sh uaon_sh
bian b_sh ian_sh
beu b_sh eu_sh
bih b_sh ih_sh
biau b_sh iau_sh
bin b_sh in_sh
biu b_sh iu_sh
boe b_sh oe_sh
bieu b_sh ieu_sh
boh b_sh oh_sh
bon b_sh on_sh
bua b_sh ua_sh
bioe b_sh ioe_sh
bue b_sh ue_sh
bioh b_sh ioh_sh
bion b_sh ion_sh
biaon b_sh iaon_sh
biun b_sh iun_sh
ba b_sh a_sh
buah b_sh uah_sh
be b_sh e_sh
baon b_sh aon_sh
bi b_sh i_sh
buan b_sh uan_sh
bng b_sh ng_sh
bm b_sh m_sh
bn b_sh n_sh
biuih b_sh iuih_sh
bo b_sh o_sh
bueh b_sh ueh_sh
br b_sh r_sh
bu b_sh u_sh
buen b_sh uen_sh
by b_sh y_sh
bah b_sh ah_sh
chan ch_sh an_sh
chau ch_sh au_sh
cheh ch_sh eh_sh
chiah ch_sh iah_sh
chuoe ch_sh uoe_sh
chen ch_sh en_sh
chia ch_sh ia_sh
chie ch_sh ie_sh
chuaon ch_sh uaon_sh
chian ch_sh ian_sh
cheu ch_sh eu_sh
chih ch_sh ih_sh
chiau ch_sh iau_sh
chin ch_sh in_sh
chiu ch_sh iu_sh
choe ch_sh oe_sh
chieu ch_sh ieu_sh
choh ch_sh oh_sh
chon ch_sh on_sh
chua ch_sh ua_sh
chioe ch_sh ioe_sh
chue ch_sh ue_sh
chioh ch_sh ioh_sh
chion ch_sh ion_sh
chiaon ch_sh iaon_sh
chiun ch_sh iun_sh
cha ch_sh a_sh
chuah ch_sh uah_sh
che ch_sh e_sh
chaon ch_sh aon_sh
chi ch_sh i_sh
chuan ch_sh uan_sh
chng ch_sh ng_sh
chm ch_sh m_sh
chn ch_sh n_sh
chiuih ch_sh iuih_sh
cho ch_sh o_sh
chueh ch_sh ueh_sh
chr ch_sh r_sh
chu ch_sh u_sh
chuen ch_sh uen_sh
chy ch_sh y_sh
chah ch_sh ah_sh
can c_sh an_sh
cau c_sh au_sh
ceh c_sh eh_sh
ciah c_sh iah_sh
cuoe c_sh uoe_sh
cen c_sh en_sh
cia c_sh ia_sh
cie c_sh ie_sh
cuaon c_sh uaon_sh
cian c_sh ian_sh
ceu c_sh eu_sh
cih c_sh ih_sh
ciau c_sh iau_sh
cin c_sh in_sh
ciu c_sh iu_sh
coe c_sh oe_sh
cieu c_sh ieu_sh
coh c_sh oh_sh
con c_sh on_sh
cua c_sh ua_sh
cioe c_sh ioe_sh
cue c_sh ue_sh
cioh c_sh ioh_sh
cion c_sh ion_sh
ciaon c_sh iaon_sh
ciun c_sh iun_sh
ca c_sh a_sh
cuah c_sh uah_sh
ce c_sh e_sh
caon c_sh aon_sh
ci c_sh i_sh
cuan c_sh uan_sh
cng c_sh ng_sh
cm c_sh m_sh
cn c_sh n_sh
ciuih c_sh iuih_sh
co c_sh o_sh
cueh c_sh ueh_sh
cr c_sh r_sh
cu c_sh u_sh
cuen c_sh uen_sh
cy c_sh y_sh
cah c_sh ah_sh
phan ph_sh an_sh
phau ph_sh au_sh
pheh ph_sh eh_sh
phiah ph_sh iah_sh
phuoe ph_sh uoe_sh
phen ph_sh en_sh
phia ph_sh ia_sh
phie ph_sh ie_sh
phuaon ph_sh uaon_sh
phian ph_sh ian_sh
pheu ph_sh eu_sh
phih ph_sh ih_sh
phiau ph_sh iau_sh
phin ph_sh in_sh
phiu ph_sh iu_sh
phoe ph_sh oe_sh
phieu ph_sh ieu_sh
phoh ph_sh oh_sh
phon ph_sh on_sh
phua ph_sh ua_sh
phioe ph_sh ioe_sh
phue ph_sh ue_sh
phioh ph_sh ioh_sh
phion ph_sh ion_sh
phiaon ph_sh iaon_sh
phiun ph_sh iun_sh
pha ph_sh a_sh
phuah ph_sh uah_sh
phe ph_sh e_sh
phaon ph_sh aon_sh
phi ph_sh i_sh
phuan ph_sh uan_sh
phng ph_sh ng_sh
phm ph_sh m_sh
phn ph_sh n_sh
phiuih ph_sh iuih_sh
pho ph_sh o_sh
phueh ph_sh ueh_sh
phr ph_sh r_sh
phu ph_sh u_sh
phuen ph_sh uen_sh
phy ph_sh y_sh
phah ph_sh ah_sh
pan p_sh an_sh
pau p_sh au_sh
peh p_sh eh_sh
piah p_sh iah_sh
puoe p_sh uoe_sh
pen p_sh en_sh
pia p_sh ia_sh
pie p_sh ie_sh
puaon p_sh uaon_sh
pian p_sh ian_sh
peu p_sh eu_sh
pih p_sh ih_sh
piau p_sh iau_sh
pin p_sh in_sh
piu p_sh iu_sh
poe p_sh oe_sh
pieu p_sh ieu_sh
poh p_sh oh_sh
pon p_sh on_sh
pua p_sh ua_sh
pioe p_sh ioe_sh
pue p_sh ue_sh
pioh p_sh ioh_sh
pion p_sh ion_sh
piaon p_sh iaon_sh
piun p_sh iun_sh
pa p_sh a_sh
puah p_sh uah_sh
pe p_sh e_sh
paon p_sh aon_sh
pi p_sh i_sh
puan p_sh uan_sh
png p_sh ng_sh
pm p_sh m_sh
pn p_sh n_sh
piuih p_sh iuih_sh
po p_sh o_sh
pueh p_sh ueh_sh
pr p_sh r_sh
pu p_sh u_sh
puen p_sh uen_sh
py p_sh y_sh
pah p_sh ah_sh
dan d_sh an_sh
dau d_sh au_sh
deh d_sh eh_sh
diah d_sh iah_sh
duoe d_sh uoe_sh
den d_sh en_sh
dia d_sh ia_sh
die d_sh ie_sh
duaon d_sh uaon_sh
dian d_sh ian_sh
deu d_sh eu_sh
dih d_sh ih_sh
diau d_sh iau_sh
din d_sh in_sh
diu d_sh iu_sh
doe d_sh oe_sh
dieu d_sh ieu_sh
doh d_sh oh_sh
don d_sh on_sh
dua d_sh ua_sh
dioe d_sh ioe_sh
due d_sh ue_sh
dioh d_sh ioh_sh
dion d_sh ion_sh
diaon d_sh iaon_sh
diun d_sh iun_sh
da d_sh a_sh
duah d_sh uah_sh
de d_sh e_sh
daon d_sh aon_sh
di d_sh i_sh
duan d_sh uan_sh
dng d_sh ng_sh
dm d_sh m_sh
dn d_sh n_sh
diuih d_sh iuih_sh
do d_sh o_sh
dueh d_sh ueh_sh
dr d_sh r_sh
du d_sh u_sh
duen d_sh uen_sh
dy d_sh y_sh
dah d_sh ah_sh
nyan ny_sh an_sh
nyau ny_sh au_sh
nyeh ny_sh eh_sh
nyiah ny_sh iah_sh
nyuoe ny_sh uoe_sh
nyen ny_sh en_sh
nyia ny_sh ia_sh
nyie ny_sh ie_sh
nyuaon ny_sh uaon_sh
nyian ny_sh ian_sh
nyeu ny_sh eu_sh
nyih ny_sh ih_sh
nyiau ny_sh iau_sh
nyin ny_sh in_sh
nyiu ny_sh iu_sh
nyoe ny_sh oe_sh
nyieu ny_sh ieu_sh
nyoh ny_sh oh_sh
nyon ny_sh on_sh
nyua ny_sh ua_sh
nyioe ny_sh ioe_sh
nyue ny_sh ue_sh
nyioh ny_sh ioh_sh
nyion ny_sh ion_sh
nyiaon ny_sh iaon_sh
nyiun ny_sh iun_sh
nya ny_sh a_sh
nyuah ny_sh uah_sh
nye ny_sh e_sh
nyaon ny_sh aon_sh
nyi ny_sh i_sh
nyuan ny_sh uan_sh
nyng ny_sh ng_sh
nym ny_sh m_sh
nyn ny_sh n_sh
nyiuih ny_sh iuih_sh
nyo ny_sh o_sh
nyueh ny_sh ueh_sh
nyr ny_sh r_sh
nyu ny_sh u_sh
nyuen ny_sh uen_sh
nyy ny_sh y_sh
nyah ny_sh ah_sh
tsan ts_sh an_sh
tsau ts_sh au_sh
tseh ts_sh eh_sh
tsiah ts_sh iah_sh
tsuoe ts_sh uoe_sh
tsen ts_sh en_sh
tsia ts_sh ia_sh
tsie ts_sh ie_sh
tsuaon ts_sh uaon_sh
tsian ts_sh ian_sh
tseu ts_sh eu_sh
tsih ts_sh ih_sh
tsiau ts_sh iau_sh
tsin ts_sh in_sh
tsiu ts_sh iu_sh
tsoe ts_sh oe_sh
tsieu ts_sh ieu_sh
tsoh ts_sh oh_sh
tson ts_sh on_sh
tsua ts_sh ua_sh
tsioe ts_sh ioe_sh
tsue ts_sh ue_sh
tsioh ts_sh ioh_sh
tsion ts_sh ion_sh
tsiaon ts_sh iaon_sh
tsiun ts_sh iun_sh
tsa ts_sh a_sh
tsuah ts_sh uah_sh
tse ts_sh e_sh
tsaon ts_sh aon_sh
tsi ts_sh i_sh
tsuan ts_sh uan_sh
tsng ts_sh ng_sh
tsm ts_sh m_sh
tsn ts_sh n_sh
tsiuih ts_sh iuih_sh
tso ts_sh o_sh
tsueh ts_sh ueh_sh
tsr ts_sh r_sh
tsu ts_sh u_sh
tsuen ts_sh uen_sh
tsy ts_sh y_sh
tsah ts_sh ah_sh
shan sh_sh an_sh
shau sh_sh au_sh
sheh sh_sh eh_sh
shiah sh_sh iah_sh
shuoe sh_sh uoe_sh
shen sh_sh en_sh
shia sh_sh ia_sh
shie sh_sh ie_sh
shuaon sh_sh uaon_sh
shian sh_sh ian_sh
sheu sh_sh eu_sh
shih sh_sh ih_sh
shiau sh_sh iau_sh
shin sh_sh in_sh
shiu sh_sh iu_sh
shoe sh_sh oe_sh
shieu sh_sh ieu_sh
shoh sh_sh oh_sh
shon sh_sh on_sh
shua sh_sh ua_sh
shioe sh_sh ioe_sh
shue sh_sh ue_sh
shioh sh_sh ioh_sh
shion sh_sh ion_sh
shiaon sh_sh iaon_sh
shiun sh_sh iun_sh
sha sh_sh a_sh
shuah sh_sh uah_sh
she sh_sh e_sh
shaon sh_sh aon_sh
shi sh_sh i_sh
shuan sh_sh uan_sh
shng sh_sh ng_sh
shm sh_sh m_sh
shn sh_sh n_sh
shiuih sh_sh iuih_sh
sho sh_sh o_sh
shueh sh_sh ueh_sh
shr sh_sh r_sh
shu sh_sh u_sh
shuen sh_sh uen_sh
shy sh_sh y_sh
shah sh_sh ah_sh
san s_sh an_sh
sau s_sh au_sh
seh s_sh eh_sh
siah s_sh iah_sh
suoe s_sh uoe_sh
sen s_sh en_sh
sia s_sh ia_sh
sie s_sh ie_sh
suaon s_sh uaon_sh
sian s_sh ian_sh
seu s_sh eu_sh
sih s_sh ih_sh
siau s_sh iau_sh
sin s_sh in_sh
siu s_sh iu_sh
soe s_sh oe_sh
sieu s_sh ieu_sh
soh s_sh oh_sh
son s_sh on_sh
sua s_sh ua_sh
sioe s_sh ioe_sh
sue s_sh ue_sh
sioh s_sh ioh_sh
sion s_sh ion_sh
siaon s_sh iaon_sh
siun s_sh iun_sh
sa s_sh a_sh
suah s_sh uah_sh
se s_sh e_sh
saon s_sh aon_sh
si s_sh i_sh
suan s_sh uan_sh
sng s_sh ng_sh
sm s_sh m_sh
sn s_sh n_sh
siuih s_sh iuih_sh
so s_sh o_sh
sueh s_sh ueh_sh
sr s_sh r_sh
su s_sh u_sh
suen s_sh uen_sh
sy s_sh y_sh
sah s_sh ah_sh
fan f_sh an_sh
fau f_sh au_sh
feh f_sh eh_sh
fiah f_sh iah_sh
fuoe f_sh uoe_sh
fen f_sh en_sh
fia f_sh ia_sh
fie f_sh ie_sh
fuaon f_sh uaon_sh
fian f_sh ian_sh
feu f_sh eu_sh
fih f_sh ih_sh
fiau f_sh iau_sh
fin f_sh in_sh
fiu f_sh iu_sh
foe f_sh oe_sh
fieu f_sh ieu_sh
foh f_sh oh_sh
fon f_sh on_sh
fua f_sh ua_sh
fioe f_sh ioe_sh
fue f_sh ue_sh
fioh f_sh ioh_sh
fion f_sh ion_sh
fiaon f_sh iaon_sh
fiun f_sh iun_sh
fa f_sh a_sh
fuah f_sh uah_sh
fe f_sh e_sh
faon f_sh aon_sh
fi f_sh i_sh
fuan f_sh uan_sh
fng f_sh ng_sh
fm f_sh m_sh
fn f_sh n_sh
fiuih f_sh iuih_sh
fo f_sh o_sh
fueh f_sh ueh_sh
fr f_sh r_sh
fu f_sh u_sh
fuen f_sh uen_sh
fy f_sh y_sh
fah f_sh ah_sh
ghan ghan_sh
ghau ghau_sh
gheh gheh_sh
ghiah ghiah_sh
ghuoe ghuoe_sh
ghen ghen_sh
ghia ghia_sh
ghie ghie_sh
ghuaon ghuaon_sh
ghian ghian_sh
gheu gheu_sh
ghih ghih_sh
ghiau ghiau_sh
ghin ghin_sh
ghiu ghiu_sh
ghoe ghoe_sh
ghieu ghieu_sh
ghoh ghoh_sh
ghon ghon_sh
ghua ghua_sh
ghioe ghioe_sh
ghue ghue_sh
ghioh ghioh_sh
ghion ghion_sh
ghiaon ghiaon_sh
ghiun ghiun_sh
gha gha_sh
ghuah ghuah_sh
ghe ghe_sh
ghaon ghaon_sh
ghi ghi_sh
ghuan ghuan_sh
ghng ghng_sh
ghm ghm_sh
ghn ghn_sh
ghiuih ghiuih_sh
gho gho_sh
ghueh ghueh_sh
ghr ghr_sh
ghu ghu_sh
ghuen ghuen_sh
ghy ghy_sh
ghah ghah_sh
gan g_sh an_sh
gau g_sh au_sh
geh g_sh eh_sh
giah g_sh iah_sh
guoe g_sh uoe_sh
gen g_sh en_sh
gia g_sh ia_sh
gie g_sh ie_sh
guaon g_sh uaon_sh
gian g_sh ian_sh
geu g_sh eu_sh
gih g_sh ih_sh
giau g_sh iau_sh
gin g_sh in_sh
giu g_sh iu_sh
goe g_sh oe_sh
gieu g_sh ieu_sh
goh g_sh oh_sh
gon g_sh on_sh
gua g_sh ua_sh
gioe g_sh ioe_sh
gue g_sh ue_sh
gioh g_sh ioh_sh
gion g_sh ion_sh
giaon g_sh iaon_sh
giun g_sh iun_sh
ga g_sh a_sh
guah g_sh uah_sh
ge g_sh e_sh
gaon g_sh aon_sh
gi g_sh i_sh
guan g_sh uan_sh
gng g_sh ng_sh
gm g_sh m_sh
gn g_sh n_sh
giuih g_sh iuih_sh
go g_sh o_sh
gueh g_sh ueh_sh
gr g_sh r_sh
gu g_sh u_sh
guen g_sh uen_sh
gy g_sh y_sh
gah g_sh ah_sh
than th_sh an_sh
thau th_sh au_sh
theh th_sh eh_sh
thiah th_sh iah_sh
thuoe th_sh uoe_sh
then th_sh en_sh
thia th_sh ia_sh
thie th_sh ie_sh
thuaon th_sh uaon_sh
thian th_sh ian_sh
theu th_sh eu_sh
thih th_sh ih_sh
thiau th_sh iau_sh
thin th_sh in_sh
thiu th_sh iu_sh
thoe th_sh oe_sh
thieu th_sh ieu_sh
thoh th_sh oh_sh
thon th_sh on_sh
thua th_sh ua_sh
thioe th_sh ioe_sh
thue th_sh ue_sh
thioh th_sh ioh_sh
thion th_sh ion_sh
thiaon th_sh iaon_sh
thiun th_sh iun_sh
tha th_sh a_sh
thuah th_sh uah_sh
the th_sh e_sh
thaon th_sh aon_sh
thi th_sh i_sh
thuan th_sh uan_sh
thng th_sh ng_sh
thm th_sh m_sh
thn th_sh n_sh
thiuih th_sh iuih_sh
tho th_sh o_sh
thueh th_sh ueh_sh
thr th_sh r_sh
thu th_sh u_sh
thuen th_sh uen_sh
thy th_sh y_sh
thah th_sh ah_sh
tan t_sh an_sh
tau t_sh au_sh
teh t_sh eh_sh
tiah t_sh iah_sh
tuoe t_sh uoe_sh
ten t_sh en_sh
tia t_sh ia_sh
tie t_sh ie_sh
tuaon t_sh uaon_sh
tian t_sh ian_sh
teu t_sh eu_sh
tih t_sh ih_sh
tiau t_sh iau_sh
tin t_sh in_sh
tiu t_sh iu_sh
toe t_sh oe_sh
tieu t_sh ieu_sh
toh t_sh oh_sh
ton t_sh on_sh
tua t_sh ua_sh
tioe t_sh ioe_sh
tue t_sh ue_sh
tioh t_sh ioh_sh
tion t_sh ion_sh
tiaon t_sh iaon_sh
tiun t_sh iun_sh
ta t_sh a_sh
tuah t_sh uah_sh
te t_sh e_sh
taon t_sh aon_sh
ti t_sh i_sh
tuan t_sh uan_sh
tng t_sh ng_sh
tm t_sh m_sh
tn t_sh n_sh
tiuih t_sh iuih_sh
to t_sh o_sh
tueh t_sh ueh_sh
tr t_sh r_sh
tu t_sh u_sh
tuen t_sh uen_sh
ty t_sh y_sh
tah t_sh ah_sh
kantts/preprocess/languages/WuuShanghai/tonelist.txt
deleted
100644 → 0
View file @
8b4e9acd
6
0
3
4
2
5
1
7
8
kantts/preprocess/languages/ZhHK/En2ChPhoneMap.txt
deleted
100644 → 0
View file @
8b4e9acd
wu w
yi y
kantts/preprocess/languages/ZhHK/PhoneSet.xml
deleted
100644 → 0
View file @
8b4e9acd
<?xml version="1.0" encoding="utf-8"?>
<phoneSet
xmlns=
"http://schemas.alibaba-inc.com/tts"
>
<phone>
<id>
0
</id>
<name>
b
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
doublelips
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
1
</id>
<name>
c
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
voiced
</uv>
<ap>
centraltongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
2
</id>
<name>
d
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
3
</id>
<name>
f
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
liptooth
</ap>
<am>
fricative
</am>
</phone>
<phone>
<id>
4
</id>
<name>
g
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
5
</id>
<name>
gw
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
6
</id>
<name>
h
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
velar
</ap>
<am>
fricative
</am>
</phone>
<phone>
<id>
7
</id>
<name>
j
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
centraltongue
</ap>
<am>
lateral
</am>
</phone>
<phone>
<id>
8
</id>
<name>
k
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
voiced
</uv>
<ap>
high
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
9
</id>
<name>
kw
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
voiced
</uv>
<ap>
high
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
10
</id>
<name>
l
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
lateral
</am>
</phone>
<phone>
<id>
11
</id>
<name>
m
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
doublelips
</ap>
<am>
nasal
</am>
</phone>
<phone>
<id>
12
</id>
<name>
n
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
nasal
</am>
</phone>
<phone>
<id>
13
</id>
<name>
ng
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
nasal
</am>
</phone>
<phone>
<id>
14
</id>
<name>
p
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
voiced
</uv>
<ap>
doublelips
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
15
</id>
<name>
s
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
centraltongue
</ap>
<am>
fricative
</am>
</phone>
<phone>
<id>
16
</id>
<name>
t
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
voiced
</uv>
<ap>
low
</ap>
<am>
stop
</am>
</phone>
<phone>
<id>
17
</id>
<name>
w
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
doublelips
</ap>
<am>
lateral
</am>
</phone>
<phone>
<id>
18
</id>
<name>
z
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
centraltongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
19
</id>
<name>
aa
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
20
</id>
<name>
aai
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
21
</id>
<name>
aak
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
22
</id>
<name>
aam
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
23
</id>
<name>
aan
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
24
</id>
<name>
aang
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
25
</id>
<name>
aap
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
26
</id>
<name>
aat
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
27
</id>
<name>
aau
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
28
</id>
<name>
ai
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
29
</id>
<name>
ak
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
30
</id>
<name>
am
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
31
</id>
<name>
an
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
32
</id>
<name>
ang
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
33
</id>
<name>
ap
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
34
</id>
<name>
at
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
35
</id>
<name>
au
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
36
</id>
<name>
e
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
37
</id>
<name>
ei
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
38
</id>
<name>
ek
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
39
</id>
<name>
eng
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
40
</id>
<name>
i
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
41
</id>
<name>
ik
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
42
</id>
<name>
in
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
43
</id>
<name>
ing
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
44
</id>
<name>
it
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
45
</id>
<name>
iu
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
46
</id>
<name>
o
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
47
</id>
<name>
ok
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
48
</id>
<name>
ong
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
49
</id>
<name>
ou
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
50
</id>
<name>
ui
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
51
</id>
<name>
uk
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
52
</id>
<name>
un
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
53
</id>
<name>
ung
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
54
</id>
<name>
ut
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
55
</id>
<name>
eoi
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
middle
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
56
</id>
<name>
eon
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
middle
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
57
</id>
<name>
eot
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
middle
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
58
</id>
<name>
im
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
59
</id>
<name>
ip
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
60
</id>
<name>
oek
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
middle
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
61
</id>
<name>
oeng
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
middle
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
62
</id>
<name>
oi
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
63
</id>
<name>
yu
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
64
</id>
<name>
yun
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
65
</id>
<name>
yut
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
66
</id>
<name>
eu
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
67
</id>
<name>
oe
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
middle
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
68
</id>
<name>
u
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
open
</am>
</phone>
<phone>
<id>
69
</id>
<name>
ep
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
70
</id>
<name>
on
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
71
</id>
<name>
ot
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
high
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
72
</id>
<name>
em
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
low
</ap>
<am>
close
</am>
</phone>
<phone>
<id>
73
</id>
<name>
mm
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
doublelips
</ap>
<am>
nasal
</am>
</phone>
<phone>
<id>
74
</id>
<name>
ngng
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
unvoiced
</uv>
<ap>
backtongue
</ap>
<am>
nasal
</am>
</phone>
<phone>
<id>
75
</id>
<name>
ae
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
76
</id>
<name>
ah
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
77
</id>
<name>
ao
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
78
</id>
<name>
aw
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
79
</id>
<name>
ay
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
80
</id>
<name>
ch
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
backtongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
81
</id>
<name>
dh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
82
</id>
<name>
eh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
83
</id>
<name>
er
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
84
</id>
<name>
ey
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
85
</id>
<name>
hh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
86
</id>
<name>
ih
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
87
</id>
<name>
iy
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
88
</id>
<name>
jh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
89
</id>
<name>
ow
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
90
</id>
<name>
oy
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
91
</id>
<name>
r
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
voiced
</uv>
<ap>
backtongue
</ap>
<am>
fricative
</am>
</phone>
<phone>
<id>
92
</id>
<name>
sh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
backtongue
</ap>
<am>
fricative
</am>
</phone>
<phone>
<id>
93
</id>
<name>
th
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
94
</id>
<name>
uh
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
95
</id>
<name>
uw
</name>
<cv>
vowel
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
96
</id>
<name>
v
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
97
</id>
<name>
y
</name>
<cv>
consonant
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
fronttongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
98
</id>
<name>
zh
</name>
<cv>
consonant
</cv>
<if>
initial
</if>
<uv>
unvoiced
</uv>
<ap>
backtongue
</ap>
<am>
affricative
</am>
</phone>
<phone>
<id>
146
</id>
<name>
pau
</name>
<cv>
consonant
</cv>
<if>
final
</if>
<uv>
voiced
</uv>
<ap>
low
</ap>
<am>
affricative
</am>
</phone>
</phoneSet>
\ No newline at end of file
kantts/preprocess/languages/ZhHK/PosSet.xml
deleted
100644 → 0
View file @
8b4e9acd
<?xml version="1.0" encoding="utf-8"?>
<posSet
xmlns=
"http://schemas.alibaba-inc.com/tts"
>
<pos>
<id>
1
</id>
<name>
a
</name>
<desc>
adjective
</desc>
<sub>
<pos>
<id>
2
</id>
<name>
aq
</name>
<desc>
adjective-quality
</desc>
</pos>
<pos>
<id>
3
</id>
<name>
as
</name>
<desc>
adjective-state
</desc>
</pos>
<pos>
<id>
123
</id>
<name>
av
</name>
<desc>
adjective-verb
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
4
</id>
<name>
c
</name>
<desc>
conjunction
</desc>
</pos>
<pos>
<id>
5
</id>
<name>
d
</name>
<desc>
adverb
</desc>
</pos>
<pos>
<id>
6
</id>
<name>
e
</name>
<desc>
exclamation
</desc>
</pos>
<pos>
<id>
7
</id>
<name>
f
</name>
<desc>
difference
</desc>
</pos>
<pos>
<id>
8
</id>
<name>
g
</name>
<desc>
morpheme
</desc>
<sub>
<pos>
<id>
9
</id>
<name>
ga
</name>
<desc>
morpheme-adjective
</desc>
</pos>
<pos>
<id>
10
</id>
<name>
gn
</name>
<desc>
morpheme-noun
</desc>
</pos>
<pos>
<id>
11
</id>
<name>
gv
</name>
<desc>
morpheme-verb
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
12
</id>
<name>
h
</name>
<desc>
head
</desc>
</pos>
<pos>
<id>
13
</id>
<name>
i
</name>
<desc>
idiom
</desc>
<sub>
<pos>
<id>
14
</id>
<name>
ia
</name>
<desc>
idiom-adjective
</desc>
</pos>
<pos>
<id>
15
</id>
<name>
ic
</name>
<desc>
idiom-conjunction
</desc>
</pos>
<pos>
<id>
16
</id>
<name>
in
</name>
<desc>
idiom-noun
</desc>
</pos>
<pos>
<id>
17
</id>
<name>
iv
</name>
<desc>
idiom-verb
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
18
</id>
<name>
j
</name>
<desc>
abbreviation
</desc>
<sub>
<pos>
<id>
19
</id>
<name>
ja
</name>
<desc>
abbreviation-adjective
</desc>
</pos>
<pos>
<id>
20
</id>
<name>
jn
</name>
<desc>
abbreviation-noun
</desc>
</pos>
<pos>
<id>
21
</id>
<name>
jv
</name>
<desc>
abbreviation-verb
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
22
</id>
<name>
k
</name>
<desc>
proclitic
</desc>
</pos>
<pos>
<id>
23
</id>
<name>
m
</name>
<desc>
numeral
</desc>
<sub>
<pos>
<id>
124
</id>
<name>
mq
</name>
<desc>
number-quality
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
24
</id>
<name>
n
</name>
<desc>
noun
</desc>
<sub>
<pos>
<id>
25
</id>
<name>
nd
</name>
<desc>
noun-direction
</desc>
</pos>
<pos>
<id>
26
</id>
<name>
ng
</name>
<desc>
noun-general
</desc>
</pos>
<pos>
<id>
27
</id>
<name>
nh
</name>
<desc>
noun-human
</desc>
<sub>
<pos>
<id>
101
</id>
<name>
nhf
</name>
<desc>
noun-human-family
</desc>
</pos>
<pos>
<id>
129
</id>
<name>
nhs
</name>
<desc>
"nhs"-string
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
28
</id>
<name>
ni
</name>
<desc>
noun-institution
</desc>
</pos>
<pos>
<id>
29
</id>
<name>
nl
</name>
<desc>
noun-location
</desc>
</pos>
<pos>
<id>
30
</id>
<name>
nn
</name>
<desc>
noun-nation
</desc>
</pos>
<pos>
<id>
31
</id>
<name>
ns
</name>
<desc>
noun-space
</desc>
</pos>
<pos>
<id>
32
</id>
<name>
nt
</name>
<desc>
noun-time
</desc>
</pos>
<pos>
<id>
33
</id>
<name>
nz
</name>
<desc>
noun-special
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
34
</id>
<name>
o
</name>
<desc>
onomatopoeia
</desc>
</pos>
<pos>
<id>
35
</id>
<name>
p
</name>
<desc>
preposition
</desc>
</pos>
<pos>
<id>
36
</id>
<name>
q
</name>
<desc>
quantity
</desc>
</pos>
<pos>
<id>
37
</id>
<name>
r
</name>
<desc>
pronoun
</desc>
</pos>
<pos>
<id>
100
</id>
<name>
t
</name>
<desc>
"t"-string
</desc>
<sub>
<pos>
<id>
102
</id>
<name>
ta
</name>
<desc>
"ta"-string
</desc>
</pos>
<pos>
<id>
103
</id>
<name>
td
</name>
<desc>
"td"-string
</desc>
</pos>
<pos>
<id>
104
</id>
<name>
te
</name>
<desc>
"te"-string
</desc>
</pos>
<pos>
<id>
105
</id>
<name>
tf
</name>
<desc>
"tf"-string
</desc>
</pos>
<pos>
<id>
106
</id>
<name>
th
</name>
<desc>
"th"-string
</desc>
</pos>
<pos>
<id>
107
</id>
<name>
tm
</name>
<desc>
"tm"-string
</desc>
</pos>
<pos>
<id>
108
</id>
<name>
tk
</name>
<desc>
"tk"-string
</desc>
</pos>
<pos>
<id>
109
</id>
<name>
tmq
</name>
<desc>
"tmq"-string
</desc>
</pos>
<pos>
<id>
110
</id>
<name>
tn
</name>
<desc>
"tn"-string
</desc>
</pos>
<pos>
<id>
113
</id>
<name>
tnd
</name>
<desc>
"tnd"-string
</desc>
</pos>
<pos>
<id>
114
</id>
<name>
tnh
</name>
<desc>
"tnh"-string
</desc>
</pos>
<pos>
<id>
115
</id>
<name>
tnt
</name>
<desc>
"tnt"-string
</desc>
</pos>
<pos>
<id>
117
</id>
<name>
to
</name>
<desc>
"to"-string
</desc>
</pos>
<pos>
<id>
118
</id>
<name>
tq
</name>
<desc>
"tq"-string
</desc>
</pos>
<pos>
<id>
119
</id>
<name>
tr
</name>
<desc>
"tr"-string
</desc>
</pos>
<pos>
<id>
120
</id>
<name>
tu
</name>
<desc>
"tu"-string
</desc>
</pos>
<pos>
<id>
121
</id>
<name>
tv
</name>
<desc>
"tv"-string
</desc>
</pos>
<pos>
<id>
122
</id>
<name>
tx
</name>
<desc>
"tx"-string
</desc>
</pos>
<pos>
<id>
128
</id>
<name>
ti
</name>
<desc>
"ti"-string
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
38
</id>
<name>
u
</name>
<desc>
auxiliary
</desc>
</pos>
<pos>
<id>
39
</id>
<name>
v
</name>
<desc>
verb
</desc>
<sub>
<pos>
<id>
40
</id>
<name>
vd
</name>
<desc>
verb-direction
</desc>
</pos>
<pos>
<id>
41
</id>
<name>
vi
</name>
<desc>
verb-intransitive
</desc>
</pos>
<pos>
<id>
42
</id>
<name>
vl
</name>
<desc>
verb-linking
</desc>
</pos>
<pos>
<id>
43
</id>
<name>
vt
</name>
<desc>
verb-transitive
</desc>
</pos>
<pos>
<id>
44
</id>
<name>
vu
</name>
<desc>
verb-auxiliary
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
45
</id>
<name>
w
</name>
<desc>
others
</desc>
<sub>
<pos>
<id>
46
</id>
<name>
wp
</name>
<desc>
punctuations
</desc>
</pos>
<pos>
<id>
47
</id>
<name>
ws
</name>
<desc>
"w"-string
</desc>
</pos>
<pos>
<id>
48
</id>
<name>
wu
</name>
<desc>
"w"-unknown
</desc>
</pos>
</sub>
</pos>
<pos>
<id>
49
</id>
<name>
x
</name>
<desc>
nonemorpheme
</desc>
<sub>
<pos>
<id>
125
</id>
<name>
xx
</name>
<desc>
"xx"-string
</desc>
</pos>
</sub>
</pos>
</posSet>
kantts/preprocess/languages/ZhHK/py2phoneMap.txt
deleted
100644 → 0
View file @
8b4e9acd
aa aa
aai aai
aak aak
aam aam
aan aan
aang aang
aap aap
aat aat
aau aau
ai ai
ak ak
am am
an an
ang ang
ap ap
at at
au au
e e
ei ei
ek ek
eng eng
i i
ik ik
in in
ing ing
it it
iu iu
o o
ok ok
ong ong
ou ou
ui ui
uk uk
un un
ung ung
ut ut
eoi eoi
eon eon
eot eot
im im
ip ip
oek oek
oeng oeng
oi oi
yu yu
yun yun
yut yut
eu eu
oe oe
u u
ep ep
on on
ot ot
em em
m mm
ng ngng
baa b aa
baai b aai
baak b aak
baam b aam
baan b aan
baang b aang
baap b aap
baat b aat
baau b aau
bai b ai
bak b ak
bam b am
ban b an
bang b ang
bap b ap
bat b at
bau b au
be b e
bei b ei
bek b ek
beng b eng
bi b i
bik b ik
bin b in
bing b ing
bit b it
biu b iu
bo b o
bok b ok
bong b ong
bou b ou
bui b ui
buk b uk
bun b un
bung b ung
but b ut
beoi b eoi
beon b eon
beot b eot
bim b im
bip b ip
boek b oek
boeng b oeng
boi b oi
byu b yu
byun b yun
byut b yut
beu b eu
boe b oe
bu b u
bep b ep
bon b on
bot b ot
bem b em
caa c aa
caai c aai
caak c aak
caam c aam
caan c aan
caang c aang
caap c aap
caat c aat
caau c aau
cai c ai
cak c ak
cam c am
can c an
cang c ang
cap c ap
cat c at
cau c au
ce c e
cei c ei
cek c ek
ceng c eng
ci c i
cik c ik
cin c in
cing c ing
cit c it
ciu c iu
co c o
cok c ok
cong c ong
cou c ou
cui c ui
cuk c uk
cun c un
cung c ung
cut c ut
ceoi c eoi
ceon c eon
ceot c eot
cim c im
cip c ip
coek c oek
coeng c oeng
coi c oi
cyu c yu
cyun c yun
cyut c yut
ceu c eu
coe c oe
cu c u
cep c ep
con c on
cot c ot
cem c em
daa d aa
daai d aai
daak d aak
daam d aam
daan d aan
daang d aang
daap d aap
daat d aat
daau d aau
dai d ai
dak d ak
dam d am
dan d an
dang d ang
dap d ap
dat d at
dau d au
de d e
dei d ei
dek d ek
deng d eng
di d i
dik d ik
din d in
ding d ing
dit d it
diu d iu
do d o
dok d ok
dong d ong
dou d ou
dui d ui
duk d uk
dun d un
dung d ung
dut d ut
deoi d eoi
deon d eon
deot d eot
dim d im
dip d ip
doek d oek
doeng d oeng
doi d oi
dyu d yu
dyun d yun
dyut d yut
deu d eu
doe d oe
du d u
dep d ep
don d on
dot d ot
dem d em
faa f aa
faai f aai
faak f aak
faam f aam
faan f aan
faang f aang
faap f aap
faat f aat
faau f aau
fai f ai
fak f ak
fam f am
fan f an
fang f ang
fap f ap
fat f at
fau f au
fe f e
fei f ei
fek f ek
feng f eng
fi f i
fik f ik
fin f in
fing f ing
fit f it
fiu f iu
fo f o
fok f ok
fong f ong
fou f ou
fui f ui
fuk f uk
fun f un
fung f ung
fut f ut
feoi f eoi
feon f eon
feot f eot
fim f im
fip f ip
foek f oek
foeng f oeng
foi f oi
fyu f yu
fyun f yun
fyut f yut
feu f eu
foe f oe
fu f u
fep f ep
fon f on
fot f ot
fem f em
gaa g aa
gaai g aai
gaak g aak
gaam g aam
gaan g aan
gaang g aang
gaap g aap
gaat g aat
gaau g aau
gai g ai
gak g ak
gam g am
gan g an
gang g ang
gap g ap
gat g at
gau g au
ge g e
gei g ei
gek g ek
geng g eng
gi g i
gik g ik
gin g in
ging g ing
git g it
giu g iu
go g o
gok g ok
gong g ong
gou g ou
gui g ui
guk g uk
gun g un
gung g ung
gut g ut
geoi g eoi
geon g eon
geot g eot
gim g im
gip g ip
goek g oek
goeng g oeng
goi g oi
gyu g yu
gyun g yun
gyut g yut
geu g eu
goe g oe
gu g u
gep g ep
gon g on
got g ot
gem g em
gwaa gw aa
gwaai gw aai
gwaak gw aak
gwaam gw aam
gwaan gw aan
gwaang gw aang
gwaap gw aap
gwaat gw aat
gwaau gw aau
gwai gw ai
gwak gw ak
gwam gw am
gwan gw an
gwang gw ang
gwap gw ap
gwat gw at
gwau gw au
gwe gw e
gwei gw ei
gwek gw ek
gweng gw eng
gwi gw i
gwik gw ik
gwin gw in
gwing gw ing
gwit gw it
gwiu gw iu
gwo gw o
gwok gw ok
gwong gw ong
gwou gw ou
gwui gw ui
gwuk gw uk
gwun gw un
gwung gw ung
gwut gw ut
gweoi gw eoi
gweon gw eon
gweot gw eot
gwim gw im
gwip gw ip
gwoek gw oek
gwoeng gw oeng
gwoi gw oi
gwyu gw yu
gwyun gw yun
gwyut gw yut
gweu gw eu
gwoe gw oe
gwu gw u
gwep gw ep
gwon gw on
gwot gw ot
gwem gw em
haa h aa
haai h aai
haak h aak
haam h aam
haan h aan
haang h aang
haap h aap
haat h aat
haau h aau
hai h ai
hak h ak
ham h am
han h an
hang h ang
hap h ap
hat h at
hau h au
he h e
hei h ei
hek h ek
heng h eng
hi h i
hik h ik
hin h in
hing h ing
hit h it
hiu h iu
ho h o
hok h ok
hong h ong
hou h ou
hui h ui
huk h uk
hun h un
hung h ung
hut h ut
heoi h eoi
heon h eon
heot h eot
him h im
hip h ip
hoek h oek
hoeng h oeng
hoi h oi
hyu h yu
hyun h yun
hyut h yut
heu h eu
hoe h oe
hu h u
hep h ep
hon h on
hot h ot
hem h em
hm h mm
hng h ngng
jaa j aa
jaai j aai
jaak j aak
jaam j aam
jaan j aan
jaang j aang
jaap j aap
jaat j aat
jaau j aau
jai j ai
jak j ak
jam j am
jan j an
jang j ang
jap j ap
jat j at
jau j au
je j e
jei j ei
jek j ek
jeng j eng
ji j i
jik j ik
jin j in
jing j ing
jit j it
jiu j iu
jo j o
jok j ok
jong j ong
jou j ou
jui j ui
juk j uk
jun j un
jung j ung
jut j ut
jeoi j eoi
jeon j eon
jeot j eot
jim j im
jip j ip
joek j oek
joeng j oeng
joi j oi
jyu j yu
jyun j yun
jyut j yut
jeu j eu
joe j oe
ju j u
jep j ep
jon j on
jot j ot
jem j em
kaa k aa
kaai k aai
kaak k aak
kaam k aam
kaan k aan
kaang k aang
kaap k aap
kaat k aat
kaau k aau
kai k ai
kak k ak
kam k am
kan k an
kang k ang
kap k ap
kat k at
kau k au
ke k e
kei k ei
kek k ek
keng k eng
ki k i
kik k ik
kin k in
king k ing
kit k it
kiu k iu
ko k o
kok k ok
kong k ong
kou k ou
kui k ui
kuk k uk
kun k un
kung k ung
kut k ut
keoi k eoi
keon k eon
keot k eot
kim k im
kip k ip
koek k oek
koeng k oeng
koi k oi
kyu k yu
kyun k yun
kyut k yut
keu k eu
koe k oe
ku k u
kep k ep
kon k on
kot k ot
kem k em
kwaa kw aa
kwaai kw aai
kwaak kw aak
kwaam kw aam
kwaan kw aan
kwaang kw aang
kwaap kw aap
kwaat kw aat
kwaau kw aau
kwai kw ai
kwak kw ak
kwam kw am
kwan kw an
kwang kw ang
kwap kw ap
kwat kw at
kwau kw au
kwe kw e
kwei kw ei
kwek kw ek
kweng kw eng
kwi kw i
kwik kw ik
kwin kw in
kwing kw ing
kwit kw it
kwiu kw iu
kwo kw o
kwok kw ok
kwong kw ong
kwou kw ou
kwui kw ui
kwuk kw uk
kwun kw un
kwung kw ung
kwut kw ut
kweoi kw eoi
kweon kw eon
kweot kw eot
kwim kw im
kwip kw ip
kwoek kw oek
kwoeng kw oeng
kwoi kw oi
kwyu kw yu
kwyun kw yun
kwyut kw yut
kweu kw eu
kwoe kw oe
kwu kw u
kwep kw ep
kwon kw on
kwot kw ot
kwem kw em
laa l aa
laai l aai
laak l aak
laam l aam
laan l aan
laang l aang
laap l aap
laat l aat
laau l aau
lai l ai
lak l ak
lam l am
lan l an
lang l ang
lap l ap
lat l at
lau l au
le l e
lei l ei
lek l ek
leng l eng
li l i
lik l ik
lin l in
ling l ing
lit l it
liu l iu
lo l o
lok l ok
long l ong
lou l ou
lui l ui
luk l uk
lun l un
lung l ung
lut l ut
leoi l eoi
leon l eon
leot l eot
lim l im
lip l ip
loek l oek
loeng l oeng
loi l oi
lyu l yu
lyun l yun
lyut l yut
leu l eu
loe l oe
lu l u
lep l ep
lon l on
lot l ot
lem l em
maa m aa
maai m aai
maak m aak
maam m aam
maan m aan
maang m aang
maap m aap
maat m aat
maau m aau
mai m ai
mak m ak
mam m am
man m an
mang m ang
map m ap
mat m at
mau m au
me m e
mei m ei
mek m ek
meng m eng
mi m i
mik m ik
min m in
ming m ing
mit m it
miu m iu
mo m o
mok m ok
mong m ong
mou m ou
mui m ui
muk m uk
mun m un
mung m ung
mut m ut
meoi m eoi
meon m eon
meot m eot
mim m im
mip m ip
moek m oek
moeng m oeng
moi m oi
myu m yu
myun m yun
myut m yut
meu m eu
moe m oe
mu m u
mep m ep
mon m on
mot m ot
mem m em
naa n aa
naai n aai
naak n aak
naam n aam
naan n aan
naang n aang
naap n aap
naat n aat
naau n aau
nai n ai
nak n ak
nam n am
nan n an
nang n ang
nap n ap
nat n at
nau n au
ne n e
nei n ei
nek n ek
neng n eng
ni n i
nik n ik
nin n in
ning n ing
nit n it
niu n iu
no n o
nok n ok
nong n ong
nou n ou
nui n ui
nuk n uk
nun n un
nung n ung
nut n ut
neoi n eoi
neon n eon
neot n eot
nim n im
nip n ip
noek n oek
noeng n oeng
noi n oi
nyu n yu
nyun n yun
nyut n yut
neu n eu
noe n oe
nu n u
nep n ep
non n on
not n ot
nem n em
ngaa ng aa
ngaai ng aai
ngaak ng aak
ngaam ng aam
ngaan ng aan
ngaang ng aang
ngaap ng aap
ngaat ng aat
ngaau ng aau
ngai ng ai
ngak ng ak
ngam ng am
ngan ng an
ngang ng ang
ngap ng ap
ngat ng at
ngau ng au
nge ng e
ngei ng ei
ngek ng ek
ngeng ng eng
ngi ng i
ngik ng ik
ngin ng in
nging ng ing
ngit ng it
ngiu ng iu
ngo ng o
ngok ng ok
ngong ng ong
ngou ng ou
ngui ng ui
nguk ng uk
ngun ng un
ngung ng ung
ngut ng ut
ngeoi ng eoi
ngeon ng eon
ngeot ng eot
ngim ng im
ngip ng ip
ngoek ng oek
ngoeng ng oeng
ngoi ng oi
ngyu ng yu
ngyun ng yun
ngyut ng yut
ngeu ng eu
ngoe ng oe
ngu ng u
ngep ng ep
ngon ng on
ngot ng ot
ngem ng em
paa p aa
paai p aai
paak p aak
paam p aam
paan p aan
paang p aang
paap p aap
paat p aat
paau p aau
pai p ai
pak p ak
pam p am
pan p an
pang p ang
pap p ap
pat p at
pau p au
pe p e
pei p ei
pek p ek
peng p eng
pi p i
pik p ik
pin p in
ping p ing
pit p it
piu p iu
po p o
pok p ok
pong p ong
pou p ou
pui p ui
puk p uk
pun p un
pung p ung
put p ut
peoi p eoi
peon p eon
peot p eot
pim p im
pip p ip
poek p oek
poeng p oeng
poi p oi
pyu p yu
pyun p yun
pyut p yut
peu p eu
poe p oe
pu p u
pep p ep
pon p on
pot p ot
pem p em
saa s aa
saai s aai
saak s aak
saam s aam
saan s aan
saang s aang
saap s aap
saat s aat
saau s aau
sai s ai
sak s ak
sam s am
san s an
sang s ang
sap s ap
sat s at
sau s au
se s e
sei s ei
sek s ek
seng s eng
si s i
sik s ik
sin s in
sing s ing
sit s it
siu s iu
so s o
sok s ok
song s ong
sou s ou
sui s ui
suk s uk
sun s un
sung s ung
sut s ut
seoi s eoi
seon s eon
seot s eot
sim s im
sip s ip
soek s oek
soeng s oeng
soi s oi
syu s yu
syun s yun
syut s yut
seu s eu
soe s oe
su s u
sep s ep
son s on
sot s ot
sem s em
taa t aa
taai t aai
taak t aak
taam t aam
taan t aan
taang t aang
taap t aap
taat t aat
taau t aau
tai t ai
tak t ak
tam t am
tan t an
tang t ang
tap t ap
tat t at
tau t au
te t e
tei t ei
tek t ek
teng t eng
ti t i
tik t ik
tin t in
ting t ing
tit t it
tiu t iu
to t o
tok t ok
tong t ong
tou t ou
tui t ui
tuk t uk
tun t un
tung t ung
tut t ut
teoi t eoi
teon t eon
teot t eot
tim t im
tip t ip
toek t oek
toeng t oeng
toi t oi
tyu t yu
tyun t yun
tyut t yut
teu t eu
toe t oe
tu t u
tep t ep
ton t on
tot t ot
tem t em
waa w aa
waai w aai
waak w aak
waam w aam
waan w aan
waang w aang
waap w aap
waat w aat
waau w aau
wai w ai
wak w ak
wam w am
wan w an
wang w ang
wap w ap
wat w at
wau w au
we w e
wei w ei
wek w ek
weng w eng
wi w i
wik w ik
win w in
wing w ing
wit w it
wiu w iu
wo w o
wok w ok
wong w ong
wou w ou
wui w ui
wuk w uk
wun w un
wung w ung
wut w ut
weoi w eoi
weon w eon
weot w eot
wim w im
wip w ip
woek w oek
woeng w oeng
woi w oi
wyu w yu
wyun w yun
wyut w yut
weu w eu
woe w oe
wu w u
wep w ep
won w on
wot w ot
wem w em
zaa z aa
zaai z aai
zaak z aak
zaam z aam
zaan z aan
zaang z aang
zaap z aap
zaat z aat
zaau z aau
zai z ai
zak z ak
zam z am
zan z an
zang z ang
zap z ap
zat z at
zau z au
ze z e
zei z ei
zek z ek
zeng z eng
zi z i
zik z ik
zin z in
zing z ing
zit z it
ziu z iu
zo z o
zok z ok
zong z ong
zou z ou
zui z ui
zuk z uk
zun z un
zung z ung
zut z ut
zeoi z eoi
zeon z eon
zeot z eot
zim z im
zip z ip
zoek z oek
zoeng z oeng
zoi z oi
zyu z yu
zyun z yun
zyut z yut
zeu z eu
zoe z oe
zu z u
zep z ep
zon z on
zot z ot
zem z em
kantts/preprocess/languages/ZhHK/tonelist.txt
deleted
100644 → 0
View file @
8b4e9acd
6
0
3
4
2
5
7
1
8
9
kantts/preprocess/languages/__init__.py
deleted
100644 → 0
View file @
8b4e9acd
languages
=
{
"PinYin"
:
{
"phoneset_path"
:
"PhoneSet.xml"
,
"posset_path"
:
"PosSet.xml"
,
"f2t_map_path"
:
"En2ChPhoneMap.txt"
,
"s2p_map_path"
:
"py2phoneMap.txt"
,
"tonelist_path"
:
"tonelist.txt"
,
},
"ZhHK"
:
{
"phoneset_path"
:
"PhoneSet.xml"
,
"posset_path"
:
"PosSet.xml"
,
"f2t_map_path"
:
"En2ChPhoneMap.txt"
,
"s2p_map_path"
:
"py2phoneMap.txt"
,
"tonelist_path"
:
"tonelist.txt"
,
},
"WuuShanghai"
:
{
"phoneset_path"
:
"PhoneSet.xml"
,
"posset_path"
:
"PosSet.xml"
,
"f2t_map_path"
:
"En2ChPhoneMap.txt"
,
"s2p_map_path"
:
"py2phoneMap.txt"
,
"tonelist_path"
:
"tonelist.txt"
,
},
"Sichuan"
:
{
"phoneset_path"
:
"PhoneSet.xml"
,
"posset_path"
:
"PosSet.xml"
,
"f2t_map_path"
:
"En2ChPhoneMap.txt"
,
"s2p_map_path"
:
"py2phoneMap.txt"
,
"tonelist_path"
:
"tonelist.txt"
,
},
}
kantts/preprocess/languages/__pycache__/__init__.cpython-38.pyc
deleted
100644 → 0
View file @
8b4e9acd
File deleted
kantts/preprocess/script_convertor/TextScriptConvertor.py
deleted
100644 → 0
View file @
8b4e9acd
import
logging
import
os
from
tqdm
import
tqdm
from
.core.Script
import
Script
from
.core.ScriptItem
import
ScriptItem
from
.core.ScriptSentence
import
ScriptSentence
from
.core.SyllableFormatter
import
(
ZhCNSyllableFormatter
,
ZhHKSyllableFormatter
,
PinYinSyllableFormatter
,
WuuShanghaiSyllableFormatter
,
SichuanSyllableFormatter
,
EnXXSyllableFormatter
,
)
from
.core.ScriptWord
import
SpokenWord
,
SpokenMark
,
WrittenWord
,
WrittenMark
from
.core.PhoneSet
import
PhoneSet
from
.core.PosSet
import
PosSet
from
.core.core_types
import
Language
,
BreakLevel
from
.core.utils
import
(
RegexID
,
RegexSentence
,
RegexForeignLang
,
RegexNeutralTone
,
format_prosody
,
)
import
argparse
import
re
from
bitstring
import
BitArray
logging
.
basicConfig
(
format
=
"%(asctime)s,%(msecs)d %(levelname)-8s [%(filename)s:%(lineno)d] %(message)s"
,
datefmt
=
"%Y-%m-%d:%H:%M:%S"
,
level
=
logging
.
DEBUG
,
)
class
TextScriptConvertor
:
def
__init__
(
self
,
phoneset_path
,
posset_path
,
target_lang
,
foreign_lang
,
f2t_map_path
,
s2p_map_path
,
m_emo_tag_path
,
m_speaker
,
):
self
.
m_f2p_map
=
{}
self
.
m_s2p_map
=
{}
self
.
m_phoneset
=
PhoneSet
(
phoneset_path
)
self
.
m_posset
=
PosSet
(
posset_path
)
self
.
m_target_lang
=
Language
.
parse
(
target_lang
)
self
.
m_foreign_lang
=
Language
.
parse
(
foreign_lang
)
self
.
m_emo_tag_path
=
m_emo_tag_path
self
.
m_speaker
=
m_speaker
self
.
LoadF2TMap
(
f2t_map_path
)
self
.
LoadS2PMap
(
s2p_map_path
)
if
m_emo_tag_path
is
not
None
:
self
.
m_emo_dict
=
self
.
parse_emo_tag
(
m_emo_tag_path
)
else
:
self
.
m_emo_dict
=
{}
self
.
m_target_lang_syllable_formatter
=
self
.
InitSyllableFormatter
(
self
.
m_target_lang
)
self
.
m_foreign_lang_syllable_formatter
=
self
.
InitSyllableFormatter
(
self
.
m_foreign_lang
)
def
parse_emo_tag
(
self
,
emo_tag_path
):
with
open
(
emo_tag_path
,
"r"
)
as
f
:
lines
=
f
.
readlines
()
emo_tag
=
{}
for
line
in
lines
:
line
=
line
.
strip
()
elements
=
line
.
split
()
if
len
(
elements
)
!=
2
:
logging
.
error
(
"TextScriptConvertor.parse_emo_tag: invalid line: %s"
,
line
)
continue
key
=
elements
[
0
]
value
=
elements
[
1
]
if
key
in
emo_tag
:
logging
.
warning
(
"TextScriptConvertor.parse_emo_tag: duplicate key: %s"
,
key
)
emo_tag
[
key
]
=
value
return
emo_tag
def
parse_sentence
(
self
,
sentence
,
line_num
):
script_item
=
ScriptItem
(
self
.
m_phoneset
,
self
.
m_posset
)
script_sentence
=
ScriptSentence
(
self
.
m_phoneset
,
self
.
m_posset
)
script_item
.
m_scriptSentence_list
.
append
(
script_sentence
)
written_sentence
=
script_sentence
.
m_writtenSentence
spoken_sentence
=
script_sentence
.
m_spokenSentence
position
=
0
sentence
=
sentence
.
strip
()
# Get ID
match
=
re
.
search
(
RegexID
,
sentence
)
if
match
is
None
:
logging
.
error
(
"TextScriptConvertor.parse_sentence:invalid line: %s,
\
line ID is needed"
,
line_num
,
)
return
None
else
:
sentence_id
=
match
.
group
(
"ID"
)
script_item
.
m_id
=
sentence_id
position
+=
match
.
end
()
prevSpokenWord
=
SpokenWord
()
prevWord
=
False
lastBreak
=
False
for
m
in
re
.
finditer
(
RegexSentence
,
sentence
[
position
:]):
if
m
is
None
:
logging
.
error
(
"TextScriptConvertor.parse_sentence:
\
invalid line: %s, there is no matched pattern"
,
line_num
,
)
return
None
if
m
.
group
(
"Word"
)
is
not
None
:
wordName
=
m
.
group
(
"Word"
)
written_word
=
WrittenWord
()
written_word
.
m_name
=
wordName
written_sentence
.
AddHost
(
written_word
)
spoken_word
=
SpokenWord
()
spoken_word
.
m_name
=
wordName
prevSpokenWord
=
spoken_word
prevWord
=
True
lastBreak
=
False
elif
m
.
group
(
"Break"
)
is
not
None
:
breakText
=
m
.
group
(
"BreakLevel"
)
if
len
(
breakText
)
==
0
:
breakLevel
=
BreakLevel
.
L1
else
:
breakLevel
=
BreakLevel
.
parse
(
breakText
)
if
prevWord
:
prevSpokenWord
.
m_breakText
=
breakText
spoken_sentence
.
AddHost
(
prevSpokenWord
)
if
breakLevel
!=
BreakLevel
.
L1
:
spokenMark
=
SpokenMark
()
spokenMark
.
m_breakLevel
=
breakLevel
spoken_sentence
.
AddAccompany
(
spokenMark
)
lastBreak
=
True
elif
m
.
group
(
"PhraseTone"
)
is
not
None
:
# TODO: PhraseTonePattern
pass
elif
m
.
group
(
"POS"
)
is
not
None
:
POSClass
=
m
.
group
(
"POSClass"
)
if
prevWord
:
prevSpokenWord
.
m_pos
=
POSClass
prevWord
=
False
elif
m
.
group
(
"Mark"
)
is
not
None
:
markText
=
m
.
group
(
"Mark"
)
writtenMark
=
WrittenMark
()
writtenMark
.
m_punctuation
=
markText
written_sentence
.
AddAccompany
(
writtenMark
)
else
:
logging
.
error
(
"TextScriptConvertor.parse_sentence:
\
invalid line: %s, matched pattern is unrecognized"
,
line_num
,
)
return
None
if
not
lastBreak
:
prevSpokenWord
.
m_breakText
=
"4"
spoken_sentence
.
AddHost
(
prevSpokenWord
)
spoken_word_cnt
=
len
(
spoken_sentence
.
m_spoken_word_list
)
spoken_mark_cnt
=
len
(
spoken_sentence
.
m_spoken_mark_list
)
if
(
spoken_word_cnt
>
0
and
spoken_sentence
.
m_align_list
[
spoken_word_cnt
-
1
]
==
spoken_mark_cnt
):
spokenMark
=
SpokenMark
()
spokenMark
.
m_breakLevel
=
BreakLevel
.
L4
spoken_sentence
.
AddAccompany
(
spokenMark
)
written_sentence
.
BuildSequence
()
spoken_sentence
.
BuildSequence
()
written_sentence
.
BuildText
()
spoken_sentence
.
BuildText
()
script_sentence
.
m_text
=
written_sentence
.
m_text
script_item
.
m_text
=
written_sentence
.
m_text
return
script_item
def
FormatSyllable
(
self
,
pron
,
syllable_list
):
isForeign
=
RegexForeignLang
.
search
(
pron
)
is
not
None
if
self
.
m_foreign_lang_syllable_formatter
is
not
None
and
isForeign
:
return
self
.
m_foreign_lang_syllable_formatter
.
Format
(
self
.
m_phoneset
,
pron
,
syllable_list
)
else
:
return
self
.
m_target_lang_syllable_formatter
.
Format
(
self
.
m_phoneset
,
pron
,
syllable_list
)
def
GetWordProns
(
self
,
pronText
):
prons
=
pronText
.
split
(
"/"
)
res
=
[]
for
pron
in
prons
:
if
re
.
search
(
RegexForeignLang
,
pron
):
res
.
append
(
pron
.
strip
())
else
:
res
.
extend
(
pron
.
strip
().
split
(
" "
))
return
res
def
IsErHuaYin
(
self
,
pron
):
pron
=
RegexNeutralTone
.
sub
(
"5"
,
pron
)
pron
=
pron
[:
-
1
]
return
pron
[
-
1
]
==
"r"
and
pron
!=
"er"
def
parse_pronunciation
(
self
,
script_item
,
pronunciation
,
line_num
):
spoken_sentence
=
script_item
.
m_scriptSentence_list
[
0
].
m_spokenSentence
wordProns
=
self
.
GetWordProns
(
pronunciation
)
wordIndex
=
0
pronIndex
=
0
succeed
=
True
while
pronIndex
<
len
(
wordProns
):
language
=
Language
.
Neutral
syllable_list
=
[]
pron
=
wordProns
[
pronIndex
].
strip
()
succeed
=
self
.
FormatSyllable
(
pron
,
syllable_list
)
if
not
succeed
:
logging
.
error
(
"TextScriptConvertor.parse_pronunciation:
\
invalid line: %s, error pronunciation: %s,
\
syllable format error"
,
line_num
,
pron
,
)
return
False
language
=
syllable_list
[
0
].
m_language
if
wordIndex
<
len
(
spoken_sentence
.
m_spoken_word_list
):
if
language
in
[
Language
.
EnGB
,
Language
.
EnUS
]:
spoken_sentence
.
m_spoken_word_list
[
wordIndex
].
m_syllable_list
.
extend
(
syllable_list
)
wordIndex
+=
1
pronIndex
+=
1
elif
language
in
[
Language
.
ZhCN
,
Language
.
PinYin
,
Language
.
ZhHK
,
Language
.
WuuShanghai
,
Language
.
Sichuan
,
]:
charCount
=
len
(
spoken_sentence
.
m_spoken_word_list
[
wordIndex
].
m_name
)
if
(
language
in
[
Language
.
ZhCN
,
Language
.
PinYin
,
Language
.
Sichuan
]
and
self
.
IsErHuaYin
(
pron
)
and
"儿"
in
spoken_sentence
.
m_spoken_word_list
[
wordIndex
].
m_name
):
spoken_sentence
.
m_spoken_word_list
[
wordIndex
].
m_name
=
spoken_sentence
.
m_spoken_word_list
[
wordIndex
].
m_name
.
replace
(
"儿"
,
""
)
charCount
-=
1
if
charCount
==
1
:
spoken_sentence
.
m_spoken_word_list
[
wordIndex
].
m_syllable_list
.
extend
(
syllable_list
)
wordIndex
+=
1
pronIndex
+=
1
else
:
# FIXME(Jin): Just skip the first char then match the rest char.
i
=
1
while
i
>=
1
and
i
<
charCount
:
pronIndex
+=
1
if
pronIndex
<
len
(
wordProns
):
pron
=
wordProns
[
pronIndex
].
strip
()
succeed
=
self
.
FormatSyllable
(
pron
,
syllable_list
)
if
not
succeed
:
logging
.
error
(
"TextScriptConvertor.parse_pronunciation: invalid line: %s,
\
error pronunciation: %s, syllable format error"
,
line_num
,
pron
,
)
return
False
if
(
language
in
[
Language
.
ZhCN
,
Language
.
PinYin
,
Language
.
Sichuan
,
]
and
self
.
IsErHuaYin
(
pron
)
and
"儿"
in
spoken_sentence
.
m_spoken_word_list
[
wordIndex
].
m_name
):
spoken_sentence
.
m_spoken_word_list
[
wordIndex
].
m_name
=
spoken_sentence
.
m_spoken_word_list
[
wordIndex
].
m_name
.
replace
(
"儿"
,
""
)
charCount
-=
1
else
:
logging
.
error
(
"TextScriptConvertor.parse_pronunciation: invalid line: %s,
\
error pronunciation: %s, Word count mismatch with Pron count"
,
line_num
,
pron
,
)
return
False
i
+=
1
spoken_sentence
.
m_spoken_word_list
[
wordIndex
].
m_syllable_list
.
extend
(
syllable_list
)
wordIndex
+=
1
pronIndex
+=
1
else
:
logging
.
error
(
"TextScriptConvertor.parse_pronunciation: invalid line: %s,
\
unsupported language: %s"
,
line_num
,
language
.
name
,
)
return
False
else
:
logging
.
error
(
"TextScriptConvertor.parse_pronunciation: invalid line: %s,
\
error pronunciation: %s, word index is out of range"
,
line_num
,
pron
,
)
return
False
if
pronIndex
!=
len
(
wordProns
):
logging
.
error
(
"TextScriptConvertor.parse_pronunciation: invalid line: %s,
\
error pronunciation: %s, pron count mismatch with word count"
,
line_num
,
pron
,
)
return
False
if
wordIndex
!=
len
(
spoken_sentence
.
m_spoken_word_list
):
logging
.
error
(
"TextScriptConvertor.parse_pronunciation: invalid line: %s,
\
error pronunciation: %s, word count mismatch with word index"
,
line_num
,
pron
,
)
return
False
return
True
def
LoadF2TMap
(
self
,
file_path
):
with
open
(
file_path
,
"r"
)
as
f
:
for
line
in
f
.
readlines
():
line
=
line
.
strip
()
elements
=
line
.
split
(
"
\t
"
)
if
len
(
elements
)
!=
2
:
logging
.
error
(
"TextScriptConvertor.LoadF2TMap: invalid line: %s"
,
line
)
continue
key
=
elements
[
0
]
value
=
elements
[
1
]
value_list
=
value
.
split
(
" "
)
if
key
in
self
.
m_f2p_map
:
logging
.
error
(
"TextScriptConvertor.LoadF2TMap: duplicate key: %s"
,
key
)
self
.
m_f2p_map
[
key
]
=
value_list
def
LoadS2PMap
(
self
,
file_path
):
with
open
(
file_path
,
"r"
)
as
f
:
for
line
in
f
.
readlines
():
line
=
line
.
strip
()
elements
=
line
.
split
(
"
\t
"
)
if
len
(
elements
)
!=
2
:
logging
.
error
(
"TextScriptConvertor.LoadS2PMap: invalid line: %s"
,
line
)
continue
key
=
elements
[
0
]
value
=
elements
[
1
]
if
key
in
self
.
m_s2p_map
:
logging
.
error
(
"TextScriptConvertor.LoadS2PMap: duplicate key: %s"
,
key
)
self
.
m_s2p_map
[
key
]
=
value
def
InitSyllableFormatter
(
self
,
targetLang
):
if
targetLang
==
Language
.
ZhCN
:
if
len
(
self
.
m_s2p_map
)
==
0
:
logging
.
error
(
"TextScriptConvertor.InitSyllableFormatter: ZhCN syllable to phone map is empty"
)
return
None
return
ZhCNSyllableFormatter
(
self
.
m_s2p_map
)
elif
targetLang
==
Language
.
PinYin
:
if
len
(
self
.
m_s2p_map
)
==
0
:
logging
.
error
(
"TextScriptConvertor.InitSyllableFormatter: PinYin syllable to phone map is empty"
)
return
None
return
PinYinSyllableFormatter
(
self
.
m_s2p_map
)
elif
targetLang
==
Language
.
ZhHK
:
if
len
(
self
.
m_s2p_map
)
==
0
:
logging
.
error
(
"TextScriptConvertor.InitSyllableFormatter: ZhHK syllable to phone map is empty"
)
return
None
return
ZhHKSyllableFormatter
(
self
.
m_s2p_map
)
elif
targetLang
==
Language
.
WuuShanghai
:
if
len
(
self
.
m_s2p_map
)
==
0
:
logging
.
error
(
"TextScriptConvertor.InitSyllableFormatter: WuuShanghai syllable to phone map is empty"
)
return
None
return
WuuShanghaiSyllableFormatter
(
self
.
m_s2p_map
)
elif
targetLang
==
Language
.
Sichuan
:
if
len
(
self
.
m_s2p_map
)
==
0
:
logging
.
error
(
"TextScriptConvertor.InitSyllableFormatter: Sichuan syllable to phone map is empty"
)
return
None
return
SichuanSyllableFormatter
(
self
.
m_s2p_map
)
elif
targetLang
==
Language
.
EnGB
:
formatter
=
EnXXSyllableFormatter
(
Language
.
EnGB
)
if
len
(
self
.
m_f2p_map
)
!=
0
:
formatter
.
m_f2t_map
=
self
.
m_f2p_map
return
formatter
elif
targetLang
==
Language
.
EnUS
:
formatter
=
EnXXSyllableFormatter
(
Language
.
EnUS
)
if
len
(
self
.
m_f2p_map
)
!=
0
:
formatter
.
m_f2t_map
=
self
.
m_f2p_map
return
formatter
else
:
logging
.
error
(
"TextScriptConvertor.InitSyllableFormatter: unsupported language: %s"
,
targetLang
,
)
return
None
def
process
(
self
,
textScriptPath
,
outputXMLPath
,
outputMetafile
):
script
=
Script
(
self
.
m_phoneset
,
self
.
m_posset
)
formatted_lines
=
format_prosody
(
textScriptPath
)
line_num
=
0
for
line
in
tqdm
(
formatted_lines
):
if
line_num
%
2
==
0
:
sentence
=
line
.
strip
()
item
=
self
.
parse_sentence
(
sentence
,
line_num
)
else
:
if
item
is
not
None
:
pronunciation
=
line
.
strip
()
res
=
self
.
parse_pronunciation
(
item
,
pronunciation
,
line_num
)
if
res
:
script
.
m_items
.
append
(
item
)
line_num
+=
1
script
.
Save
(
outputXMLPath
)
logging
.
info
(
"TextScriptConvertor.process:
\n
Save script to: %s"
,
outputXMLPath
)
meta_lines
=
script
.
SaveMetafile
()
speaker
=
self
.
m_speaker
meta_lines_tagged
=
[]
for
line
in
meta_lines
:
line_id
,
line_text
=
line
.
split
(
"
\t
"
)
emo
=
self
.
m_emo_dict
.
get
(
line_id
,
"emotion_neutral"
)
syll_items
=
line_text
.
split
(
" "
)
syll_items_tagged
=
[]
for
syll_item
in
syll_items
:
syll_item_tagged
=
syll_item
[:
-
1
]
+
"$"
+
emo
+
"$"
+
speaker
+
"}"
syll_items_tagged
.
append
(
syll_item_tagged
)
meta_lines_tagged
.
append
(
line_id
+
"
\t
"
+
" "
.
join
(
syll_items_tagged
))
with
open
(
outputMetafile
,
"w"
)
as
f
:
for
line
in
meta_lines_tagged
:
f
.
write
(
line
+
"
\n
"
)
logging
.
info
(
"TextScriptConvertor.process:
\n
Save metafile to: %s"
,
outputMetafile
)
@
staticmethod
def
turn_text_into_bytes
(
plain_text_path
,
output_meta_file_path
,
speaker
):
meta_lines
=
[]
with
open
(
plain_text_path
,
"r"
)
as
in_file
:
for
text_line
in
in_file
:
[
sentence_id
,
sentence
]
=
text_line
.
strip
().
split
(
"
\t
"
)
sequence
=
[]
for
character
in
sentence
:
hex_string
=
character
.
encode
(
"utf-8"
).
hex
()
i
=
0
while
i
<
len
(
hex_string
):
byte_hex
=
hex_string
[
i
:
i
+
2
]
bit_array
=
BitArray
(
hex
=
byte_hex
)
integer
=
bit_array
.
uint
if
integer
>
255
:
logging
.
error
(
"TextScriptConverter.turn_text_into_bytes: invalid byte conversion in sentence {}
\
character {}: (uint) {} - (hex) {}"
.
format
(
sentence_id
,
character
,
integer
,
character
.
encode
(
"utf-8"
).
hex
(),
)
)
continue
sequence
.
append
(
"{{{}$emotion_neutral${}}}"
.
format
(
integer
,
speaker
)
)
i
+=
2
if
sequence
[
-
1
][
1
:].
split
(
"$"
)[
0
]
not
in
[
"33"
,
"46"
,
"63"
]:
sequence
.
append
(
"{{46$emotion_neutral${}}}"
.
format
(
speaker
))
meta_lines
.
append
(
"{}
\t
{}
\n
"
.
format
(
sentence_id
,
" "
.
join
(
sequence
)))
with
open
(
output_meta_file_path
,
"w"
)
as
out_file
:
out_file
.
writelines
(
meta_lines
)
def
main
(
args
):
logging
.
basicConfig
(
level
=
logging
.
INFO
)
logging
.
info
(
"TextScriptConvertor.main: start"
)
if
args
.
speaker
is
None
:
speaker
=
os
.
path
.
dirname
(
os
.
path
.
dirname
(
args
.
text_script_path
))
else
:
speaker
=
args
.
speaker
convertor
=
TextScriptConvertor
(
args
.
phoneset_path
,
args
.
posset_path
,
args
.
language
,
args
.
foreignLang
,
args
.
f2t_map_path
,
args
.
s2p_map_path
,
args
.
emo_tag_path
,
speaker
,
)
convertor
.
process
(
args
.
text_script_path
,
args
.
output_xml_path
,
args
.
output_metafile
)
logging
.
info
(
"TextScriptConvertor.main: end"
)
# TODO(jin): add emotional style; add speaker info;
if
__name__
==
"__main__"
:
parser
=
argparse
.
ArgumentParser
(
description
=
"TextScriptConvertor"
)
parser
.
add_argument
(
"--language"
,
type
=
str
,
required
=
True
,
help
=
"target language"
)
parser
.
add_argument
(
"--foreignLang"
,
type
=
str
,
required
=
True
,
help
=
"foreign language"
)
parser
.
add_argument
(
"--phoneset_path"
,
type
=
str
,
required
=
True
,
help
=
"phoneset path"
)
parser
.
add_argument
(
"--posset_path"
,
type
=
str
,
required
=
True
,
help
=
"posset path"
)
parser
.
add_argument
(
"--f2t_map_path"
,
type
=
str
,
required
=
True
,
help
=
"f2t map path"
)
parser
.
add_argument
(
"--s2p_map_path"
,
type
=
str
,
required
=
True
,
help
=
"s2p map path"
)
parser
.
add_argument
(
"--text_script_path"
,
type
=
str
,
required
=
True
,
help
=
"input text script path"
)
parser
.
add_argument
(
"--output_xml_path"
,
type
=
str
,
required
=
True
,
help
=
"output xml path"
)
parser
.
add_argument
(
"--output_metafile"
,
type
=
str
,
required
=
True
,
help
=
"output metafile path"
)
parser
.
add_argument
(
"--emo_tag_path"
,
type
=
str
,
default
=
None
,
help
=
"emotion tag path"
)
parser
.
add_argument
(
"--speaker"
,
type
=
str
,
default
=
None
,
help
=
"speaker"
)
args
=
parser
.
parse_args
()
main
(
args
)
kantts/preprocess/script_convertor/__init__.py
deleted
100644 → 0
View file @
8b4e9acd
kantts/preprocess/script_convertor/__pycache__/TextScriptConvertor.cpython-38.pyc
deleted
100644 → 0
View file @
8b4e9acd
File deleted
kantts/preprocess/script_convertor/__pycache__/__init__.cpython-38.pyc
deleted
100644 → 0
View file @
8b4e9acd
File deleted
kantts/preprocess/script_convertor/core/Phone.py
deleted
100644 → 0
View file @
8b4e9acd
from
.XmlObj
import
XmlObj
from
.core_types
import
PhoneCVType
,
PhoneIFType
,
PhoneUVType
,
PhoneAPType
,
PhoneAMType
class
Phone
(
XmlObj
):
def
__init__
(
self
):
self
.
m_id
=
None
self
.
m_name
=
None
self
.
m_cv_type
=
PhoneCVType
.
NULL
self
.
m_if_type
=
PhoneIFType
.
NULL
self
.
m_uv_type
=
PhoneUVType
.
NULL
self
.
m_ap_type
=
PhoneAPType
.
NULL
self
.
m_am_type
=
PhoneAMType
.
NULL
self
.
m_bnd
=
False
def
__str__
(
self
):
return
self
.
m_name
def
Save
(
self
):
pass
def
Load
(
self
,
phone_node
):
ns
=
"{http://schemas.alibaba-inc.com/tts}"
id_node
=
phone_node
.
find
(
ns
+
"id"
)
self
.
m_id
=
int
(
id_node
.
text
)
name_node
=
phone_node
.
find
(
ns
+
"name"
)
self
.
m_name
=
name_node
.
text
cv_node
=
phone_node
.
find
(
ns
+
"cv"
)
self
.
m_cv_type
=
PhoneCVType
.
parse
(
cv_node
.
text
)
if_node
=
phone_node
.
find
(
ns
+
"if"
)
self
.
m_if_type
=
PhoneIFType
.
parse
(
if_node
.
text
)
uv_node
=
phone_node
.
find
(
ns
+
"uv"
)
self
.
m_uv_type
=
PhoneUVType
.
parse
(
uv_node
.
text
)
ap_node
=
phone_node
.
find
(
ns
+
"ap"
)
self
.
m_ap_type
=
PhoneAPType
.
parse
(
ap_node
.
text
)
am_node
=
phone_node
.
find
(
ns
+
"am"
)
self
.
m_am_type
=
PhoneAMType
.
parse
(
am_node
.
text
)
kantts/preprocess/script_convertor/core/PhoneSet.py
deleted
100644 → 0
View file @
8b4e9acd
import
xml.etree.ElementTree
as
ET
import
logging
from
.XmlObj
import
XmlObj
from
.Phone
import
Phone
class
PhoneSet
(
XmlObj
):
def
__init__
(
self
,
phoneset_path
):
self
.
m_phone_list
=
[]
self
.
m_id_map
=
{}
self
.
m_name_map
=
{}
self
.
Load
(
phoneset_path
)
def
Load
(
self
,
file_path
):
# alibaba tts xml namespace
ns
=
"{http://schemas.alibaba-inc.com/tts}"
phoneset_root
=
ET
.
parse
(
file_path
).
getroot
()
for
phone_node
in
phoneset_root
.
findall
(
ns
+
"phone"
):
phone
=
Phone
()
phone
.
Load
(
phone_node
)
self
.
m_phone_list
.
append
(
phone
)
if
phone
.
m_id
in
self
.
m_id_map
:
logging
.
error
(
"PhoneSet.Load: duplicate id: %d"
,
phone
.
m_id
)
self
.
m_id_map
[
phone
.
m_id
]
=
phone
if
phone
.
m_name
in
self
.
m_name_map
:
logging
.
error
(
"PhoneSet.Load duplicate name name: %s"
,
phone
.
m_name
)
self
.
m_name_map
[
phone
.
m_name
]
=
phone
def
Save
(
self
):
pass
# if __name__ == "__main__":
# import os
# import sys
#
# phoneset = PhoneSet()
# phoneset.Load(sys.argv[1])
#
# for phone in phoneset.m_phone_list:
# print(phone)
# print(phone.m_id)
# print(phone.m_name)
# print(phone.m_cv_type)
# print(phone.m_if_type)
# print(phone.m_uv_type)
# print(phone.m_ap_type)
# print(phone.m_am_type)
# print(phone.m_bnd)
kantts/preprocess/script_convertor/core/Pos.py
deleted
100644 → 0
View file @
8b4e9acd
from
.XmlObj
import
XmlObj
class
Pos
(
XmlObj
):
def
__init__
(
self
):
self
.
m_id
=
None
self
.
m_name
=
None
self
.
m_desc
=
None
self
.
m_level
=
1
self
.
m_parent
=
None
self
.
m_sub_pos_list
=
[]
def
__str__
(
self
):
return
self
.
m_name
def
Save
(
self
):
pass
def
Load
(
self
,
pos_node
):
ns
=
"{http://schemas.alibaba-inc.com/tts}"
id_node
=
pos_node
.
find
(
ns
+
"id"
)
self
.
m_id
=
int
(
id_node
.
text
)
name_node
=
pos_node
.
find
(
ns
+
"name"
)
self
.
m_name
=
name_node
.
text
desc_node
=
pos_node
.
find
(
ns
+
"desc"
)
self
.
m_desc
=
desc_node
.
text
sub_node
=
pos_node
.
find
(
ns
+
"sub"
)
if
sub_node
is
not
None
:
for
sub_pos_node
in
sub_node
.
findall
(
ns
+
"pos"
):
sub_pos
=
Pos
()
sub_pos
.
Load
(
sub_pos_node
)
sub_pos
.
m_parent
=
self
sub_pos
.
m_level
=
self
.
m_level
+
1
self
.
m_sub_pos_list
.
append
(
sub_pos
)
return
kantts/preprocess/script_convertor/core/PosSet.py
deleted
100644 → 0
View file @
8b4e9acd
import
xml.etree.ElementTree
as
ET
import
logging
from
.XmlObj
import
XmlObj
from
.Pos
import
Pos
class
PosSet
(
XmlObj
):
def
__init__
(
self
,
posset_path
):
self
.
m_pos_list
=
[]
self
.
m_id_map
=
{}
self
.
m_name_map
=
{}
self
.
Load
(
posset_path
)
def
Load
(
self
,
file_path
):
# alibaba tts xml namespace
ns
=
"{http://schemas.alibaba-inc.com/tts}"
posset_root
=
ET
.
parse
(
file_path
).
getroot
()
for
pos_node
in
posset_root
.
findall
(
ns
+
"pos"
):
pos
=
Pos
()
pos
.
Load
(
pos_node
)
self
.
m_pos_list
.
append
(
pos
)
if
pos
.
m_id
in
self
.
m_id_map
:
logging
.
error
(
"PosSet.Load: duplicate id: %d"
,
pos
.
m_id
)
self
.
m_id_map
[
pos
.
m_id
]
=
pos
if
pos
.
m_name
in
self
.
m_name_map
:
logging
.
error
(
"PosSet.Load duplicate name name: %s"
,
pos
.
m_name
)
self
.
m_name_map
[
pos
.
m_name
]
=
pos
if
len
(
pos
.
m_sub_pos_list
)
>
0
:
for
sub_pos
in
pos
.
m_sub_pos_list
:
self
.
m_pos_list
.
append
(
sub_pos
)
if
sub_pos
.
m_id
in
self
.
m_id_map
:
logging
.
error
(
"PosSet.Load: duplicate id: %d"
,
sub_pos
.
m_id
)
self
.
m_id_map
[
sub_pos
.
m_id
]
=
sub_pos
if
sub_pos
.
m_name
in
self
.
m_name_map
:
logging
.
error
(
"PosSet.Load duplicate name name: %s"
,
sub_pos
.
m_name
)
self
.
m_name_map
[
sub_pos
.
m_name
]
=
sub_pos
def
Save
(
self
):
pass
# if __name__ == "__main__":
# import os
# import sys
#
# posset = PosSet()
# posset.Load(sys.argv[1])
#
# for pos in posset.m_pos_list:
# print(pos)
# print(pos.m_id)
# print(pos.m_name)
# print(pos.m_desc)
# print(pos.m_level)
# print(pos.m_parent)
# if pos.m_sub_pos_list:
# print("sub pos list:")
# for sub_pos in pos.m_sub_pos_list:
# print(sub_pos)
# print(sub_pos.m_id)
# print(sub_pos.m_name)
# print(sub_pos.m_desc)
# print(sub_pos.m_level)
# print(sub_pos.m_parent)
# print("sub pos list end")
Prev
1
2
3
4
5
6
7
8
9
10
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment