| import os | |
| # 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 | |
| ''' | |