You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
# punctuation = ['!', '?', '…', ",", ".","@"]#@是SP停顿
punctuation = [ " ! " , " ? " , " … " , " , " , " . " ] # @是SP停顿
punctuation . append ( " - " )
pu_symbols = punctuation + [ " SP " , " SP2 " , " SP3 " , " UNK " ]
# pu_symbols = punctuation + ["SP", 'SP2', 'SP3','SP4', "UNK"]
pad = " _ "
c = [
" AA " ,
" EE " ,
" OO " ,
" b " ,
" c " ,
" ch " ,
" d " ,
" f " ,
" g " ,
" h " ,
" j " ,
" k " ,
" l " ,
" m " ,
" n " ,
" p " ,
" q " ,
" r " ,
" s " ,
" sh " ,
" t " ,
" w " ,
" x " ,
" y " ,
" z " ,
" zh " ,
]
v = [
" E1 " ,
" En1 " ,
" a1 " ,
" ai1 " ,
" an1 " ,
" ang1 " ,
" ao1 " ,
" e1 " ,
" ei1 " ,
" en1 " ,
" eng1 " ,
" er1 " ,
" i1 " ,
" i01 " ,
" ia1 " ,
" ian1 " ,
" iang1 " ,
" iao1 " ,
" ie1 " ,
" in1 " ,
" ing1 " ,
" iong1 " ,
" ir1 " ,
" iu1 " ,
" o1 " ,
" ong1 " ,
" ou1 " ,
" u1 " ,
" ua1 " ,
" uai1 " ,
" uan1 " ,
" uang1 " ,
" ui1 " ,
" un1 " ,
" uo1 " ,
" v1 " ,
" van1 " ,
" ve1 " ,
" vn1 " ,
" E2 " ,
" En2 " ,
" a2 " ,
" ai2 " ,
" an2 " ,
" ang2 " ,
" ao2 " ,
" e2 " ,
" ei2 " ,
" en2 " ,
" eng2 " ,
" er2 " ,
" i2 " ,
" i02 " ,
" ia2 " ,
" ian2 " ,
" iang2 " ,
" iao2 " ,
" ie2 " ,
" in2 " ,
" ing2 " ,
" iong2 " ,
" ir2 " ,
" iu2 " ,
" o2 " ,
" ong2 " ,
" ou2 " ,
" u2 " ,
" ua2 " ,
" uai2 " ,
" uan2 " ,
" uang2 " ,
" ui2 " ,
" un2 " ,
" uo2 " ,
" v2 " ,
" van2 " ,
" ve2 " ,
" vn2 " ,
" E3 " ,
" En3 " ,
" a3 " ,
" ai3 " ,
" an3 " ,
" ang3 " ,
" ao3 " ,
" e3 " ,
" ei3 " ,
" en3 " ,
" eng3 " ,
" er3 " ,
" i3 " ,
" i03 " ,
" ia3 " ,
" ian3 " ,
" iang3 " ,
" iao3 " ,
" ie3 " ,
" in3 " ,
" ing3 " ,
" iong3 " ,
" ir3 " ,
" iu3 " ,
" o3 " ,
" ong3 " ,
" ou3 " ,
" u3 " ,
" ua3 " ,
" uai3 " ,
" uan3 " ,
" uang3 " ,
" ui3 " ,
" un3 " ,
" uo3 " ,
" v3 " ,
" van3 " ,
" ve3 " ,
" vn3 " ,
" E4 " ,
" En4 " ,
" a4 " ,
" ai4 " ,
" an4 " ,
" ang4 " ,
" ao4 " ,
" e4 " ,
" ei4 " ,
" en4 " ,
" eng4 " ,
" er4 " ,
" i4 " ,
" i04 " ,
" ia4 " ,
" ian4 " ,
" iang4 " ,
" iao4 " ,
" ie4 " ,
" in4 " ,
" ing4 " ,
" iong4 " ,
" ir4 " ,
" iu4 " ,
" o4 " ,
" ong4 " ,
" ou4 " ,
" u4 " ,
" ua4 " ,
" uai4 " ,
" uan4 " ,
" uang4 " ,
" ui4 " ,
" un4 " ,
" uo4 " ,
" v4 " ,
" van4 " ,
" ve4 " ,
" vn4 " ,
" E5 " ,
" En5 " ,
" a5 " ,
" ai5 " ,
" an5 " ,
" ang5 " ,
" ao5 " ,
" e5 " ,
" ei5 " ,
" en5 " ,
" eng5 " ,
" er5 " ,
" i5 " ,
" i05 " ,
" ia5 " ,
" ian5 " ,
" iang5 " ,
" iao5 " ,
" ie5 " ,
" in5 " ,
" ing5 " ,
" iong5 " ,
" ir5 " ,
" iu5 " ,
" o5 " ,
" ong5 " ,
" ou5 " ,
" u5 " ,
" ua5 " ,
" uai5 " ,
" uan5 " ,
" uang5 " ,
" ui5 " ,
" un5 " ,
" uo5 " ,
" v5 " ,
" van5 " ,
" ve5 " ,
" vn5 " ,
]
v_without_tone = [
" E " ,
" En " ,
" a " ,
" ai " ,
" an " ,
" ang " ,
" ao " ,
" e " ,
" ei " ,
" en " ,
" eng " ,
" er " ,
" i " ,
" i0 " ,
" ia " ,
" ian " ,
" iang " ,
" iao " ,
" ie " ,
" in " ,
" ing " ,
" iong " ,
" ir " ,
" iu " ,
" o " ,
" ong " ,
" ou " ,
" u " ,
" ua " ,
" uai " ,
" uan " ,
" uang " ,
" ui " ,
" un " ,
" uo " ,
" v " ,
" van " ,
" ve " ,
" vn " ,
]
# japanese
ja_symbols = [
" I " ,
" N " ,
" U " ,
" a " ,
" b " ,
" by " ,
" ch " ,
" cl " ,
" d " ,
" dy " ,
" e " ,
" f " ,
" g " ,
" gy " ,
" h " ,
" hy " ,
" i " ,
" j " ,
" k " ,
" ky " ,
" m " ,
" my " ,
" n " ,
" ny " ,
" o " ,
" p " ,
" py " ,
" r " ,
" ry " ,
" s " ,
" sh " ,
" t " ,
" ts " ,
" u " ,
" v " ,
" w " ,
" y " ,
" z " ,
###楼下2个留到后面加
# "[", #上升调型
# "]", #下降调型
# "$", #结束符
# "^", #开始符
]
arpa = {
" AH0 " ,
" S " ,
" AH1 " ,
" EY2 " ,
" AE2 " ,
" EH0 " ,
" OW2 " ,
" UH0 " ,
" NG " ,
" B " ,
" G " ,
" AY0 " ,
" M " ,
" AA0 " ,
" F " ,
" AO0 " ,
" ER2 " ,
" UH1 " ,
" IY1 " ,
" AH2 " ,
" DH " ,
" IY0 " ,
" EY1 " ,
" IH0 " ,
" K " ,
" N " ,
" W " ,
" IY2 " ,
" T " ,
" AA1 " ,
" ER1 " ,
" EH2 " ,
" OY0 " ,
" UH2 " ,
" UW1 " ,
" Z " ,
" AW2 " ,
" AW1 " ,
" V " ,
" UW2 " ,
" AA2 " ,
" ER " ,
" AW0 " ,
" UW0 " ,
" R " ,
" OW1 " ,
" EH1 " ,
" ZH " ,
" AE0 " ,
" IH2 " ,
" IH " ,
" Y " ,
" JH " ,
" P " ,
" AY1 " ,
" EY0 " ,
" OY2 " ,
" TH " ,
" HH " ,
" D " ,
" ER0 " ,
" CH " ,
" AO1 " ,
" AE1 " ,
" AO2 " ,
" OY1 " ,
" AY2 " ,
" IH1 " ,
" OW0 " ,
" L " ,
" SH " ,
}
ko_symbols = " ㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎㄲㄸㅃㅆㅉㅏㅓㅗㅜㅡㅣㅐㅔ空停 "
# ko_symbols='ㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎㄲㄸㅃㅆㅉㅏㅓㅗㅜㅡㅣㅐㅔ '
yue_symbols = {
" Yeot3 " ,
" Yip1 " ,
" Yyu3 " ,
" Yeng4 " ,
" Yut5 " ,
" Yaan5 " ,
" Ym5 " ,
" Yaan6 " ,
" Yang1 " ,
" Yun4 " ,
" Yon2 " ,
" Yui5 " ,
" Yun2 " ,
" Yat3 " ,
" Ye " ,
" Yeot1 " ,
" Yoeng5 " ,
" Yoek2 " ,
" Yam2 " ,
" Yeon6 " ,
" Yu6 " ,
" Yiu3 " ,
" Yaang6 " ,
" Yp5 " ,
" Yai4 " ,
" Yoek4 " ,
" Yit6 " ,
" Yam5 " ,
" Yoeng6 " ,
" Yg1 " ,
" Yk3 " ,
" Yoe4 " ,
" Yam3 " ,
" Yc " ,
" Yyu4 " ,
" Yyut1 " ,
" Yiu4 " ,
" Ying3 " ,
" Yip3 " ,
" Yaap3 " ,
" Yau3 " ,
" Yan4 " ,
" Yau1 " ,
" Yap4 " ,
" Yk6 " ,
" Yok3 " ,
" Yai1 " ,
" Yeot6 " ,
" Yan2 " ,
" Yoek6 " ,
" Yt1 " ,
" Yoi1 " ,
" Yit5 " ,
" Yn4 " ,
" Yaau3 " ,
" Yau4 " ,
" Yuk6 " ,
" Ys " ,
" Yuk " ,
" Yin6 " ,
" Yung6 " ,
" Ya " ,
" You " ,
" Yaai5 " ,
" Yau5 " ,
" Yoi3 " ,
" Yaak3 " ,
" Yaat3 " ,
" Ying2 " ,
" Yok5 " ,
" Yeng2 " ,
" Yyut3 " ,
" Yam1 " ,
" Yip5 " ,
" You1 " ,
" Yam6 " ,
" Yaa5 " ,
" Yi6 " ,
" Yek4 " ,
" Yyu2 " ,
" Yuk5 " ,
" Yaam1 " ,
" Yang2 " ,
" Yai " ,
" Yiu6 " ,
" Yin4 " ,
" Yok4 " ,
" Yot3 " ,
" Yui2 " ,
" Yeoi5 " ,
" Yyun6 " ,
" Yyu5 " ,
" Yoi5 " ,
" Yeot2 " ,
" Yim4 " ,
" Yeoi2 " ,
" Yaan1 " ,
" Yang6 " ,
" Yong1 " ,
" Yaang4 " ,
" Yung5 " ,
" Yeon1 " ,
" Yin2 " ,
" Ya3 " ,
" Yaang3 " ,
" Yg " ,
" Yk2 " ,
" Yaau5 " ,
" Yut1 " ,
" Yt5 " ,
" Yip4 " ,
" Yung4 " ,
" Yj " ,
" Yong3 " ,
" Ya1 " ,
" Yg6 " ,
" Yaau6 " ,
" Yit3 " ,
" Yun3 " ,
" Ying1 " ,
" Yn2 " ,
" Yg4 " ,
" Yl " ,
" Yp3 " ,
" Yn3 " ,
" Yak1 " ,
" Yang5 " ,
" Yoe6 " ,
" You2 " ,
" Yap2 " ,
" Yak2 " ,
" Yt3 " ,
" Yot5 " ,
" Yim2 " ,
" Yi1 " ,
" Yn6 " ,
" Yaat5 " ,
" Yaam3 " ,
" Yoek5 " ,
" Ye3 " ,
" Yeon4 " ,
" Yaa2 " ,
" Yu3 " ,
" Yim6 " ,
" Ym " ,
" Yoe3 " ,
" Yaai2 " ,
" Ym2 " ,
" Ya6 " ,
" Yeng6 " ,
" Yik4 " ,
" Yot4 " ,
" Yaai4 " ,
" Yyun3 " ,
" Yu1 " ,
" Yoeng1 " ,
" Yaap2 " ,
" Yuk3 " ,
" Yoek3 " ,
" Yeng5 " ,
" Yeoi1 " ,
" Yiu2 " ,
" Yok1 " ,
" Yo1 " ,
" Yoek1 " ,
" Yoeng2 " ,
" Yeon5 " ,
" Yiu1 " ,
" Yoeng4 " ,
" Yuk2 " ,
" Yat4 " ,
" Yg5 " ,
" Yut4 " ,
" Yan6 " ,
" Yin3 " ,
" Yaa6 " ,
" Yap1 " ,
" Yg2 " ,
" Yoe5 " ,
" Yt4 " ,
" Ya5 " ,
" Yo4 " ,
" Yyu1 " ,
" Yak3 " ,
" Yeon2 " ,
" Yong4 " ,
" Ym1 " ,
" Ye2 " ,
" Yaang5 " ,
" Yoi2 " ,
" Yeng3 " ,
" Yn " ,
" Yyut4 " ,
" Yau " ,
" Yaak2 " ,
" Yaan4 " ,
" Yek2 " ,
" Yin1 " ,
" Yi5 " ,
" Yoe2 " ,
" Yei5 " ,
" Yaat6 " ,
" Yak5 " ,
" Yp6 " ,
" Yok6 " ,
" Yei2 " ,
" Yaap1 " ,
" Yyut5 " ,
" Yi4 " ,
" Yim1 " ,
" Yk5 " ,
" Ye4 " ,
" Yok2 " ,
" Yaam6 " ,
" Yat2 " ,
" Yon6 " ,
" Yei3 " ,
" Yyu6 " ,
" Yeot5 " ,
" Yk4 " ,
" Yai6 " ,
" Yd " ,
" Yg3 " ,
" Yei6 " ,
" Yau2 " ,
" Yok " ,
" Yau6 " ,
" Yung3 " ,
" Yim5 " ,
" Yut6 " ,
" Yit1 " ,
" Yon3 " ,
" Yat1 " ,
" Yaam2 " ,
" Yyut2 " ,
" Yui6 " ,
" Yt2 " ,
" Yek6 " ,
" Yt " ,
" Ye6 " ,
" Yang3 " ,
" Ying6 " ,
" Yaau1 " ,
" Yeon3 " ,
" Yng " ,
" Yh " ,
" Yang4 " ,
" Ying5 " ,
" Yaap6 " ,
" Yoeng3 " ,
" Yyun4 " ,
" You3 " ,
" Yan5 " ,
" Yat5 " ,
" Yot1 " ,
" Yun1 " ,
" Yi3 " ,
" Yaa1 " ,
" Yaap4 " ,
" You6 " ,
" Yaang2 " ,
" Yaap5 " ,
" Yaa3 " ,
" Yaak6 " ,
" Yeng1 " ,
" Yaak1 " ,
" Yo5 " ,
" Yoi4 " ,
" Yam4 " ,
" Yik1 " ,
" Ye1 " ,
" Yai5 " ,
" Yung1 " ,
" Yp2 " ,
" Yui4 " ,
" Yaak4 " ,
" Yung2 " ,
" Yak4 " ,
" Yaat4 " ,
" Yeoi4 " ,
" Yut2 " ,
" Yin5 " ,
" Yaau4 " ,
" Yap6 " ,
" Yb " ,
" Yaam4 " ,
" Yw " ,
" Yut3 " ,
" Yong2 " ,
" Yt6 " ,
" Yaai6 " ,
" Yap5 " ,
" Yik5 " ,
" Yun6 " ,
" Yaam5 " ,
" Yun5 " ,
" Yik3 " ,
" Ya2 " ,
" Yyut6 " ,
" Yon4 " ,
" Yk1 " ,
" Yit4 " ,
" Yak6 " ,
" Yaan2 " ,
" Yuk1 " ,
" Yai2 " ,
" Yik2 " ,
" Yaat2 " ,
" Yo3 " ,
" Ykw " ,
" Yn5 " ,
" Yaa " ,
" Ye5 " ,
" Yu4 " ,
" Yei1 " ,
" Yai3 " ,
" Yyun5 " ,
" Yip2 " ,
" Yaau2 " ,
" Yiu5 " ,
" Ym4 " ,
" Yeoi6 " ,
" Yk " ,
" Ym6 " ,
" Yoe1 " ,
" Yeoi3 " ,
" Yon " ,
" Yuk4 " ,
" Yaai3 " ,
" Yaa4 " ,
" Yot6 " ,
" Yaang1 " ,
" Yei4 " ,
" Yek1 " ,
" Yo " ,
" Yp " ,
" Yo6 " ,
" Yp4 " ,
" Yan3 " ,
" Yoi " ,
" Yap3 " ,
" Yek3 " ,
" Yim3 " ,
" Yz " ,
" Yot2 " ,
" Yoi6 " ,
" Yit2 " ,
" Yu5 " ,
" Yaan3 " ,
" Yan1 " ,
" Yon5 " ,
" Yp1 " ,
" Yong5 " ,
" Ygw " ,
" Yak " ,
" Yat6 " ,
" Ying4 " ,
" Yu2 " ,
" Yf " ,
" Ya4 " ,
" Yon1 " ,
" You4 " ,
" Yik6 " ,
" Yui1 " ,
" Yaat1 " ,
" Yeot4 " ,
" Yi2 " ,
" Yaai1 " ,
" Yek5 " ,
" Ym3 " ,
" Yong6 " ,
" You5 " ,
" Yyun1 " ,
" Yn1 " ,
" Yo2 " ,
" Yip6 " ,
" Yui3 " ,
" Yaak5 " ,
" Yyun2 " ,
}
# symbols = [pad] + c + v + ja_symbols + pu_symbols + list(arpa)+list(ko_symbols)#+list(yue_symbols)###直接这么加yue顺序乱了
symbols = [ pad ] + c + v + ja_symbols + pu_symbols + list ( arpa )
symbols = sorted ( set ( symbols ) )
# print(len(symbols))
symbols + = [ " [ " , " ] " ] ##日文新增上升下降调型
symbols + = sorted ( list ( ko_symbols ) )
symbols + = sorted ( list ( yue_symbols ) ) ##新加的yue统一摆在后头#已查过开头加Y后没有重复, 韩文显然不会重复
# print(len(symbols))
if __name__ == " __main__ " :
print ( len ( symbols ) )
"""
粤语:
732-353=379
韩文+粤语:
732-322=410
"""