├── README.md └── wenet ├── dataset ├── dataset.py ├── test.2.txt ├── test.txt ├── test.yaml └── unit.txt └── ssl ├── bestrq ├── bestqr_model.py └── mask.py └── inject_text └── text_encoder.py /README.md: -------------------------------------------------------------------------------- 1 | # WeUSM (Develop) 2 | 3 | ### 技术趋同 4 | 5 | 语音识别目前技术框架趋同:ctc transducer 或者较新cif base, 这几个主流的方案其实做的事情是一致的: 6 | 7 | 1 对声学信号进行特征提取 8 | 9 | 2 损失函数“对齐到文本” 建模 10 | 11 | 对于第一点,目前可以分为两种发案:a 无监督 b 有监督 12 | 13 | 对于第二点,ctc/transducer/cif 有各自的对齐拓扑, 并且在有监督训练过程中 将部分语意信息带入 14 | 到: 1 encoder 上层(ctc)2 predictor ILM(transducer) 3 cif decoder 或者cif-transducer predcior 中 15 | 16 | ### 兼顾signal 和 text 17 | 18 | 要建立强悍的识别模型,必须要同时考虑到signal 和 text 两种信息融合于模型中, 工业级端到端识别系统往往 19 | 上万级乃至几十万积的数据覆盖率较多信号和文本,但是依旧会存在各种厂尾问题,比如场景更换带来信号的突变,异或者领域切换 20 | 导致文本不匹配,前者往往靠各种数据增强,而后者各种外挂语言模型 21 | 22 | 近些年各种无/自监督方法(wav2vec w2vbert hubert bestrq等)在信号层面上提升模型的表征(representation)能力 23 | 但是对于asr的文本依旧是采用有监督的方式带入 24 | 25 | ### 大厂最新 26 | 27 | 谷歌的USM 基于之前一系列工作,提供一种新的方式 28 | 1 信号层面依旧是自监督起步,但是需要建模训练方法足够简单 29 | 2 海量文本text(unpair) 需要在自监督/有监督过程中同时建模 30 | 3 海量文本需要模块生成语音中间表征,形成(text, audio_dummy 进行伪有监督 31 | 32 | 这三部从直觉上,有望解决:1 信号建模 2 文本融入 3 文本和信号会有海量piar(类似人看书时往往会有默念行为 再次听别人说大概能秒懂) 33 | 34 | ### 本仓库目的:尝试复现谷歌USM论文中pipeline,主要实现: 35 | 36 | - [ ] bestrq pretrain 37 | - [ ] unpiar data training (inject text) 38 | - [ ] text to speech representation 39 | - [ ] seperate learning scheduler for encoder and "decoder" 40 | 41 | 使用工具:wenet toolkit, 会把相关paper定时整理到该README中 42 | -------------------------------------------------------------------------------- /wenet/dataset/dataset.py: -------------------------------------------------------------------------------- 1 | import functools 2 | from typing import Callable, List, Optional 3 | from torch._C import _functionalization_reapply_views_tls 4 | from torch.nn import functional 5 | from torch.utils.data import IterDataPipe 6 | import torchdata 7 | import torch 8 | import yaml 9 | from torchdata.datapipes import functional_datapipe 10 | 11 | from torchdata.datapipes.iter import FileOpener 12 | 13 | from functools import partial 14 | 15 | 16 | @functional_datapipe("try_map") 17 | class TryMapIterDataPipe(IterDataPipe): 18 | 19 | def __new__(cls, 20 | datapipe: IterDataPipe, 21 | fn: Callable, 22 | input_col=None, 23 | output_col=None) -> None: 24 | 25 | def try_fn(x): 26 | try: 27 | return fn(x) 28 | except Exception as e: 29 | # eg: some error 30 | return None 31 | 32 | return datapipe.map(try_fn, input_col=input_col, 33 | output_col=output_col) # type: ignore 34 | 35 | 36 | # TODO(Mddct): bpe/wpe tokenize 37 | def tokenize_space(data, symbol_table, UNK=''): 38 | """ Decode text by space 39 | 40 | Args: 41 | data: tuple (filename, text) 42 | symbol_table: dict 43 | Returns: 44 | tuple: (filename, text, tokens, label) 45 | """ 46 | filename, text = data 47 | tokens = text.split(" ") 48 | 49 | ids = [ 50 | symbol_table[token] if token in symbol_table else symbol_table[UNK] 51 | for token in tokens 52 | ] 53 | return (filename, text, tokens, ids) 54 | 55 | 56 | def filter(data, token_max_length=200, token_min_length=1): 57 | """ Filter text according to token length 58 | 59 | Args: 60 | data: tuple (filename, text, tokens, label) 61 | """ 62 | ids = data[-1] 63 | return len(ids) <= token_max_length and len(ids) >= token_min_length 64 | 65 | 66 | def padding_batch(data, padding_value=0): 67 | """ Padding the batch to tensor 68 | 69 | Args: 70 | data: batch [(filename, text, tokens, label), ...] 71 | """ 72 | f, t, tk, l = [], [], [], [] 73 | l = [] 74 | for sample in data: 75 | filename, text, tokens, ids = sample 76 | l.append(torch.tensor(ids, dtype=torch.int, requires_grad=False)) 77 | f.append(filename) 78 | t.append(text) 79 | tk.append(tokens) 80 | labels_tensor = torch.nn.utils.rnn.pad_sequence(l, batch_first=True) 81 | return f, t, tk, labels_tensor 82 | 83 | 84 | # TODO(Mddct): use wenet 85 | def read_symbol_table(symbol_table_file): 86 | symbol_table = {} 87 | with open(symbol_table_file, 'r', encoding='utf8') as fin: 88 | for line in fin: 89 | arr = line.strip().split() 90 | assert len(arr) == 2 91 | symbol_table[arr[0]] = int(arr[1]) 92 | return symbol_table 93 | 94 | 95 | def TextDataset( 96 | data_list_file, 97 | symbol_table, 98 | conf, 99 | prefetch=None, 100 | training=False, 101 | ) -> torchdata.datapipes.iter.IterDataPipe: 102 | dataset = FileOpener(data_list_file) 103 | 104 | # 1 shuffler list 105 | shuffle_conf = conf['shuffle_conf'] 106 | if training: 107 | dataset = dataset.shuffle( 108 | buffer_size=shuffle_conf['list_shuffle_size']) 109 | 110 | # 2 shard for each replica 111 | dataset = dataset.sharding_filter() 112 | 113 | # 3 shuffle for each file 114 | dataset = dataset.readlines() 115 | 116 | # 4 shuffle in file 117 | if training: 118 | dataset = dataset.shuffle(buffer_size=shuffle_conf['in_shuffle_size']) 119 | 120 | # 5 tokenize 121 | tokenize_fn = functools.partial(tokenize_space, symbol_table=symbol_table) 122 | dataset = dataset.map(tokenize_fn) 123 | 124 | # 6 filter 125 | filter_conf = conf.get('text_filter_conf', {}) 126 | filter_fn = functools.partial(filter, **filter_conf) 127 | dataset = dataset.filter(filter_fn) 128 | 129 | # 6 bucket 130 | bucket_conf = conf.get('bucket_conf', {}) 131 | batch_size = bucket_conf['batch_size'] 132 | # bucket = [10, 30, 50, 100] 133 | bucket = bucket_conf.get('bucket', []) 134 | sort_fn = functools.partial(sorted, key=lambda data: len(data[-1])) 135 | dataset = dataset.bucketbatch( 136 | batch_size=batch_size, 137 | drop_last=True if training else False, 138 | batch_num=batch_size, 139 | bucket_num=len(bucket) + 1, 140 | sort_key=sort_fn, 141 | ) 142 | # 7 pad batch 143 | dataset = dataset.collate(padding_batch) 144 | if prefetch is not None: 145 | dataset = dataset.prefetch(prefetch) 146 | return dataset 147 | 148 | 149 | symbol_table = read_symbol_table("unit.txt") 150 | config = 'test.yaml' 151 | with open(config, 'r') as fin: 152 | configs = yaml.load(fin, Loader=yaml.FullLoader) 153 | dataset = TextDataset(["test.txt", "test.2.txt"], 154 | symbol_table, 155 | conf=configs['dataset_conf']) 156 | 157 | for batch in dataset: 158 | key, text, tokens, labels = batch 159 | _, _, _, = key, text, tokens 160 | print(labels) 161 | -------------------------------------------------------------------------------- /wenet/dataset/test.2.txt: -------------------------------------------------------------------------------- 1 | 你 好 wenet 2 | 你 好 开 源 3 | 你 好 语 音 识 别 4 | -------------------------------------------------------------------------------- /wenet/dataset/test.txt: -------------------------------------------------------------------------------- 1 | 你 好 wenet 2 | 你 好 开 源 3 | 你 好 语 音 识 别 4 | 你 好 语 音 识 别 5 | -------------------------------------------------------------------------------- /wenet/dataset/test.yaml: -------------------------------------------------------------------------------- 1 | # network architecture 2 | # encoder related 3 | training_type: ssl 4 | ssl_conf: 5 | input_dim: 512 6 | embedding_dim: 16 7 | num_embeddings: 8192 8 | mask_prob: 0.01 9 | mask_length: 10 10 | num_codebooks: 3 11 | mask_signal: true 12 | # norm: layer_norm 13 | min_masks: 10 14 | 15 | encoder: conformer 16 | encoder_conf: 17 | output_size: 512 # dimension of attention 18 | attention_heads: 8 19 | linear_units: 2048 # the number of units of position-wise feed forward 20 | num_blocks: 16 # the number of encoder blocks 21 | dropout_rate: 0.1 22 | positional_dropout_rate: 0.1 23 | attention_dropout_rate: 0.1 24 | input_layer: conv2d # encoder input type, you can chose conv2d, conv2d6 and conv2d8 25 | normalize_before: true 26 | cnn_module_kernel: 15 27 | use_cnn_module: True 28 | cnn_module_norm: 'layer_norm' 29 | activation_type: 'swish' 30 | pos_enc_layer_type: 'rel_pos' 31 | selfattention_layer_type: 'rel_selfattn' 32 | 33 | 34 | # decoder: bitransformer 35 | decoder: transformer 36 | decoder_conf: 37 | attention_heads: 4 38 | dropout_rate: 0.1 39 | linear_units: 2048 40 | num_blocks: 4 41 | positional_dropout_rate: 0.1 42 | self_attention_dropout_rate: 0.1 43 | src_attention_dropout_rate: 0.1 44 | 45 | # hybrid transducer+ctc+attention 46 | model_conf: 47 | ctc_weight: 0.3 48 | attention_weight: 0.7 49 | lsm_weight: 0.1 # label smoothing option 50 | length_normalized_loss: false 51 | # reverse_weight: 0.3 52 | quantity_weight: 1.0 53 | # cif_weight : 1.0 54 | cif_acoustic_reg: true 55 | predictor_lm: true 56 | predictor_lm_tie_weight: false 57 | predictor_lm_weight: 1.0 58 | cif_eos: false 59 | predictor_regularisation: true 60 | 61 | predictor_m1: 400000 62 | predictor_m2: 2000000 63 | 64 | cif_conf: 65 | threshold: 1.0 66 | smooth_factor: 1.0 67 | noise_threshold: 0.0 68 | tail_threshold: 0.5 69 | funnel: true 70 | funnel_skip: true 71 | addition_encoder: true 72 | addition_encoder_big: true # refactor 73 | 74 | alpha: conv 75 | alpha_conf: 76 | dropout: 0.1 77 | 78 | dataset_conf: 79 | filter_conf: 80 | max_length: 3000 81 | min_length: 80 82 | token_max_length: 100 83 | token_min_length: 1 84 | resample_conf: 85 | resample_rate: 16000 86 | speed_perturb: true 87 | fbank_conf: 88 | num_mel_bins: 80 89 | frame_shift: 10 90 | frame_length: 25 91 | dither: 0.1 92 | spec_aug: true 93 | spec_aug_conf: 94 | num_t_mask: 2 95 | num_f_mask: 2 96 | max_t: 50 97 | max_f: 10 98 | shuffle: true 99 | shuffle_conf: 100 | in_shuffle_size: 1000 101 | list_shuffle_size: 100 102 | sort: true 103 | sort_conf: 104 | sort_size: 500 # sort_size should be less than shuffle_size 105 | bucket_conf: 106 | batch_size: 3 107 | bucket: [10, 40, 80, 100] 108 | # batch_conf: 109 | # batch_type: 'dynamic' 110 | # max_frames_in_batch: 25000 111 | 112 | grad_clip: 4 113 | accum_grad: 1 114 | max_epoch: 600 115 | log_interval: 100 116 | 117 | optim: adam 118 | optim_conf: 119 | lr: 0.001 120 | scheduler: warmuplr # pytorch v1.1.0+ required 121 | scheduler_conf: 122 | warmup_steps: 25000 123 | 124 | -------------------------------------------------------------------------------- /wenet/dataset/unit.txt: -------------------------------------------------------------------------------- 1 | 0 2 | 1 3 | 一 2 4 | 丁 3 5 | 七 4 6 | 万 5 7 | 丈 6 8 | 三 7 9 | 上 8 10 | 下 9 11 | 不 10 12 | 与 11 13 | 丐 12 14 | 丑 13 15 | 专 14 16 | 且 15 17 | 世 16 18 | 丘 17 19 | 丙 18 20 | 业 19 21 | 丛 20 22 | 东 21 23 | 丝 22 24 | 丞 23 25 | 丢 24 26 | 两 25 27 | 严 26 28 | 丧 27 29 | 个 28 30 | 丫 29 31 | 中 30 32 | 丰 31 33 | 串 32 34 | 临 33 35 | 丸 34 36 | 丹 35 37 | 为 36 38 | 主 37 39 | 丽 38 40 | 举 39 41 | 乃 40 42 | 久 41 43 | 么 42 44 | 义 43 45 | 之 44 46 | 乌 45 47 | 乍 46 48 | 乎 47 49 | 乏 48 50 | 乐 49 51 | 乒 50 52 | 乓 51 53 | 乔 52 54 | 乖 53 55 | 乘 54 56 | 乙 55 57 | 九 56 58 | 乞 57 59 | 也 58 60 | 习 59 61 | 乡 60 62 | 书 61 63 | 买 62 64 | 乱 63 65 | 乳 64 66 | 乾 65 67 | 了 66 68 | 予 67 69 | 争 68 70 | 事 69 71 | 二 70 72 | 于 71 73 | 亏 72 74 | 云 73 75 | 互 74 76 | 五 75 77 | 井 76 78 | 亚 77 79 | 些 78 80 | 亟 79 81 | 亡 80 82 | 亢 81 83 | 交 82 84 | 亥 83 85 | 亦 84 86 | 产 85 87 | 亨 86 88 | 亩 87 89 | 享 88 90 | 京 89 91 | 亭 90 92 | 亮 91 93 | 亲 92 94 | 亳 93 95 | 亵 94 96 | 人 95 97 | 亿 96 98 | 什 97 99 | 仁 98 100 | 仄 99 101 | 仅 100 102 | 仇 101 103 | 今 102 104 | 介 103 105 | 仍 104 106 | 从 105 107 | 仑 106 108 | 仓 107 109 | 仔 108 110 | 仕 109 111 | 他 110 112 | 仗 111 113 | 付 112 114 | 仙 113 115 | 仡 114 116 | 代 115 117 | 令 116 118 | 以 117 119 | 仨 118 120 | 仪 119 121 | 们 120 122 | 仰 121 123 | 仲 122 124 | 件 123 125 | 价 124 126 | 任 125 127 | 份 126 128 | 仿 127 129 | 企 128 130 | 伉 129 131 | 伊 130 132 | 伍 131 133 | 伎 132 134 | 伏 133 135 | 伐 134 136 | 休 135 137 | 众 136 138 | 优 137 139 | 伙 138 140 | 会 139 141 | 伞 140 142 | 伟 141 143 | 传 142 144 | 伢 143 145 | 伤 144 146 | 伦 145 147 | 伪 146 148 | 伯 147 149 | 估 148 150 | 伴 149 151 | 伶 150 152 | 伸 151 153 | 伺 152 154 | 似 153 155 | 伽 154 156 | 佃 155 157 | 但 156 158 | 位 157 159 | 低 158 160 | 住 159 161 | 佐 160 162 | 佑 161 163 | 体 162 164 | 何 163 165 | 佘 164 166 | 余 165 167 | 佛 166 168 | 作 167 169 | 佟 168 170 | 你 169 171 | 佣 170 172 | 佩 171 173 | 佬 172 174 | 佳 173 175 | 佶 174 176 | 佼 175 177 | 使 176 178 | 侃 177 179 | 侄 178 180 | 侈 179 181 | 例 180 182 | 侍 181 183 | 侑 182 184 | 侗 183 185 | 供 184 186 | 依 185 187 | 侠 186 188 | 侣 187 189 | 侥 188 190 | 侦 189 191 | 侧 190 192 | 侨 191 193 | 侬 192 194 | 侮 193 195 | 侯 194 196 | 侵 195 197 | 便 196 198 | 促 197 199 | 俄 198 200 | 俊 199 201 | 俏 200 202 | 俐 201 203 | 俗 202 204 | 俘 203 205 | 俚 204 206 | 保 205 207 | 俞 206 208 | 信 207 209 | 俨 208 210 | 俩 209 211 | 俪 210 212 | 俭 211 213 | 修 212 214 | 俯 213 215 | 俱 214 216 | 俸 215 217 | 俺 216 218 | 俾 217 219 | 倍 218 220 | 倒 219 221 | 倘 220 222 | 候 221 223 | 倚 222 224 | 倜 223 225 | 借 224 226 | 倡 225 227 | 倦 226 228 | 倩 227 229 | 倪 228 230 | 债 229 231 | 值 230 232 | 倾 231 233 | 假 232 234 | 偏 233 235 | 做 234 236 | 停 235 237 | 健 236 238 | 偶 237 239 | 偷 238 240 | 偿 239 241 | 傅 240 242 | 傍 241 243 | 傥 242 244 | 储 243 245 | 催 244 246 | 傲 245 247 | 傻 246 248 | 像 247 249 | 僚 248 250 | 僧 249 251 | 僮 250 252 | 僵 251 253 | 僻 252 254 | 儒 253 255 | 儿 254 256 | 兀 255 257 | 允 256 258 | 元 257 259 | 兄 258 260 | 充 259 261 | 兆 260 262 | 先 261 263 | 光 262 264 | 克 263 265 | 免 264 266 | 兑 265 267 | 兔 266 268 | 兖 267 269 | 党 268 270 | 兜 269 271 | 兢 270 272 | 入 271 273 | 全 272 274 | 八 273 275 | 公 274 276 | 六 275 277 | 兰 276 278 | 共 277 279 | 关 278 280 | 兴 279 281 | 兵 280 282 | 其 281 283 | 具 282 284 | 典 283 285 | 兹 284 286 | 养 285 287 | 兼 286 288 | 兽 287 289 | 冀 288 290 | 内 289 291 | 冈 290 292 | 冉 291 293 | 册 292 294 | 再 293 295 | 冒 294 296 | 冕 295 297 | 写 296 298 | 军 297 299 | 农 298 300 | 冠 299 301 | 冤 300 302 | 冥 301 303 | 冬 302 304 | 冯 303 305 | 冰 304 306 | 冲 305 307 | 决 306 308 | 况 307 309 | 冶 308 310 | 冷 309 311 | 冻 310 312 | 净 311 313 | 凄 312 314 | 准 313 315 | 凇 314 316 | 凉 315 317 | 凋 316 318 | 凌 317 319 | 减 318 320 | 凑 319 321 | 凝 320 322 | 几 321 323 | 凡 322 324 | 凤 323 325 | 凭 324 326 | 凯 325 327 | 凰 326 328 | 凳 327 329 | 凶 328 330 | 凸 329 331 | 凹 330 332 | 出 331 333 | 击 332 334 | 函 333 335 | 凿 334 336 | 刀 335 337 | 刁 336 338 | 刃 337 339 | 分 338 340 | 切 339 341 | 刊 340 342 | 刑 341 343 | 划 342 344 | 列 343 345 | 刘 344 346 | 则 345 347 | 刚 346 348 | 创 347 349 | 初 348 350 | 删 349 351 | 判 350 352 | 刨 351 353 | 利 352 354 | 别 353 355 | 刮 354 356 | 到 355 357 | 制 356 358 | 刷 357 359 | 券 358 360 | 刹 359 361 | 刺 360 362 | 刻 361 363 | 剁 362 364 | 剂 363 365 | 剃 364 366 | 削 365 367 | 前 366 368 | 剐 367 369 | 剑 368 370 | 剔 369 371 | 剖 370 372 | 剥 371 373 | 剧 372 374 | 剩 373 375 | 剪 374 376 | 副 375 377 | 割 376 378 | 剽 377 379 | 剿 378 380 | 劈 379 381 | 力 380 382 | 劝 381 383 | 办 382 384 | 功 383 385 | 加 384 386 | 务 385 387 | 劣 386 388 | 动 387 389 | 助 388 390 | 努 389 391 | 劫 390 392 | 励 391 393 | 劲 392 394 | 劳 393 395 | 劵 394 396 | 势 395 397 | 勃 396 398 | 勇 397 399 | 勉 398 400 | 勋 399 401 | 勒 400 402 | 勘 401 403 | 募 402 404 | 勤 403 405 | 勺 404 406 | 勾 405 407 | 勿 406 408 | 匀 407 409 | 包 408 410 | 匆 409 411 | 匈 410 412 | 匕 411 413 | 化 412 414 | 北 413 415 | 匙 414 416 | 匝 415 417 | 匠 416 418 | 匡 417 419 | 匣 418 420 | 匪 419 421 | 匮 420 422 | 匹 421 423 | 区 422 424 | 医 423 425 | 匾 424 426 | 匿 425 427 | 十 426 428 | 千 427 429 | 升 428 430 | 午 429 431 | 卉 430 432 | 半 431 433 | 华 432 434 | 协 433 435 | 卑 434 436 | 卒 435 437 | 卓 436 438 | 单 437 439 | 卖 438 440 | 南 439 441 | 博 440 442 | 卜 441 443 | 卞 442 444 | 占 443 445 | 卡 444 446 | 卢 445 447 | 卤 446 448 | 卦 447 449 | 卧 448 450 | 卫 449 451 | 卯 450 452 | 印 451 453 | 危 452 454 | 卲 453 455 | 即 454 456 | 却 455 457 | 卵 456 458 | 卷 457 459 | 卸 458 460 | 卿 459 461 | 厂 460 462 | 厄 461 463 | 厅 462 464 | 历 463 465 | 厉 464 466 | 压 465 467 | 厌 466 468 | 厕 467 469 | 厘 468 470 | 厚 469 471 | 原 470 472 | 厢 471 473 | 厥 472 474 | 厦 473 475 | 厨 474 476 | 厩 475 477 | 厮 476 478 | 去 477 479 | 县 478 480 | 参 479 481 | 又 480 482 | 叉 481 483 | 及 482 484 | 友 483 485 | 双 484 486 | 反 485 487 | 发 486 488 | 叔 487 489 | 取 488 490 | 受 489 491 | 变 490 492 | 叙 491 493 | 叛 492 494 | 叠 493 495 | 口 494 496 | 古 495 497 | 句 496 498 | 另 497 499 | 叨 498 500 | 叩 499 501 | 只 500 502 | 叫 501 503 | 召 502 504 | 叭 503 505 | 叮 504 506 | 可 505 507 | 台 506 508 | 叱 507 509 | 史 508 510 | 右 509 511 | 叵 510 512 | 叶 511 513 | 号 512 514 | 司 513 515 | 叹 514 516 | 叼 515 517 | 吁 516 518 | 吃 517 519 | 各 518 520 | 吆 519 521 | 合 520 522 | 吉 521 523 | 吊 522 524 | 同 523 525 | 名 524 526 | 后 525 527 | 吏 526 528 | 吐 527 529 | 向 528 530 | 吓 529 531 | 吕 530 532 | 吗 531 533 | 君 532 534 | 吝 533 535 | 吞 534 536 | 吟 535 537 | 否 536 538 | 吧 537 539 | 吨 538 540 | 吩 539 541 | 含 540 542 | 听 541 543 | 吭 542 544 | 启 543 545 | 吴 544 546 | 吵 545 547 | 吸 546 548 | 吹 547 549 | 吻 548 550 | 吼 549 551 | 吾 550 552 | 吿 551 553 | 呀 552 554 | 呃 553 555 | 呆 554 556 | 呈 555 557 | 告 556 558 | 呐 557 559 | 呕 558 560 | 呗 559 561 | 员 560 562 | 呛 561 563 | 呜 562 564 | 呢 563 565 | 呦 564 566 | 周 565 567 | 呲 566 568 | 味 567 569 | 呵 568 570 | 呼 569 571 | 命 570 572 | 咀 571 573 | 咄 572 574 | 咋 573 575 | 和 574 576 | 咎 575 577 | 咏 576 578 | 咐 577 579 | 咒 578 580 | 咔 579 581 | 咕 580 582 | 咖 581 583 | 咚 582 584 | 咣 583 585 | 咤 584 586 | 咧 585 587 | 咨 586 588 | 咪 587 589 | 咫 588 590 | 咬 589 591 | 咯 590 592 | 咱 591 593 | 咳 592 594 | 咸 593 595 | 咽 594 596 | 哀 595 597 | 品 596 598 | 哄 597 599 | 哆 598 600 | 哇 599 601 | 哈 600 602 | 哉 601 603 | 响 602 604 | 哎 603 605 | 哑 604 606 | 哒 605 607 | 哗 606 608 | 哟 607 609 | 哥 608 610 | 哦 609 611 | 哨 610 612 | 哪 611 613 | 哭 612 614 | 哲 613 615 | 哺 614 616 | 哼 615 617 | 哽 616 618 | 唁 617 619 | 唇 618 620 | 唉 619 621 | 唏 620 622 | 唐 621 623 | 唠 622 624 | 唤 623 625 | 唬 624 626 | 售 625 627 | 唯 626 628 | 唱 627 629 | 唾 628 630 | 啃 629 631 | 商 630 632 | 啊 631 633 | 啕 632 634 | 啡 633 635 | 啤 634 636 | 啥 635 637 | 啦 636 638 | 啧 637 639 | 啪 638 640 | 啬 639 641 | 啰 640 642 | 啵 641 643 | 啶 642 644 | 啸 643 645 | 啼 644 646 | 喀 645 647 | 喂 646 648 | 善 647 649 | 喆 648 650 | 喇 649 651 | 喉 650 652 | 喊 651 653 | 喔 652 654 | 喘 653 655 | 喜 654 656 | 喝 655 657 | 喧 656 658 | 喱 657 659 | 喵 658 660 | 喷 659 661 | 喻 660 662 | 喽 661 663 | 嗅 662 664 | 嗑 663 665 | 嗒 664 666 | 嗓 665 667 | 嗡 666 668 | 嗣 667 669 | 嗤 668 670 | 嗦 669 671 | 嗨 670 672 | 嗬 671 673 | 嗯 672 674 | 嗲 673 675 | 嗷 674 676 | 嗽 675 677 | 嘀 676 678 | 嘉 677 679 | 嘎 678 680 | 嘘 679 681 | 嘛 680 682 | 嘟 681 683 | 嘭 682 684 | 嘱 683 685 | 嘲 684 686 | 嘴 685 687 | 嘻 686 688 | 噎 687 689 | 器 688 690 | 噩 689 691 | 噪 690 692 | 噬 691 693 | 噱 692 694 | 噼 693 695 | 嚎 694 696 | 嚏 695 697 | 嚓 696 698 | 嚣 697 699 | 嚷 698 700 | 嚼 699 701 | 囊 700 702 | 囚 701 703 | 四 702 704 | 回 703 705 | 因 704 706 | 团 705 707 | 囤 706 708 | 囧 707 709 | 园 708 710 | 困 709 711 | 围 710 712 | 固 711 713 | 国 712 714 | 图 713 715 | 圆 714 716 | 圈 715 717 | 土 716 718 | 圣 717 719 | 在 718 720 | 圩 719 721 | 圪 720 722 | 圭 721 723 | 地 722 724 | 圳 723 725 | 场 724 726 | 圾 725 727 | 址 726 728 | 坂 727 729 | 均 728 730 | 坊 729 731 | 坍 730 732 | 坎 731 733 | 坏 732 734 | 坐 733 735 | 坑 734 736 | 块 735 737 | 坚 736 738 | 坛 737 739 | 坝 738 740 | 坞 739 741 | 坟 740 742 | 坠 741 743 | 坡 742 744 | 坤 743 745 | 坦 744 746 | 坪 745 747 | 坯 746 748 | 坷 747 749 | 垂 748 750 | 垃 749 751 | 垄 750 752 | 垅 751 753 | 型 752 754 | 垌 753 755 | 垒 754 756 | 垛 755 757 | 垢 756 758 | 垣 757 759 | 垤 758 760 | 垦 759 761 | 垫 760 762 | 垮 761 763 | 埃 762 764 | 埋 763 765 | 城 764 766 | 埔 765 767 | 埜 766 768 | 域 767 769 | 培 768 770 | 基 769 771 | 堂 770 772 | 堆 771 773 | 堕 772 774 | 堡 773 775 | 堤 774 776 | 堪 775 777 | 堰 776 778 | 堵 777 779 | 塌 778 780 | 塑 779 781 | 塔 780 782 | 塘 781 783 | 塞 782 784 | 填 783 785 | 塬 784 786 | 塾 785 787 | 境 786 788 | 墅 787 789 | 墓 788 790 | 墙 789 791 | 增 790 792 | 墟 791 793 | 墨 792 794 | 墩 793 795 | 壁 794 796 | 壑 795 797 | 壕 796 798 | 壤 797 799 | 士 798 800 | 壮 799 801 | 声 800 802 | 壳 801 803 | 壶 802 804 | 壹 803 805 | 处 804 806 | 备 805 807 | 复 806 808 | 夏 807 809 | 夕 808 810 | 外 809 811 | 夙 810 812 | 多 811 813 | 夜 812 814 | 够 813 815 | 大 814 816 | 天 815 817 | 太 816 818 | 夫 817 819 | 夭 818 820 | 央 819 821 | 夯 820 822 | 失 821 823 | 头 822 824 | 夷 823 825 | 夸 824 826 | 夹 825 827 | 夺 826 828 | 奂 827 829 | 奇 828 830 | 奈 829 831 | 奉 830 832 | 奋 831 833 | 奎 832 834 | 奏 833 835 | 契 834 836 | 奔 835 837 | 奕 836 838 | 奖 837 839 | 套 838 840 | 奘 839 841 | 奚 840 842 | 奠 841 843 | 奢 842 844 | 奥 843 845 | 女 844 846 | 奴 845 847 | 奶 846 848 | 奸 847 849 | 她 848 850 | 好 849 851 | 如 850 852 | 妃 851 853 | 妄 852 854 | 妆 853 855 | 妇 854 856 | 妈 855 857 | 妊 856 858 | 妍 857 859 | 妒 858 860 | 妖 859 861 | 妙 860 862 | 妞 861 863 | 妤 862 864 | 妥 863 865 | 妧 864 866 | 妨 865 867 | 妩 866 868 | 妮 867 869 | 妯 868 870 | 妹 869 871 | 妻 870 872 | 姆 871 873 | 姊 872 874 | 始 873 875 | 姐 874 876 | 姑 875 877 | 姓 876 878 | 委 877 879 | 姗 878 880 | 姚 879 881 | 姜 880 882 | 姝 881 883 | 姣 882 884 | 姥 883 885 | 姨 884 886 | 姬 885 887 | 姻 886 888 | 姿 887 889 | 威 888 890 | 娃 889 891 | 娄 890 892 | 娅 891 893 | 娇 892 894 | 娌 893 895 | 娘 894 896 | 娜 895 897 | 娟 896 898 | 娠 897 899 | 娥 898 900 | 娩 899 901 | 娱 900 902 | 娴 901 903 | 娶 902 904 | 娼 903 905 | 婀 904 906 | 婆 905 907 | 婉 906 908 | 婕 907 909 | 婚 908 910 | 婧 909 911 | 婪 910 912 | 婴 911 913 | 婵 912 914 | 婶 913 915 | 婷 914 916 | 婿 915 917 | 媒 916 918 | 媚 917 919 | 媛 918 920 | 媞 919 921 | 媲 920 922 | 媳 921 923 | 嫁 922 924 | 嫂 923 925 | 嫉 924 926 | 嫌 925 927 | 嫔 926 928 | 嫖 927 929 | 嫚 928 930 | 嫣 929 931 | 嫦 930 932 | 嫩 931 933 | 嬉 932 934 | 嬛 933 935 | 嬷 934 936 | 孀 935 937 | 子 936 938 | 孔 937 939 | 孕 938 940 | 字 939 941 | 存 940 942 | 孙 941 943 | 孚 942 944 | 孜 943 945 | 孝 944 946 | 孟 945 947 | 孢 946 948 | 季 947 949 | 孤 948 950 | 学 949 951 | 孩 950 952 | 孪 951 953 | 孰 952 954 | 孱 953 955 | 孵 954 956 | 孺 955 957 | 宁 956 958 | 它 957 959 | 宅 958 960 | 宇 959 961 | 守 960 962 | 安 961 963 | 宋 962 964 | 完 963 965 | 宏 964 966 | 宓 965 967 | 宕 966 968 | 宗 967 969 | 官 968 970 | 宙 969 971 | 定 970 972 | 宛 971 973 | 宜 972 974 | 宝 973 975 | 实 974 976 | 宠 975 977 | 审 976 978 | 客 977 979 | 宣 978 980 | 室 979 981 | 宦 980 982 | 宪 981 983 | 宫 982 984 | 宰 983 985 | 害 984 986 | 宴 985 987 | 宵 986 988 | 家 987 989 | 宸 988 990 | 容 989 991 | 宽 990 992 | 宾 991 993 | 宿 992 994 | 寂 993 995 | 寄 994 996 | 寅 995 997 | 密 996 998 | 寇 997 999 | 富 998 1000 | 寐 999 1001 | 寒 1000 1002 | 寓 1001 1003 | 寝 1002 1004 | 寞 1003 1005 | 察 1004 1006 | 寡 1005 1007 | 寥 1006 1008 | 寨 1007 1009 | 寮 1008 1010 | 寰 1009 1011 | 寸 1010 1012 | 对 1011 1013 | 寺 1012 1014 | 寻 1013 1015 | 导 1014 1016 | 寿 1015 1017 | 封 1016 1018 | 射 1017 1019 | 将 1018 1020 | 尊 1019 1021 | 小 1020 1022 | 少 1021 1023 | 尔 1022 1024 | 尖 1023 1025 | 尘 1024 1026 | 尚 1025 1027 | 尝 1026 1028 | 尤 1027 1029 | 尧 1028 1030 | 尬 1029 1031 | 就 1030 1032 | 尴 1031 1033 | 尸 1032 1034 | 尹 1033 1035 | 尺 1034 1036 | 尼 1035 1037 | 尽 1036 1038 | 尾 1037 1039 | 尿 1038 1040 | 局 1039 1041 | 屁 1040 1042 | 层 1041 1043 | 居 1042 1044 | 屈 1043 1045 | 届 1044 1046 | 屋 1045 1047 | 屌 1046 1048 | 屎 1047 1049 | 屏 1048 1050 | 屑 1049 1051 | 展 1050 1052 | 属 1051 1053 | 屠 1052 1054 | 屡 1053 1055 | 履 1054 1056 | 屯 1055 1057 | 山 1056 1058 | 屹 1057 1059 | 屿 1058 1060 | 岁 1059 1061 | 岂 1060 1062 | 岌 1061 1063 | 岐 1062 1064 | 岔 1063 1065 | 岖 1064 1066 | 岗 1065 1067 | 岚 1066 1068 | 岛 1067 1069 | 岩 1068 1070 | 岬 1069 1071 | 岭 1070 1072 | 岱 1071 1073 | 岳 1072 1074 | 岷 1073 1075 | 岸 1074 1076 | 峁 1075 1077 | 峙 1076 1078 | 峡 1077 1079 | 峥 1078 1080 | 峨 1079 1081 | 峪 1080 1082 | 峭 1081 1083 | 峰 1082 1084 | 峻 1083 1085 | 崂 1084 1086 | 崃 1085 1087 | 崇 1086 1088 | 崎 1087 1089 | 崔 1088 1090 | 崖 1089 1091 | 崛 1090 1092 | 崧 1091 1093 | 崩 1092 1094 | 崭 1093 1095 | 崴 1094 1096 | 嵋 1095 1097 | 嵌 1096 1098 | 嵘 1097 1099 | 嵛 1098 1100 | 嵩 1099 1101 | 嶝 1100 1102 | 巅 1101 1103 | 巍 1102 1104 | 川 1103 1105 | 州 1104 1106 | 巡 1105 1107 | 巢 1106 1108 | 工 1107 1109 | 左 1108 1110 | 巧 1109 1111 | 巨 1110 1112 | 巩 1111 1113 | 巫 1112 1114 | 差 1113 1115 | 己 1114 1116 | 已 1115 1117 | 巴 1116 1118 | 巷 1117 1119 | 巾 1118 1120 | 巿 1119 1121 | 币 1120 1122 | 市 1121 1123 | 布 1122 1124 | 帅 1123 1125 | 帆 1124 1126 | 师 1125 1127 | 希 1126 1128 | 帐 1127 1129 | 帕 1128 1130 | 帖 1129 1131 | 帘 1130 1132 | 帚 1131 1133 | 帜 1132 1134 | 帝 1133 1135 | 带 1134 1136 | 席 1135 1137 | 帮 1136 1138 | 帷 1137 1139 | 常 1138 1140 | 帼 1139 1141 | 帽 1140 1142 | 幂 1141 1143 | 幄 1142 1144 | 幅 1143 1145 | 幌 1144 1146 | 幕 1145 1147 | 幢 1146 1148 | 干 1147 1149 | 平 1148 1150 | 年 1149 1151 | 并 1150 1152 | 幸 1151 1153 | 幺 1152 1154 | 幻 1153 1155 | 幼 1154 1156 | 幽 1155 1157 | 广 1156 1158 | 庄 1157 1159 | 庆 1158 1160 | 庇 1159 1161 | 床 1160 1162 | 序 1161 1163 | 庐 1162 1164 | 库 1163 1165 | 应 1164 1166 | 底 1165 1167 | 店 1166 1168 | 庙 1167 1169 | 庚 1168 1170 | 府 1169 1171 | 庞 1170 1172 | 废 1171 1173 | 度 1172 1174 | 座 1173 1175 | 庭 1174 1176 | 庵 1175 1177 | 康 1176 1178 | 庸 1177 1179 | 庾 1178 1180 | 廉 1179 1181 | 廊 1180 1182 | 廓 1181 1183 | 廖 1182 1184 | 延 1183 1185 | 廷 1184 1186 | 建 1185 1187 | 开 1186 1188 | 异 1187 1189 | 弃 1188 1190 | 弄 1189 1191 | 弈 1190 1192 | 弊 1191 1193 | 式 1192 1194 | 弓 1193 1195 | 引 1194 1196 | 弗 1195 1197 | 弘 1196 1198 | 弛 1197 1199 | 弟 1198 1200 | 张 1199 1201 | 弥 1200 1202 | 弦 1201 1203 | 弧 1202 1204 | 弩 1203 1205 | 弯 1204 1206 | 弱 1205 1207 | 弹 1206 1208 | 强 1207 1209 | 归 1208 1210 | 当 1209 1211 | 录 1210 1212 | 彝 1211 1213 | 形 1212 1214 | 彤 1213 1215 | 彦 1214 1216 | 彩 1215 1217 | 彪 1216 1218 | 彬 1217 1219 | 彭 1218 1220 | 彰 1219 1221 | 影 1220 1222 | 彷 1221 1223 | 役 1222 1224 | 彻 1223 1225 | 彼 1224 1226 | 彿 1225 1227 | 往 1226 1228 | 征 1227 1229 | 径 1228 1230 | 待 1229 1231 | 徇 1230 1232 | 很 1231 1233 | 徉 1232 1234 | 徊 1233 1235 | 律 1234 1236 | 徐 1235 1237 | 徒 1236 1238 | 得 1237 1239 | 徘 1238 1240 | 徙 1239 1241 | 御 1240 1242 | 循 1241 1243 | 微 1242 1244 | 德 1243 1245 | 徽 1244 1246 | 心 1245 1247 | 必 1246 1248 | 忆 1247 1249 | 忌 1248 1250 | 忍 1249 1251 | 忐 1250 1252 | 忑 1251 1253 | 志 1252 1254 | 忘 1253 1255 | 忙 1254 1256 | 忠 1255 1257 | 忧 1256 1258 | 忪 1257 1259 | 快 1258 1260 | 忱 1259 1261 | 念 1260 1262 | 忽 1261 1263 | 怀 1262 1264 | 态 1263 1265 | 怂 1264 1266 | 怎 1265 1267 | 怒 1266 1268 | 怕 1267 1269 | 怖 1268 1270 | 怜 1269 1271 | 思 1270 1272 | 怠 1271 1273 | 怡 1272 1274 | 急 1273 1275 | 怦 1274 1276 | 性 1275 1277 | 怨 1276 1278 | 怪 1277 1279 | 怯 1278 1280 | 怵 1279 1281 | 总 1280 1282 | 恋 1281 1283 | 恍 1282 1284 | 恐 1283 1285 | 恒 1284 1286 | 恙 1285 1287 | 恢 1286 1288 | 恣 1287 1289 | 恤 1288 1290 | 恨 1289 1291 | 恩 1290 1292 | 恪 1291 1293 | 恬 1292 1294 | 恭 1293 1295 | 息 1294 1296 | 恰 1295 1297 | 恳 1296 1298 | 恶 1297 1299 | 恸 1298 1300 | 恺 1299 1301 | 恼 1300 1302 | 恿 1301 1303 | 悄 1302 1304 | 悉 1303 1305 | 悍 1304 1306 | 悔 1305 1307 | 悖 1306 1308 | 悚 1307 1309 | 悟 1308 1310 | 悠 1309 1311 | 患 1310 1312 | 悦 1311 1313 | 您 1312 1314 | 悬 1313 1315 | 悯 1314 1316 | 悲 1315 1317 | 悴 1316 1318 | 悸 1317 1319 | 悼 1318 1320 | 情 1319 1321 | 惊 1320 1322 | 惋 1321 1323 | 惑 1322 1324 | 惕 1323 1325 | 惚 1324 1326 | 惜 1325 1327 | 惟 1326 1328 | 惠 1327 1329 | 惦 1328 1330 | 惧 1329 1331 | 惨 1330 1332 | 惩 1331 1333 | 惫 1332 1334 | 惬 1333 1335 | 惮 1334 1336 | 惯 1335 1337 | 惰 1336 1338 | 想 1337 1339 | 惶 1338 1340 | 惹 1339 1341 | 惺 1340 1342 | 愁 1341 1343 | 愈 1342 1344 | 愉 1343 1345 | 意 1344 1346 | 愕 1345 1347 | 愚 1346 1348 | 感 1347 1349 | 愤 1348 1350 | 愧 1349 1351 | 愿 1350 1352 | 慈 1351 1353 | 慌 1352 1354 | 慎 1353 1355 | 慑 1354 1356 | 慕 1355 1357 | 慢 1356 1358 | 慧 1357 1359 | 慨 1358 1360 | 慰 1359 1361 | 慷 1360 1362 | 憋 1361 1363 | 憔 1362 1364 | 憧 1363 1365 | 憨 1364 1366 | 憩 1365 1367 | 憬 1366 1368 | 憷 1367 1369 | 憾 1368 1370 | 懂 1369 1371 | 懈 1370 1372 | 懊 1371 1373 | 懋 1372 1374 | 懒 1373 1375 | 懵 1374 1376 | 懿 1375 1377 | 戈 1376 1378 | 戎 1377 1379 | 戏 1378 1380 | 成 1379 1381 | 我 1380 1382 | 戒 1381 1383 | 或 1382 1384 | 战 1383 1385 | 戚 1384 1386 | 戛 1385 1387 | 戟 1386 1388 | 截 1387 1389 | 戬 1388 1390 | 戮 1389 1391 | 戳 1390 1392 | 戴 1391 1393 | 户 1392 1394 | 房 1393 1395 | 所 1394 1396 | 扁 1395 1397 | 扇 1396 1398 | 扉 1397 1399 | 手 1398 1400 | 才 1399 1401 | 扎 1400 1402 | 扑 1401 1403 | 扒 1402 1404 | 打 1403 1405 | 扔 1404 1406 | 托 1405 1407 | 扛 1406 1408 | 扣 1407 1409 | 执 1408 1410 | 扩 1409 1411 | 扫 1410 1412 | 扬 1411 1413 | 扭 1412 1414 | 扮 1413 1415 | 扯 1414 1416 | 扰 1415 1417 | 扳 1416 1418 | 扶 1417 1419 | 批 1418 1420 | 扼 1419 1421 | 找 1420 1422 | 承 1421 1423 | 技 1422 1424 | 抄 1423 1425 | 抉 1424 1426 | 把 1425 1427 | 抑 1426 1428 | 抒 1427 1429 | 抓 1428 1430 | 投 1429 1431 | 抖 1430 1432 | 抗 1431 1433 | 折 1432 1434 | 抚 1433 1435 | 抛 1434 1436 | 抠 1435 1437 | 抡 1436 1438 | 抢 1437 1439 | 护 1438 1440 | 报 1439 1441 | 抨 1440 1442 | 披 1441 1443 | 抬 1442 1444 | 抱 1443 1445 | 抵 1444 1446 | 抹 1445 1447 | 押 1446 1448 | 抽 1447 1449 | 抿 1448 1450 | 拄 1449 1451 | 担 1450 1452 | 拆 1451 1453 | 拇 1452 1454 | 拈 1453 1455 | 拉 1454 1456 | 拌 1455 1457 | 拍 1456 1458 | 拎 1457 1459 | 拐 1458 1460 | 拒 1459 1461 | 拓 1460 1462 | 拔 1461 1463 | 拖 1462 1464 | 拗 1463 1465 | 拘 1464 1466 | 拙 1465 1467 | 招 1466 1468 | 拜 1467 1469 | 拟 1468 1470 | 拢 1469 1471 | 拣 1470 1472 | 拥 1471 1473 | 拦 1472 1474 | 拧 1473 1475 | 拨 1474 1476 | 择 1475 1477 | 括 1476 1478 | 拭 1477 1479 | 拮 1478 1480 | 拯 1479 1481 | 拱 1480 1482 | 拳 1481 1483 | 拴 1482 1484 | 拷 1483 1485 | 拼 1484 1486 | 拽 1485 1487 | 拾 1486 1488 | 拿 1487 1489 | 持 1488 1490 | 挂 1489 1491 | 指 1490 1492 | 按 1491 1493 | 挎 1492 1494 | 挑 1493 1495 | 挖 1494 1496 | 挚 1495 1497 | 挛 1496 1498 | 挝 1497 1499 | 挟 1498 1500 | 挠 1499 1501 | 挡 1500 1502 | 挣 1501 1503 | 挤 1502 1504 | 挥 1503 1505 | 挨 1504 1506 | 挪 1505 1507 | 挫 1506 1508 | 振 1507 1509 | 挺 1508 1510 | 挽 1509 1511 | 捂 1510 1512 | 捅 1511 1513 | 捆 1512 1514 | 捉 1513 1515 | 捍 1514 1516 | 捎 1515 1517 | 捏 1516 1518 | 捐 1517 1519 | 捕 1518 1520 | 捞 1519 1521 | 损 1520 1522 | 捡 1521 1523 | 换 1522 1524 | 捣 1523 1525 | 捧 1524 1526 | 据 1525 1527 | 捷 1526 1528 | 捺 1527 1529 | 捻 1528 1530 | 掀 1529 1531 | 掂 1530 1532 | 授 1531 1533 | 掉 1532 1534 | 掌 1533 1535 | 掏 1534 1536 | 掐 1535 1537 | 排 1536 1538 | 掖 1537 1539 | 掘 1538 1540 | 掠 1539 1541 | 探 1540 1542 | 掣 1541 1543 | 接 1542 1544 | 控 1543 1545 | 推 1544 1546 | 掩 1545 1547 | 措 1546 1548 | 掬 1547 1549 | 掮 1548 1550 | 掰 1549 1551 | 掴 1550 1552 | 掷 1551 1553 | 掺 1552 1554 | 揉 1553 1555 | 揍 1554 1556 | 描 1555 1557 | 提 1556 1558 | 插 1557 1559 | 握 1558 1560 | 揣 1559 1561 | 揩 1560 1562 | 揪 1561 1563 | 揭 1562 1564 | 援 1563 1565 | 揽 1564 1566 | 搀 1565 1567 | 搁 1566 1568 | 搂 1567 1569 | 搅 1568 1570 | 搏 1569 1571 | 搜 1570 1572 | 搞 1571 1573 | 搡 1572 1574 | 搪 1573 1575 | 搬 1574 1576 | 搭 1575 1577 | 携 1576 1578 | 搽 1577 1579 | 摁 1578 1580 | 摄 1579 1581 | 摆 1580 1582 | 摇 1581 1583 | 摊 1582 1584 | 摒 1583 1585 | 摔 1584 1586 | 摘 1585 1587 | 摧 1586 1588 | 摩 1587 1589 | 摸 1588 1590 | 摹 1589 1591 | 撂 1590 1592 | 撇 1591 1593 | 撑 1592 1594 | 撒 1593 1595 | 撕 1594 1596 | 撞 1595 1597 | 撤 1596 1598 | 撩 1597 1599 | 撬 1598 1600 | 播 1599 1601 | 撮 1600 1602 | 撰 1601 1603 | 撵 1602 1604 | 撸 1603 1605 | 撼 1604 1606 | 擂 1605 1607 | 擅 1606 1608 | 操 1607 1609 | 擎 1608 1610 | 擒 1609 1611 | 擘 1610 1612 | 擞 1611 1613 | 擦 1612 1614 | 攀 1613 1615 | 攒 1614 1616 | 攥 1615 1617 | 支 1616 1618 | 收 1617 1619 | 改 1618 1620 | 攻 1619 1621 | 放 1620 1622 | 政 1621 1623 | 故 1622 1624 | 效 1623 1625 | 敌 1624 1626 | 敏 1625 1627 | 救 1626 1628 | 敖 1627 1629 | 教 1628 1630 | 敛 1629 1631 | 敝 1630 1632 | 敞 1631 1633 | 敢 1632 1634 | 散 1633 1635 | 敦 1634 1636 | 敬 1635 1637 | 数 1636 1638 | 敲 1637 1639 | 整 1638 1640 | 敷 1639 1641 | 文 1640 1642 | 斌 1641 1643 | 斐 1642 1644 | 斑 1643 1645 | 斓 1644 1646 | 斗 1645 1647 | 料 1646 1648 | 斛 1647 1649 | 斜 1648 1650 | 斟 1649 1651 | 斤 1650 1652 | 斥 1651 1653 | 斧 1652 1654 | 斩 1653 1655 | 断 1654 1656 | 斯 1655 1657 | 新 1656 1658 | 方 1657 1659 | 施 1658 1660 | 旁 1659 1661 | 旅 1660 1662 | 旋 1661 1663 | 族 1662 1664 | 旗 1663 1665 | 无 1664 1666 | 既 1665 1667 | 日 1666 1668 | 旦 1667 1669 | 旧 1668 1670 | 旨 1669 1671 | 早 1670 1672 | 旬 1671 1673 | 旭 1672 1674 | 旱 1673 1675 | 时 1674 1676 | 旷 1675 1677 | 旺 1676 1678 | 昀 1677 1679 | 昂 1678 1680 | 昆 1679 1681 | 昊 1680 1682 | 昌 1681 1683 | 明 1682 1684 | 昏 1683 1685 | 易 1684 1686 | 昔 1685 1687 | 昕 1686 1688 | 昙 1687 1689 | 星 1688 1690 | 映 1689 1691 | 春 1690 1692 | 昧 1691 1693 | 昨 1692 1694 | 昭 1693 1695 | 是 1694 1696 | 昱 1695 1697 | 昵 1696 1698 | 昼 1697 1699 | 显 1698 1700 | 晃 1699 1701 | 晋 1700 1702 | 晏 1701 1703 | 晒 1702 1704 | 晓 1703 1705 | 晔 1704 1706 | 晕 1705 1707 | 晖 1706 1708 | 晗 1707 1709 | 晚 1708 1710 | 晟 1709 1711 | 晤 1710 1712 | 晦 1711 1713 | 晨 1712 1714 | 普 1713 1715 | 景 1714 1716 | 晰 1715 1717 | 晴 1716 1718 | 晶 1717 1719 | 智 1718 1720 | 晾 1719 1721 | 暂 1720 1722 | 暄 1721 1723 | 暇 1722 1724 | 暑 1723 1725 | 暖 1724 1726 | 暗 1725 1727 | 暧 1726 1728 | 暨 1727 1729 | 暮 1728 1730 | 暴 1729 1731 | 曙 1730 1732 | 曝 1731 1733 | 曦 1732 1734 | 曰 1733 1735 | 曲 1734 1736 | 更 1735 1737 | 曹 1736 1738 | 曼 1737 1739 | 曾 1738 1740 | 替 1739 1741 | 最 1740 1742 | 月 1741 1743 | 有 1742 1744 | 朋 1743 1745 | 服 1744 1746 | 朐 1745 1747 | 朔 1746 1748 | 朗 1747 1749 | 望 1748 1750 | 朝 1749 1751 | 期 1750 1752 | 朦 1751 1753 | 木 1752 1754 | 未 1753 1755 | 末 1754 1756 | 本 1755 1757 | 札 1756 1758 | 术 1757 1759 | 朱 1758 1760 | 朴 1759 1761 | 朵 1760 1762 | 机 1761 1763 | 朽 1762 1764 | 杀 1763 1765 | 杂 1764 1766 | 权 1765 1767 | 杆 1766 1768 | 杉 1767 1769 | 李 1768 1770 | 杏 1769 1771 | 材 1770 1772 | 村 1771 1773 | 杖 1772 1774 | 杜 1773 1775 | 杞 1774 1776 | 束 1775 1777 | 杠 1776 1778 | 条 1777 1779 | 来 1778 1780 | 杨 1779 1781 | 杭 1780 1782 | 杯 1781 1783 | 杰 1782 1784 | 杳 1783 1785 | 松 1784 1786 | 板 1785 1787 | 极 1786 1788 | 构 1787 1789 | 枉 1788 1790 | 析 1789 1791 | 枕 1790 1792 | 林 1791 1793 | 枚 1792 1794 | 果 1793 1795 | 枝 1794 1796 | 枞 1795 1797 | 枢 1796 1798 | 枣 1797 1799 | 枪 1798 1800 | 枫 1799 1801 | 枭 1800 1802 | 枯 1801 1803 | 架 1802 1804 | 枷 1803 1805 | 柄 1804 1806 | 柏 1805 1807 | 某 1806 1808 | 染 1807 1809 | 柔 1808 1810 | 柜 1809 1811 | 柞 1810 1812 | 柠 1811 1813 | 查 1812 1814 | 柬 1813 1815 | 柯 1814 1816 | 柱 1815 1817 | 柳 1816 1818 | 柴 1817 1819 | 柿 1818 1820 | 栅 1819 1821 | 标 1820 1822 | 栈 1821 1823 | 栋 1822 1824 | 栏 1823 1825 | 树 1824 1826 | 栓 1825 1827 | 栖 1826 1828 | 栗 1827 1829 | 校 1828 1830 | 株 1829 1831 | 样 1830 1832 | 核 1831 1833 | 根 1832 1834 | 格 1833 1835 | 栽 1834 1836 | 栾 1835 1837 | 桂 1836 1838 | 桃 1837 1839 | 框 1838 1840 | 案 1839 1841 | 桉 1840 1842 | 桌 1841 1843 | 桎 1842 1844 | 桐 1843 1845 | 桑 1844 1846 | 桓 1845 1847 | 桔 1846 1848 | 档 1847 1849 | 桥 1848 1850 | 桦 1849 1851 | 桩 1850 1852 | 桶 1851 1853 | 梁 1852 1854 | 梅 1853 1855 | 梓 1854 1856 | 梗 1855 1857 | 梦 1856 1858 | 梧 1857 1859 | 梨 1858 1860 | 梭 1859 1861 | 梯 1860 1862 | 械 1861 1863 | 梳 1862 1864 | 梵 1863 1865 | 检 1864 1866 | 棉 1865 1867 | 棋 1866 1868 | 棍 1867 1869 | 棒 1868 1870 | 棕 1869 1871 | 棘 1870 1872 | 棚 1871 1873 | 棠 1872 1874 | 森 1873 1875 | 棱 1874 1876 | 棵 1875 1877 | 棺 1876 1878 | 椅 1877 1879 | 椋 1878 1880 | 植 1879 1881 | 椎 1880 1882 | 椒 1881 1883 | 椰 1882 1884 | 椿 1883 1885 | 楂 1884 1886 | 楔 1885 1887 | 楚 1886 1888 | 楞 1887 1889 | 楠 1888 1890 | 楣 1889 1891 | 楷 1890 1892 | 楼 1891 1893 | 概 1892 1894 | 榄 1893 1895 | 榆 1894 1896 | 榈 1895 1897 | 榉 1896 1898 | 榔 1897 1899 | 榕 1898 1900 | 榜 1899 1901 | 榨 1900 1902 | 榭 1901 1903 | 榴 1902 1904 | 榷 1903 1905 | 榻 1904 1906 | 槌 1905 1907 | 槎 1906 1908 | 槐 1907 1909 | 槛 1908 1910 | 槟 1909 1911 | 槽 1910 1912 | 槿 1911 1913 | 樊 1912 1914 | 樟 1913 1915 | 模 1914 1916 | 横 1915 1917 | 樱 1916 1918 | 橄 1917 1919 | 橘 1918 1920 | 橙 1919 1921 | 橡 1920 1922 | 橱 1921 1923 | 檀 1922 1924 | 檐 1923 1925 | 檬 1924 1926 | 欠 1925 1927 | 次 1926 1928 | 欢 1927 1929 | 欣 1928 1930 | 欧 1929 1931 | 欲 1930 1932 | 欺 1931 1933 | 款 1932 1934 | 歆 1933 1935 | 歇 1934 1936 | 歉 1935 1937 | 歌 1936 1938 | 止 1937 1939 | 正 1938 1940 | 此 1939 1941 | 步 1940 1942 | 武 1941 1943 | 歧 1942 1944 | 歪 1943 1945 | 歹 1944 1946 | 死 1945 1947 | 殃 1946 1948 | 殆 1947 1949 | 殉 1948 1950 | 殊 1949 1951 | 残 1950 1952 | 殒 1951 1953 | 殓 1952 1954 | 殖 1953 1955 | 殚 1954 1956 | 殡 1955 1957 | 殭 1956 1958 | 殴 1957 1959 | 段 1958 1960 | 殷 1959 1961 | 殿 1960 1962 | 毁 1961 1963 | 毂 1962 1964 | 毅 1963 1965 | 毋 1964 1966 | 母 1965 1967 | 每 1966 1968 | 毒 1967 1969 | 毓 1968 1970 | 比 1969 1971 | 毕 1970 1972 | 毗 1971 1973 | 毙 1972 1974 | 毛 1973 1975 | 毫 1974 1976 | 毯 1975 1977 | 毽 1976 1978 | 氏 1977 1979 | 民 1978 1980 | 氓 1979 1981 | 气 1980 1982 | 氛 1981 1983 | 氟 1982 1984 | 氢 1983 1985 | 氦 1984 1986 | 氧 1985 1987 | 氨 1986 1988 | 氪 1987 1989 | 氮 1988 1990 | 氯 1989 1991 | 氰 1990 1992 | 水 1991 1993 | 永 1992 1994 | 汀 1993 1995 | 汁 1994 1996 | 求 1995 1997 | 汇 1996 1998 | 汉 1997 1999 | 汕 1998 2000 | 汗 1999 2001 | 汛 2000 2002 | 汝 2001 2003 | 汞 2002 2004 | 江 2003 2005 | 池 2004 2006 | 污 2005 2007 | 汤 2006 2008 | 汪 2007 2009 | 汰 2008 2010 | 汲 2009 2011 | 汴 2010 2012 | 汶 2011 2013 | 汹 2012 2014 | 汽 2013 2015 | 汾 2014 2016 | 沁 2015 2017 | 沃 2016 2018 | 沅 2017 2019 | 沈 2018 2020 | 沉 2019 2021 | 沏 2020 2022 | 沐 2021 2023 | 沓 2022 2024 | 沙 2023 2025 | 沛 2024 2026 | 沟 2025 2027 | 没 2026 2028 | 沣 2027 2029 | 沥 2028 2030 | 沦 2029 2031 | 沧 2030 2032 | 沪 2031 2033 | 沫 2032 2034 | 沮 2033 2035 | 沱 2034 2036 | 河 2035 2037 | 沸 2036 2038 | 油 2037 2039 | 治 2038 2040 | 沼 2039 2041 | 沽 2040 2042 | 沾 2041 2043 | 沿 2042 2044 | 泄 2043 2045 | 泉 2044 2046 | 泊 2045 2047 | 泌 2046 2048 | 泓 2047 2049 | 泔 2048 2050 | 法 2049 2051 | 泗 2050 2052 | 泛 2051 2053 | 泞 2052 2054 | 泠 2053 2055 | 泡 2054 2056 | 波 2055 2057 | 泣 2056 2058 | 泥 2057 2059 | 注 2058 2060 | 泪 2059 2061 | 泯 2060 2062 | 泰 2061 2063 | 泱 2062 2064 | 泳 2063 2065 | 泵 2064 2066 | 泷 2065 2067 | 泸 2066 2068 | 泻 2067 2069 | 泼 2068 2070 | 泽 2069 2071 | 泾 2070 2072 | 洁 2071 2073 | 洋 2072 2074 | 洒 2073 2075 | 洗 2074 2076 | 洙 2075 2077 | 洛 2076 2078 | 洞 2077 2079 | 津 2078 2080 | 洪 2079 2081 | 洱 2080 2082 | 洲 2081 2083 | 洵 2082 2084 | 活 2083 2085 | 洼 2084 2086 | 洽 2085 2087 | 派 2086 2088 | 流 2087 2089 | 浅 2088 2090 | 浆 2089 2091 | 浇 2090 2092 | 浈 2091 2093 | 浊 2092 2094 | 测 2093 2095 | 济 2094 2096 | 浏 2095 2097 | 浑 2096 2098 | 浓 2097 2099 | 浙 2098 2100 | 浚 2099 2101 | 浦 2100 2102 | 浩 2101 2103 | 浪 2102 2104 | 浮 2103 2105 | 浴 2104 2106 | 海 2105 2107 | 浸 2106 2108 | 涂 2107 2109 | 涅 2108 2110 | 消 2109 2111 | 涉 2110 2112 | 涌 2111 2113 | 涎 2112 2114 | 涓 2113 2115 | 涕 2114 2116 | 涛 2115 2117 | 涝 2116 2118 | 涞 2117 2119 | 涠 2118 2120 | 涡 2119 2121 | 涤 2120 2122 | 润 2121 2123 | 涧 2122 2124 | 涨 2123 2125 | 涩 2124 2126 | 涮 2125 2127 | 涯 2126 2128 | 液 2127 2129 | 涵 2128 2130 | 涿 2129 2131 | 淀 2130 2132 | 淄 2131 2133 | 淆 2132 2134 | 淇 2133 2135 | 淋 2134 2136 | 淌 2135 2137 | 淑 2136 2138 | 淖 2137 2139 | 淘 2138 2140 | 淝 2139 2141 | 淞 2140 2142 | 淡 2141 2143 | 淤 2142 2144 | 淫 2143 2145 | 淮 2144 2146 | 深 2145 2147 | 淳 2146 2148 | 混 2147 2149 | 淹 2148 2150 | 添 2149 2151 | 淼 2150 2152 | 渀 2151 2153 | 清 2152 2154 | 渊 2153 2155 | 渍 2154 2156 | 渎 2155 2157 | 渐 2156 2158 | 渔 2157 2159 | 渗 2158 2160 | 渚 2159 2161 | 渝 2160 2162 | 渠 2161 2163 | 渡 2162 2164 | 渣 2163 2165 | 渤 2164 2166 | 渥 2165 2167 | 温 2166 2168 | 渭 2167 2169 | 港 2168 2170 | 渲 2169 2171 | 渴 2170 2172 | 游 2171 2173 | 渺 2172 2174 | 湃 2173 2175 | 湍 2174 2176 | 湖 2175 2177 | 湘 2176 2178 | 湛 2177 2179 | 湾 2178 2180 | 湿 2179 2181 | 溃 2180 2182 | 溅 2181 2183 | 溉 2182 2184 | 源 2183 2185 | 溜 2184 2186 | 溢 2185 2187 | 溥 2186 2188 | 溧 2187 2189 | 溪 2188 2190 | 溯 2189 2191 | 溶 2190 2192 | 溺 2191 2193 | 滁 2192 2194 | 滇 2193 2195 | 滋 2194 2196 | 滑 2195 2197 | 滔 2196 2198 | 滕 2197 2199 | 滚 2198 2200 | 滞 2199 2201 | 满 2200 2202 | 滢 2201 2203 | 滤 2202 2204 | 滥 2203 2205 | 滨 2204 2206 | 滩 2205 2207 | 滴 2206 2208 | 漂 2207 2209 | 漆 2208 2210 | 漏 2209 2211 | 漓 2210 2212 | 演 2211 2213 | 漕 2212 2214 | 漠 2213 2215 | 漩 2214 2216 | 漫 2215 2217 | 漭 2216 2218 | 漯 2217 2219 | 漱 2218 2220 | 漳 2219 2221 | 漾 2220 2222 | 潇 2221 2223 | 潘 2222 2224 | 潜 2223 2225 | 潞 2224 2226 | 潢 2225 2227 | 潭 2226 2228 | 潮 2227 2229 | 潼 2228 2230 | 澄 2229 2231 | 澈 2230 2232 | 澎 2231 2233 | 澜 2232 2234 | 澡 2233 2235 | 澳 2234 2236 | 激 2235 2237 | 濑 2236 2238 | 濒 2237 2239 | 濠 2238 2240 | 濡 2239 2241 | 濮 2240 2242 | 瀑 2241 2243 | 瀚 2242 2244 | 瀛 2243 2245 | 灌 2244 2246 | 灞 2245 2247 | 火 2246 2248 | 灭 2247 2249 | 灯 2248 2250 | 灰 2249 2251 | 灵 2250 2252 | 灶 2251 2253 | 灼 2252 2254 | 灾 2253 2255 | 灿 2254 2256 | 炅 2255 2257 | 炉 2256 2258 | 炊 2257 2259 | 炎 2258 2260 | 炒 2259 2261 | 炕 2260 2262 | 炖 2261 2263 | 炙 2262 2264 | 炜 2263 2265 | 炫 2264 2266 | 炬 2265 2267 | 炭 2266 2268 | 炮 2267 2269 | 炯 2268 2270 | 炳 2269 2271 | 炷 2270 2272 | 炸 2271 2273 | 点 2272 2274 | 炼 2273 2275 | 炽 2274 2276 | 烁 2275 2277 | 烂 2276 2278 | 烃 2277 2279 | 烈 2278 2280 | 烊 2279 2281 | 烘 2280 2282 | 烙 2281 2283 | 烟 2282 2284 | 烤 2283 2285 | 烦 2284 2286 | 烧 2285 2287 | 烨 2286 2288 | 烫 2287 2289 | 热 2288 2290 | 烯 2289 2291 | 烷 2290 2292 | 烹 2291 2293 | 烽 2292 2294 | 焉 2293 2295 | 焊 2294 2296 | 焕 2295 2297 | 焖 2296 2298 | 焘 2297 2299 | 焚 2298 2300 | 焦 2299 2301 | 焯 2300 2302 | 焰 2301 2303 | 焱 2302 2304 | 然 2303 2305 | 煊 2304 2306 | 煌 2305 2307 | 煎 2306 2308 | 煜 2307 2309 | 煞 2308 2310 | 煤 2309 2311 | 煦 2310 2312 | 照 2311 2313 | 煮 2312 2314 | 煲 2313 2315 | 熄 2314 2316 | 熊 2315 2317 | 熏 2316 2318 | 熔 2317 2319 | 熙 2318 2320 | 熟 2319 2321 | 熠 2320 2322 | 熨 2321 2323 | 熬 2322 2324 | 熹 2323 2325 | 燃 2324 2326 | 燊 2325 2327 | 燎 2326 2328 | 燕 2327 2329 | 燥 2328 2330 | 爆 2329 2331 | 爪 2330 2332 | 爬 2331 2333 | 爱 2332 2334 | 爵 2333 2335 | 父 2334 2336 | 爷 2335 2337 | 爸 2336 2338 | 爹 2337 2339 | 爽 2338 2340 | 片 2339 2341 | 版 2340 2342 | 牌 2341 2343 | 牙 2342 2344 | 牛 2343 2345 | 牟 2344 2346 | 牡 2345 2347 | 牢 2346 2348 | 牧 2347 2349 | 物 2348 2350 | 牲 2349 2351 | 牵 2350 2352 | 特 2351 2353 | 牺 2352 2354 | 牾 2353 2355 | 犀 2354 2356 | 犊 2355 2357 | 犒 2356 2358 | 犬 2357 2359 | 犯 2358 2360 | 状 2359 2361 | 犷 2360 2362 | 犹 2361 2363 | 狂 2362 2364 | 狄 2363 2365 | 狈 2364 2366 | 狐 2365 2367 | 狗 2366 2368 | 狙 2367 2369 | 狞 2368 2370 | 狠 2369 2371 | 狡 2370 2372 | 狩 2371 2373 | 独 2372 2374 | 狭 2373 2375 | 狮 2374 2376 | 狰 2375 2377 | 狱 2376 2378 | 狸 2377 2379 | 狼 2378 2380 | 猎 2379 2381 | 猖 2380 2382 | 猛 2381 2383 | 猜 2382 2384 | 猝 2383 2385 | 猥 2384 2386 | 猩 2385 2387 | 猪 2386 2388 | 猫 2387 2389 | 猬 2388 2390 | 献 2389 2391 | 猴 2390 2392 | 猾 2391 2393 | 猿 2392 2394 | 獒 2393 2395 | 獗 2394 2396 | 獾 2395 2397 | 玄 2396 2398 | 率 2397 2399 | 玉 2398 2400 | 王 2399 2401 | 玖 2400 2402 | 玛 2401 2403 | 玟 2402 2404 | 玥 2403 2405 | 玩 2404 2406 | 玫 2405 2407 | 玮 2406 2408 | 环 2407 2409 | 现 2408 2410 | 玲 2409 2411 | 玳 2410 2412 | 玺 2411 2413 | 玻 2412 2414 | 珀 2413 2415 | 珉 2414 2416 | 珊 2415 2417 | 珍 2416 2418 | 珏 2417 2419 | 珑 2418 2420 | 珜 2419 2421 | 珠 2420 2422 | 班 2421 2423 | 珮 2422 2424 | 珲 2423 2425 | 珺 2424 2426 | 球 2425 2427 | 琅 2426 2428 | 理 2427 2429 | 琉 2428 2430 | 琊 2429 2431 | 琏 2430 2432 | 琐 2431 2433 | 琛 2432 2434 | 琢 2433 2435 | 琥 2434 2436 | 琦 2435 2437 | 琪 2436 2438 | 琬 2437 2439 | 琰 2438 2440 | 琳 2439 2441 | 琴 2440 2442 | 琵 2441 2443 | 琶 2442 2444 | 琼 2443 2445 | 瑁 2444 2446 | 瑄 2445 2447 | 瑕 2446 2448 | 瑙 2447 2449 | 瑚 2448 2450 | 瑛 2449 2451 | 瑜 2450 2452 | 瑞 2451 2453 | 瑟 2452 2454 | 瑰 2453 2455 | 瑶 2454 2456 | 瑾 2455 2457 | 璀 2456 2458 | 璃 2457 2459 | 璇 2458 2460 | 璋 2459 2461 | 璐 2460 2462 | 璞 2461 2463 | 璧 2462 2464 | 璨 2463 2465 | 瓜 2464 2466 | 瓢 2465 2467 | 瓣 2466 2468 | 瓦 2467 2469 | 瓮 2468 2470 | 瓯 2469 2471 | 瓶 2470 2472 | 瓷 2471 2473 | 甄 2472 2474 | 甘 2473 2475 | 甚 2474 2476 | 甜 2475 2477 | 生 2476 2478 | 甥 2477 2479 | 用 2478 2480 | 甩 2479 2481 | 甫 2480 2482 | 甬 2481 2483 | 田 2482 2484 | 由 2483 2485 | 甲 2484 2486 | 申 2485 2487 | 电 2486 2488 | 男 2487 2489 | 甸 2488 2490 | 町 2489 2491 | 画 2490 2492 | 畅 2491 2493 | 畊 2492 2494 | 界 2493 2495 | 畏 2494 2496 | 畔 2495 2497 | 留 2496 2498 | 畜 2497 2499 | 略 2498 2500 | 番 2499 2501 | 畴 2500 2502 | 畸 2501 2503 | 畿 2502 2504 | 疃 2503 2505 | 疆 2504 2506 | 疏 2505 2507 | 疑 2506 2508 | 疗 2507 2509 | 疚 2508 2510 | 疝 2509 2511 | 疤 2510 2512 | 疫 2511 2513 | 疯 2512 2514 | 疲 2513 2515 | 疵 2514 2516 | 疹 2515 2517 | 疼 2516 2518 | 疾 2517 2519 | 病 2518 2520 | 症 2519 2521 | 痉 2520 2522 | 痊 2521 2523 | 痒 2522 2524 | 痕 2523 2525 | 痘 2524 2526 | 痛 2525 2527 | 痣 2526 2528 | 痪 2527 2529 | 痫 2528 2530 | 痰 2529 2531 | 痱 2530 2532 | 痴 2531 2533 | 痹 2532 2534 | 痼 2533 2535 | 瘀 2534 2536 | 瘁 2535 2537 | 瘟 2536 2538 | 瘠 2537 2539 | 瘤 2538 2540 | 瘦 2539 2541 | 瘩 2540 2542 | 瘪 2541 2543 | 瘫 2542 2544 | 瘸 2543 2545 | 瘾 2544 2546 | 癌 2545 2547 | 癖 2546 2548 | 癣 2547 2549 | 癫 2548 2550 | 登 2549 2551 | 白 2550 2552 | 百 2551 2553 | 皂 2552 2554 | 的 2553 2555 | 皆 2554 2556 | 皇 2555 2557 | 皋 2556 2558 | 皎 2557 2559 | 皓 2558 2560 | 皖 2559 2561 | 皙 2560 2562 | 皮 2561 2563 | 皱 2562 2564 | 盆 2563 2565 | 盈 2564 2566 | 益 2565 2567 | 盎 2566 2568 | 盐 2567 2569 | 监 2568 2570 | 盒 2569 2571 | 盔 2570 2572 | 盖 2571 2573 | 盗 2572 2574 | 盘 2573 2575 | 盛 2574 2576 | 盟 2575 2577 | 目 2576 2578 | 盯 2577 2579 | 盲 2578 2580 | 直 2579 2581 | 相 2580 2582 | 盹 2581 2583 | 盼 2582 2584 | 盾 2583 2585 | 省 2584 2586 | 眈 2585 2587 | 眉 2586 2588 | 看 2587 2589 | 真 2588 2590 | 眠 2589 2591 | 眨 2590 2592 | 眬 2591 2593 | 眯 2592 2594 | 眶 2593 2595 | 眷 2594 2596 | 眺 2595 2597 | 眼 2596 2598 | 着 2597 2599 | 睁 2598 2600 | 睐 2599 2601 | 睛 2600 2602 | 睡 2601 2603 | 督 2602 2604 | 睦 2603 2605 | 睫 2604 2606 | 睬 2605 2607 | 睹 2606 2608 | 睿 2607 2609 | 瞄 2608 2610 | 瞅 2609 2611 | 瞌 2610 2612 | 瞎 2611 2613 | 瞒 2612 2614 | 瞟 2613 2615 | 瞧 2614 2616 | 瞩 2615 2617 | 瞪 2616 2618 | 瞬 2617 2619 | 瞰 2618 2620 | 瞳 2619 2621 | 瞻 2620 2622 | 瞿 2621 2623 | 矗 2622 2624 | 矛 2623 2625 | 矜 2624 2626 | 矢 2625 2627 | 矣 2626 2628 | 知 2627 2629 | 矩 2628 2630 | 矫 2629 2631 | 短 2630 2632 | 矮 2631 2633 | 石 2632 2634 | 矶 2633 2635 | 矿 2634 2636 | 码 2635 2637 | 砂 2636 2638 | 砌 2637 2639 | 砍 2638 2640 | 砒 2639 2641 | 研 2640 2642 | 砖 2641 2643 | 砚 2642 2644 | 砝 2643 2645 | 砥 2644 2646 | 砰 2645 2647 | 砲 2646 2648 | 破 2647 2649 | 砷 2648 2650 | 砸 2649 2651 | 砺 2650 2652 | 砾 2651 2653 | 础 2652 2654 | 硅 2653 2655 | 硕 2654 2656 | 硚 2655 2657 | 硝 2656 2658 | 硫 2657 2659 | 硬 2658 2660 | 确 2659 2661 | 碉 2660 2662 | 碌 2661 2663 | 碍 2662 2664 | 碎 2663 2665 | 碑 2664 2666 | 碗 2665 2667 | 碘 2666 2668 | 碚 2667 2669 | 碟 2668 2670 | 碧 2669 2671 | 碰 2670 2672 | 碱 2671 2673 | 碳 2672 2674 | 碴 2673 2675 | 碾 2674 2676 | 磁 2675 2677 | 磅 2676 2678 | 磊 2677 2679 | 磋 2678 2680 | 磐 2679 2681 | 磕 2680 2682 | 磡 2681 2683 | 磨 2682 2684 | 磴 2683 2685 | 磷 2684 2686 | 磺 2685 2687 | 礁 2686 2688 | 示 2687 2689 | 礼 2688 2690 | 社 2689 2691 | 祁 2690 2692 | 祈 2691 2693 | 祉 2692 2694 | 祖 2693 2695 | 祛 2694 2696 | 祝 2695 2697 | 神 2696 2698 | 祠 2697 2699 | 祢 2698 2700 | 祥 2699 2701 | 票 2700 2702 | 祭 2701 2703 | 祯 2702 2704 | 祷 2703 2705 | 祸 2704 2706 | 祺 2705 2707 | 禀 2706 2708 | 禁 2707 2709 | 禄 2708 2710 | 禅 2709 2711 | 福 2710 2712 | 禧 2711 2713 | 禹 2712 2714 | 禺 2713 2715 | 离 2714 2716 | 禽 2715 2717 | 禾 2716 2718 | 秀 2717 2719 | 私 2718 2720 | 秃 2719 2721 | 秆 2720 2722 | 秉 2721 2723 | 秋 2722 2724 | 种 2723 2725 | 科 2724 2726 | 秒 2725 2727 | 秘 2726 2728 | 租 2727 2729 | 秣 2728 2730 | 秤 2729 2731 | 秦 2730 2732 | 秧 2731 2733 | 秩 2732 2734 | 积 2733 2735 | 称 2734 2736 | 秸 2735 2737 | 移 2736 2738 | 秽 2737 2739 | 稀 2738 2740 | 程 2739 2741 | 稍 2740 2742 | 税 2741 2743 | 稚 2742 2744 | 稠 2743 2745 | 稣 2744 2746 | 稳 2745 2747 | 稻 2746 2748 | 稼 2747 2749 | 稽 2748 2750 | 稿 2749 2751 | 穆 2750 2752 | 穗 2751 2753 | 穴 2752 2754 | 究 2753 2755 | 穷 2754 2756 | 空 2755 2757 | 穿 2756 2758 | 突 2757 2759 | 窃 2758 2760 | 窄 2759 2761 | 窈 2760 2762 | 窍 2761 2763 | 窑 2762 2764 | 窒 2763 2765 | 窕 2764 2766 | 窖 2765 2767 | 窗 2766 2768 | 窘 2767 2769 | 窜 2768 2770 | 窝 2769 2771 | 窟 2770 2772 | 窥 2771 2773 | 窦 2772 2774 | 窨 2773 2775 | 窿 2774 2776 | 立 2775 2777 | 竖 2776 2778 | 站 2777 2779 | 竞 2778 2780 | 竟 2779 2781 | 章 2780 2782 | 竣 2781 2783 | 童 2782 2784 | 竭 2783 2785 | 端 2784 2786 | 竲 2785 2787 | 竹 2786 2788 | 竺 2787 2789 | 竽 2788 2790 | 竿 2789 2791 | 笃 2790 2792 | 笈 2791 2793 | 笋 2792 2794 | 笑 2793 2795 | 笔 2794 2796 | 笙 2795 2797 | 笛 2796 2798 | 符 2797 2799 | 笨 2798 2800 | 第 2799 2801 | 笼 2800 2802 | 等 2801 2803 | 筋 2802 2804 | 筐 2803 2805 | 筑 2804 2806 | 筒 2805 2807 | 答 2806 2808 | 策 2807 2809 | 筛 2808 2810 | 筱 2809 2811 | 筵 2810 2812 | 筷 2811 2813 | 筹 2812 2814 | 签 2813 2815 | 简 2814 2816 | 箍 2815 2817 | 算 2816 2818 | 管 2817 2819 | 箫 2818 2820 | 箭 2819 2821 | 箱 2820 2822 | 篇 2821 2823 | 篡 2822 2824 | 篪 2823 2825 | 篮 2824 2826 | 篷 2825 2827 | 簇 2826 2828 | 簧 2827 2829 | 簸 2828 2830 | 簿 2829 2831 | 籁 2830 2832 | 籍 2831 2833 | 米 2832 2834 | 类 2833 2835 | 籽 2834 2836 | 粉 2835 2837 | 粒 2836 2838 | 粕 2837 2839 | 粗 2838 2840 | 粘 2839 2841 | 粟 2840 2842 | 粤 2841 2843 | 粥 2842 2844 | 粪 2843 2845 | 粮 2844 2846 | 粱 2845 2847 | 粹 2846 2848 | 精 2847 2849 | 糊 2848 2850 | 糕 2849 2851 | 糖 2850 2852 | 糗 2851 2853 | 糙 2852 2854 | 糟 2853 2855 | 糯 2854 2856 | 系 2855 2857 | 紊 2856 2858 | 素 2857 2859 | 索 2858 2860 | 紧 2859 2861 | 紫 2860 2862 | 累 2861 2863 | 絮 2862 2864 | 綦 2863 2865 | 繁 2864 2866 | 纠 2865 2867 | 红 2866 2868 | 纣 2867 2869 | 纤 2868 2870 | 约 2869 2871 | 级 2870 2872 | 纪 2871 2873 | 纬 2872 2874 | 纯 2873 2875 | 纰 2874 2876 | 纱 2875 2877 | 纲 2876 2878 | 纳 2877 2879 | 纵 2878 2880 | 纶 2879 2881 | 纷 2880 2882 | 纸 2881 2883 | 纹 2882 2884 | 纺 2883 2885 | 纽 2884 2886 | 线 2885 2887 | 练 2886 2888 | 组 2887 2889 | 绅 2888 2890 | 细 2889 2891 | 织 2890 2892 | 终 2891 2893 | 绊 2892 2894 | 绌 2893 2895 | 绍 2894 2896 | 绎 2895 2897 | 经 2896 2898 | 绑 2897 2899 | 绒 2898 2900 | 结 2899 2901 | 绕 2900 2902 | 绘 2901 2903 | 给 2902 2904 | 绚 2903 2905 | 络 2904 2906 | 绝 2905 2907 | 绞 2906 2908 | 统 2907 2909 | 绣 2908 2910 | 继 2909 2911 | 绩 2910 2912 | 绪 2911 2913 | 续 2912 2914 | 绮 2913 2915 | 绯 2914 2916 | 绰 2915 2917 | 绳 2916 2918 | 维 2917 2919 | 绵 2918 2920 | 绷 2919 2921 | 绸 2920 2922 | 综 2921 2923 | 绽 2922 2924 | 绿 2923 2925 | 缀 2924 2926 | 缄 2925 2927 | 缅 2926 2928 | 缆 2927 2929 | 缇 2928 2930 | 缉 2929 2931 | 缓 2930 2932 | 缔 2931 2933 | 缕 2932 2934 | 编 2933 2935 | 缘 2934 2936 | 缙 2935 2937 | 缚 2936 2938 | 缜 2937 2939 | 缝 2938 2940 | 缠 2939 2941 | 缤 2940 2942 | 缨 2941 2943 | 缩 2942 2944 | 缪 2943 2945 | 缭 2944 2946 | 缮 2945 2947 | 缰 2946 2948 | 缴 2947 2949 | 缸 2948 2950 | 缺 2949 2951 | 罂 2950 2952 | 罄 2951 2953 | 罐 2952 2954 | 网 2953 2955 | 罕 2954 2956 | 罗 2955 2957 | 罚 2956 2958 | 罡 2957 2959 | 罢 2958 2960 | 罩 2959 2961 | 罪 2960 2962 | 置 2961 2963 | 署 2962 2964 | 罹 2963 2965 | 羁 2964 2966 | 羊 2965 2967 | 美 2966 2968 | 羚 2967 2969 | 羞 2968 2970 | 羡 2969 2971 | 羣 2970 2972 | 群 2971 2973 | 羲 2972 2974 | 羹 2973 2975 | 羽 2974 2976 | 羿 2975 2977 | 翁 2976 2978 | 翅 2977 2979 | 翌 2978 2980 | 翔 2979 2981 | 翘 2980 2982 | 翟 2981 2983 | 翠 2982 2984 | 翡 2983 2985 | 翩 2984 2986 | 翰 2985 2987 | 翱 2986 2988 | 翻 2987 2989 | 翼 2988 2990 | 耀 2989 2991 | 老 2990 2992 | 考 2991 2993 | 耄 2992 2994 | 者 2993 2995 | 耋 2994 2996 | 而 2995 2997 | 耍 2996 2998 | 耐 2997 2999 | 耒 2998 3000 | 耕 2999 3001 | 耗 3000 3002 | 耘 3001 3003 | 耳 3002 3004 | 耶 3003 3005 | 耷 3004 3006 | 耸 3005 3007 | 耻 3006 3008 | 耽 3007 3009 | 耿 3008 3010 | 聂 3009 3011 | 聆 3010 3012 | 聊 3011 3013 | 聋 3012 3014 | 职 3013 3015 | 联 3014 3016 | 聘 3015 3017 | 聚 3016 3018 | 聪 3017 3019 | 肃 3018 3020 | 肆 3019 3021 | 肇 3020 3022 | 肉 3021 3023 | 肋 3022 3024 | 肌 3023 3025 | 肖 3024 3026 | 肘 3025 3027 | 肚 3026 3028 | 肛 3027 3029 | 肝 3028 3030 | 肠 3029 3031 | 股 3030 3032 | 肢 3031 3033 | 肤 3032 3034 | 肥 3033 3035 | 肩 3034 3036 | 肪 3035 3037 | 肮 3036 3038 | 肯 3037 3039 | 育 3038 3040 | 肴 3039 3041 | 肺 3040 3042 | 肾 3041 3043 | 肿 3042 3044 | 胀 3043 3045 | 胁 3044 3046 | 胃 3045 3047 | 胆 3046 3048 | 背 3047 3049 | 胎 3048 3050 | 胖 3049 3051 | 胚 3050 3052 | 胛 3051 3053 | 胜 3052 3054 | 胞 3053 3055 | 胡 3054 3056 | 胤 3055 3057 | 胧 3056 3058 | 胫 3057 3059 | 胯 3058 3060 | 胰 3059 3061 | 胱 3060 3062 | 胳 3061 3063 | 胶 3062 3064 | 胸 3063 3065 | 胺 3064 3066 | 能 3065 3067 | 脂 3066 3068 | 脆 3067 3069 | 脉 3068 3070 | 脊 3069 3071 | 脍 3070 3072 | 脏 3071 3073 | 脐 3072 3074 | 脑 3073 3075 | 脖 3074 3076 | 脚 3075 3077 | 脯 3076 3078 | 脱 3077 3079 | 脸 3078 3080 | 脾 3079 3081 | 腆 3080 3082 | 腊 3081 3083 | 腋 3082 3084 | 腌 3083 3085 | 腐 3084 3086 | 腑 3085 3087 | 腓 3086 3088 | 腔 3087 3089 | 腕 3088 3090 | 腥 3089 3091 | 腩 3090 3092 | 腰 3091 3093 | 腱 3092 3094 | 腹 3093 3095 | 腺 3094 3096 | 腻 3095 3097 | 腼 3096 3098 | 腾 3097 3099 | 腿 3098 3100 | 膀 3099 3101 | 膊 3100 3102 | 膏 3101 3103 | 膑 3102 3104 | 膛 3103 3105 | 膜 3104 3106 | 膝 3105 3107 | 膨 3106 3108 | 膳 3107 3109 | 膺 3108 3110 | 臀 3109 3111 | 臂 3110 3112 | 臃 3111 3113 | 臆 3112 3114 | 臣 3113 3115 | 自 3114 3116 | 臭 3115 3117 | 至 3116 3118 | 致 3117 3119 | 臻 3118 3120 | 舀 3119 3121 | 舅 3120 3122 | 舆 3121 3123 | 舌 3122 3124 | 舍 3123 3125 | 舒 3124 3126 | 舛 3125 3127 | 舜 3126 3128 | 舞 3127 3129 | 舟 3128 3130 | 航 3129 3131 | 般 3130 3132 | 舰 3131 3133 | 舱 3132 3134 | 舵 3133 3135 | 舶 3134 3136 | 舸 3135 3137 | 船 3136 3138 | 艇 3137 3139 | 艋 3138 3140 | 艘 3139 3141 | 良 3140 3142 | 艰 3141 3143 | 色 3142 3144 | 艳 3143 3145 | 艺 3144 3146 | 艾 3145 3147 | 节 3146 3148 | 芊 3147 3149 | 芋 3148 3150 | 芒 3149 3151 | 芙 3150 3152 | 芜 3151 3153 | 芝 3152 3154 | 芦 3153 3155 | 芬 3154 3156 | 芭 3155 3157 | 芮 3156 3158 | 芯 3157 3159 | 花 3158 3160 | 芳 3159 3161 | 芷 3160 3162 | 芸 3161 3163 | 芽 3162 3164 | 苇 3163 3165 | 苍 3164 3166 | 苏 3165 3167 | 苑 3166 3168 | 苗 3167 3169 | 苛 3168 3170 | 苟 3169 3171 | 苡 3170 3172 | 苣 3171 3173 | 若 3172 3174 | 苦 3173 3175 | 苯 3174 3176 | 英 3175 3177 | 苹 3176 3178 | 茁 3177 3179 | 茂 3178 3180 | 范 3179 3181 | 茄 3180 3182 | 茅 3181 3183 | 茆 3182 3184 | 茎 3183 3185 | 茗 3184 3186 | 茜 3185 3187 | 茨 3186 3188 | 茫 3187 3189 | 茵 3188 3190 | 茶 3189 3191 | 茸 3190 3192 | 茹 3191 3193 | 荃 3192 3194 | 荆 3193 3195 | 草 3194 3196 | 荐 3195 3197 | 荒 3196 3198 | 荔 3197 3199 | 荚 3198 3200 | 荞 3199 3201 | 荟 3200 3202 | 荡 3201 3203 | 荣 3202 3204 | 荤 3203 3205 | 荧 3204 3206 | 荫 3205 3207 | 药 3206 3208 | 荷 3207 3209 | 荼 3208 3210 | 莅 3209 3211 | 莆 3210 3212 | 莉 3211 3213 | 莎 3212 3214 | 莓 3213 3215 | 莘 3214 3216 | 莞 3215 3217 | 莠 3216 3218 | 莫 3217 3219 | 莱 3218 3220 | 莲 3219 3221 | 莴 3220 3222 | 获 3221 3223 | 莹 3222 3224 | 莺 3223 3225 | 莽 3224 3226 | 菁 3225 3227 | 菇 3226 3228 | 菊 3227 3229 | 菌 3228 3230 | 菜 3229 3231 | 菠 3230 3232 | 菡 3231 3233 | 菩 3232 3234 | 菱 3233 3235 | 菲 3234 3236 | 萃 3235 3237 | 萄 3236 3238 | 萋 3237 3239 | 萌 3238 3240 | 萍 3239 3241 | 萎 3240 3242 | 萝 3241 3243 | 萤 3242 3244 | 营 3243 3245 | 萦 3244 3246 | 萧 3245 3247 | 萨 3246 3248 | 萱 3247 3249 | 落 3248 3250 | 葆 3249 3251 | 著 3250 3252 | 葛 3251 3253 | 葡 3252 3254 | 董 3253 3255 | 葩 3254 3256 | 葫 3255 3257 | 葬 3256 3258 | 葱 3257 3259 | 葵 3258 3260 | 蒂 3259 3261 | 蒋 3260 3262 | 蒙 3261 3263 | 蒜 3262 3264 | 蒲 3263 3265 | 蒸 3264 3266 | 蒿 3265 3267 | 蓁 3266 3268 | 蓄 3267 3269 | 蓉 3268 3270 | 蓝 3269 3271 | 蓟 3270 3272 | 蓬 3271 3273 | 蔑 3272 3274 | 蔓 3273 3275 | 蔗 3274 3276 | 蔚 3275 3277 | 蔡 3276 3278 | 蔫 3277 3279 | 蔬 3278 3280 | 蔷 3279 3281 | 蔺 3280 3282 | 蔽 3281 3283 | 蕉 3282 3284 | 蕊 3283 3285 | 蕙 3284 3286 | 蕲 3285 3287 | 蕴 3286 3288 | 蕾 3287 3289 | 薄 3288 3290 | 薇 3289 3291 | 薛 3290 3292 | 薪 3291 3293 | 薯 3292 3294 | 薰 3293 3295 | 藏 3294 3296 | 藜 3295 3297 | 藤 3296 3298 | 藩 3297 3299 | 藻 3298 3300 | 蘑 3299 3301 | 虎 3300 3302 | 虐 3301 3303 | 虑 3302 3304 | 虚 3303 3305 | 虞 3304 3306 | 虫 3305 3307 | 虱 3306 3308 | 虹 3307 3309 | 虽 3308 3310 | 虾 3309 3311 | 蚀 3310 3312 | 蚁 3311 3313 | 蚂 3312 3314 | 蚊 3313 3315 | 蚌 3314 3316 | 蚓 3315 3317 | 蚕 3316 3318 | 蚝 3317 3319 | 蚣 3318 3320 | 蚯 3319 3321 | 蛀 3320 3322 | 蛇 3321 3323 | 蛋 3322 3324 | 蛐 3323 3325 | 蛙 3324 3326 | 蛛 3325 3327 | 蛟 3326 3328 | 蛮 3327 3329 | 蛰 3328 3330 | 蜀 3329 3331 | 蜂 3330 3332 | 蜇 3331 3333 | 蜈 3332 3334 | 蜊 3333 3335 | 蜒 3334 3336 | 蜓 3335 3337 | 蜕 3336 3338 | 蜘 3337 3339 | 蜚 3338 3340 | 蜜 3339 3341 | 蜡 3340 3342 | 蜥 3341 3343 | 蜴 3342 3344 | 蜷 3343 3345 | 蜿 3344 3346 | 蝇 3345 3347 | 蝉 3346 3348 | 蝎 3347 3349 | 蝗 3348 3350 | 蝙 3349 3351 | 蝠 3350 3352 | 蝴 3351 3353 | 蝶 3352 3354 | 螂 3353 3355 | 螃 3354 3356 | 融 3355 3357 | 螳 3356 3358 | 螺 3357 3359 | 蟑 3358 3360 | 蟹 3359 3361 | 蠢 3360 3362 | 血 3361 3363 | 衅 3362 3364 | 行 3363 3365 | 衍 3364 3366 | 衔 3365 3367 | 街 3366 3368 | 衙 3367 3369 | 衡 3368 3370 | 衣 3369 3371 | 补 3370 3372 | 表 3371 3373 | 衫 3372 3374 | 衬 3373 3375 | 衰 3374 3376 | 衷 3375 3377 | 袁 3376 3378 | 袂 3377 3379 | 袄 3378 3380 | 袆 3379 3381 | 袈 3380 3382 | 袋 3381 3383 | 袍 3382 3384 | 袒 3383 3385 | 袖 3384 3386 | 袜 3385 3387 | 被 3386 3388 | 袭 3387 3389 | 袱 3388 3390 | 裁 3389 3391 | 裂 3390 3392 | 装 3391 3393 | 裆 3392 3394 | 裔 3393 3395 | 裕 3394 3396 | 裙 3395 3397 | 裟 3396 3398 | 裤 3397 3399 | 裳 3398 3400 | 裴 3399 3401 | 裸 3400 3402 | 裹 3401 3403 | 褂 3402 3404 | 褒 3403 3405 | 褓 3404 3406 | 褚 3405 3407 | 褛 3406 3408 | 褪 3407 3409 | 褴 3408 3410 | 褶 3409 3411 | 襁 3410 3412 | 襄 3411 3413 | 襟 3412 3414 | 西 3413 3415 | 要 3414 3416 | 覃 3415 3417 | 覆 3416 3418 | 见 3417 3419 | 观 3418 3420 | 规 3419 3421 | 觅 3420 3422 | 视 3421 3423 | 览 3422 3424 | 觉 3423 3425 | 觊 3424 3426 | 觎 3425 3427 | 觐 3426 3428 | 觑 3427 3429 | 角 3428 3430 | 解 3429 3431 | 觥 3430 3432 | 触 3431 3433 | 言 3432 3434 | 詹 3433 3435 | 誉 3434 3436 | 誓 3435 3437 | 警 3436 3438 | 譬 3437 3439 | 计 3438 3440 | 订 3439 3441 | 认 3440 3442 | 讧 3441 3443 | 讨 3442 3444 | 让 3443 3445 | 讪 3444 3446 | 训 3445 3447 | 议 3446 3448 | 讯 3447 3449 | 记 3448 3450 | 讲 3449 3451 | 讳 3450 3452 | 讶 3451 3453 | 许 3452 3454 | 讹 3453 3455 | 论 3454 3456 | 讼 3455 3457 | 讽 3456 3458 | 设 3457 3459 | 访 3458 3460 | 诀 3459 3461 | 证 3460 3462 | 评 3461 3463 | 诅 3462 3464 | 识 3463 3465 | 诈 3464 3466 | 诉 3465 3467 | 诊 3466 3468 | 词 3467 3469 | 译 3468 3470 | 诓 3469 3471 | 试 3470 3472 | 诗 3471 3473 | 诙 3472 3474 | 诚 3473 3475 | 话 3474 3476 | 诞 3475 3477 | 诟 3476 3478 | 诠 3477 3479 | 诡 3478 3480 | 询 3479 3481 | 该 3480 3482 | 详 3481 3483 | 诧 3482 3484 | 诩 3483 3485 | 诫 3484 3486 | 诬 3485 3487 | 语 3486 3488 | 误 3487 3489 | 诱 3488 3490 | 诲 3489 3491 | 说 3490 3492 | 诵 3491 3493 | 诶 3492 3494 | 请 3493 3495 | 诸 3494 3496 | 诺 3495 3497 | 读 3496 3498 | 诽 3497 3499 | 课 3498 3500 | 诿 3499 3501 | 谀 3500 3502 | 谁 3501 3503 | 调 3502 3504 | 谅 3503 3505 | 谈 3504 3506 | 谊 3505 3507 | 谋 3506 3508 | 谌 3507 3509 | 谍 3508 3510 | 谎 3509 3511 | 谐 3510 3512 | 谑 3511 3513 | 谓 3512 3514 | 谕 3513 3515 | 谙 3514 3516 | 谚 3515 3517 | 谜 3516 3518 | 谢 3517 3519 | 谣 3518 3520 | 谤 3519 3521 | 谦 3520 3522 | 谨 3521 3523 | 谩 3522 3524 | 谬 3523 3525 | 谭 3524 3526 | 谱 3525 3527 | 谴 3526 3528 | 谷 3527 3529 | 豁 3528 3530 | 豆 3529 3531 | 豚 3530 3532 | 象 3531 3533 | 豪 3532 3534 | 豫 3533 3535 | 豹 3534 3536 | 貅 3535 3537 | 貉 3536 3538 | 貌 3537 3539 | 貔 3538 3540 | 贝 3539 3541 | 贞 3540 3542 | 负 3541 3543 | 贡 3542 3544 | 财 3543 3545 | 责 3544 3546 | 贤 3545 3547 | 败 3546 3548 | 账 3547 3549 | 货 3548 3550 | 质 3549 3551 | 贩 3550 3552 | 贪 3551 3553 | 贫 3552 3554 | 贬 3553 3555 | 购 3554 3556 | 贮 3555 3557 | 贯 3556 3558 | 贱 3557 3559 | 贴 3558 3560 | 贵 3559 3561 | 贷 3560 3562 | 贸 3561 3563 | 费 3562 3564 | 贺 3563 3565 | 贼 3564 3566 | 贾 3565 3567 | 贿 3566 3568 | 赁 3567 3569 | 赂 3568 3570 | 赃 3569 3571 | 资 3570 3572 | 赋 3571 3573 | 赌 3572 3574 | 赎 3573 3575 | 赏 3574 3576 | 赐 3575 3577 | 赔 3576 3578 | 赖 3577 3579 | 赘 3578 3580 | 赚 3579 3581 | 赛 3580 3582 | 赝 3581 3583 | 赞 3582 3584 | 赠 3583 3585 | 赡 3584 3586 | 赢 3585 3587 | 赣 3586 3588 | 赤 3587 3589 | 赦 3588 3590 | 赫 3589 3591 | 走 3590 3592 | 赴 3591 3593 | 赵 3592 3594 | 赶 3593 3595 | 起 3594 3596 | 趁 3595 3597 | 超 3596 3598 | 越 3597 3599 | 趋 3598 3600 | 趟 3599 3601 | 趣 3600 3602 | 足 3601 3603 | 趴 3602 3604 | 趸 3603 3605 | 趾 3604 3606 | 跃 3605 3607 | 跄 3606 3608 | 跆 3607 3609 | 跌 3608 3610 | 跑 3609 3611 | 跛 3610 3612 | 距 3611 3613 | 跟 3612 3614 | 跤 3613 3615 | 跨 3614 3616 | 跪 3615 3617 | 路 3616 3618 | 跳 3617 3619 | 践 3618 3620 | 跷 3619 3621 | 跺 3620 3622 | 跻 3621 3623 | 踉 3622 3624 | 踊 3623 3625 | 踏 3624 3626 | 踝 3625 3627 | 踞 3626 3628 | 踢 3627 3629 | 踩 3628 3630 | 踪 3629 3631 | 踵 3630 3632 | 踹 3631 3633 | 蹂 3632 3634 | 蹄 3633 3635 | 蹈 3634 3636 | 蹊 3635 3637 | 蹚 3636 3638 | 蹦 3637 3639 | 蹬 3638 3640 | 蹭 3639 3641 | 蹲 3640 3642 | 蹴 3641 3643 | 蹶 3642 3644 | 蹼 3643 3645 | 蹿 3644 3646 | 躁 3645 3647 | 躏 3646 3648 | 身 3647 3649 | 躬 3648 3650 | 躯 3649 3651 | 躲 3650 3652 | 躺 3651 3653 | 车 3652 3654 | 轧 3653 3655 | 轨 3654 3656 | 轩 3655 3657 | 转 3656 3658 | 轮 3657 3659 | 软 3658 3660 | 轰 3659 3661 | 轴 3660 3662 | 轶 3661 3663 | 轻 3662 3664 | 载 3663 3665 | 轿 3664 3666 | 较 3665 3667 | 辄 3666 3668 | 辅 3667 3669 | 辆 3668 3670 | 辈 3669 3671 | 辉 3670 3672 | 辍 3671 3673 | 辐 3672 3674 | 辑 3673 3675 | 输 3674 3676 | 辖 3675 3677 | 辗 3676 3678 | 辘 3677 3679 | 辙 3678 3680 | 辛 3679 3681 | 辜 3680 3682 | 辞 3681 3683 | 辟 3682 3684 | 辣 3683 3685 | 辨 3684 3686 | 辩 3685 3687 | 辫 3686 3688 | 辰 3687 3689 | 辱 3688 3690 | 边 3689 3691 | 辽 3690 3692 | 达 3691 3693 | 迁 3692 3694 | 迂 3693 3695 | 迄 3694 3696 | 迅 3695 3697 | 过 3696 3698 | 迈 3697 3699 | 迎 3698 3700 | 运 3699 3701 | 近 3700 3702 | 返 3701 3703 | 还 3702 3704 | 这 3703 3705 | 进 3704 3706 | 远 3705 3707 | 违 3706 3708 | 连 3707 3709 | 迟 3708 3710 | 迢 3709 3711 | 迥 3710 3712 | 迪 3711 3713 | 迫 3712 3714 | 迭 3713 3715 | 述 3714 3716 | 迷 3715 3717 | 迸 3716 3718 | 迹 3717 3719 | 追 3718 3720 | 退 3719 3721 | 送 3720 3722 | 适 3721 3723 | 逃 3722 3724 | 逅 3723 3725 | 逆 3724 3726 | 选 3725 3727 | 逊 3726 3728 | 逍 3727 3729 | 透 3728 3730 | 逐 3729 3731 | 递 3730 3732 | 途 3731 3733 | 逗 3732 3734 | 通 3733 3735 | 逛 3734 3736 | 逝 3735 3737 | 逞 3736 3738 | 速 3737 3739 | 造 3738 3740 | 逡 3739 3741 | 逢 3740 3742 | 逮 3741 3743 | 逵 3742 3744 | 逸 3743 3745 | 逻 3744 3746 | 逼 3745 3747 | 逾 3746 3748 | 遁 3747 3749 | 遂 3748 3750 | 遇 3749 3751 | 遍 3750 3752 | 遏 3751 3753 | 遐 3752 3754 | 道 3753 3755 | 遗 3754 3756 | 遛 3755 3757 | 遢 3756 3758 | 遣 3757 3759 | 遥 3758 3760 | 遨 3759 3761 | 遭 3760 3762 | 遮 3761 3763 | 遴 3762 3764 | 遵 3763 3765 | 避 3764 3766 | 邀 3765 3767 | 邂 3766 3768 | 邃 3767 3769 | 邋 3768 3770 | 邑 3769 3771 | 邓 3770 3772 | 邛 3771 3773 | 邝 3772 3774 | 邢 3773 3775 | 那 3774 3776 | 邦 3775 3777 | 邪 3776 3778 | 邬 3777 3779 | 邮 3778 3780 | 邯 3779 3781 | 邱 3780 3782 | 邵 3781 3783 | 邹 3782 3784 | 邺 3783 3785 | 邻 3784 3786 | 郁 3785 3787 | 郊 3786 3788 | 郎 3787 3789 | 郑 3788 3790 | 郜 3789 3791 | 郝 3790 3792 | 郡 3791 3793 | 部 3792 3794 | 郫 3793 3795 | 郭 3794 3796 | 郸 3795 3797 | 都 3796 3798 | 鄂 3797 3799 | 鄙 3798 3800 | 鄞 3799 3801 | 鄢 3800 3802 | 酋 3801 3803 | 酌 3802 3804 | 配 3803 3805 | 酒 3804 3806 | 酗 3805 3807 | 酝 3806 3808 | 酣 3807 3809 | 酪 3808 3810 | 酬 3809 3811 | 酯 3810 3812 | 酱 3811 3813 | 酵 3812 3814 | 酶 3813 3815 | 酷 3814 3816 | 酸 3815 3817 | 酿 3816 3818 | 醇 3817 3819 | 醉 3818 3820 | 醋 3819 3821 | 醍 3820 3822 | 醐 3821 3823 | 醒 3822 3824 | 醛 3823 3825 | 采 3824 3826 | 釉 3825 3827 | 释 3826 3828 | 里 3827 3829 | 重 3828 3830 | 野 3829 3831 | 量 3830 3832 | 金 3831 3833 | 釜 3832 3834 | 鉴 3833 3835 | 鏖 3834 3836 | 鑫 3835 3837 | 针 3836 3838 | 钉 3837 3839 | 钊 3838 3840 | 钓 3839 3841 | 钛 3840 3842 | 钝 3841 3843 | 钞 3842 3844 | 钟 3843 3845 | 钠 3844 3846 | 钢 3845 3847 | 钥 3846 3848 | 钦 3847 3849 | 钧 3848 3850 | 钩 3849 3851 | 钮 3850 3852 | 钰 3851 3853 | 钱 3852 3854 | 钵 3853 3855 | 钻 3854 3856 | 钾 3855 3857 | 铀 3856 3858 | 铁 3857 3859 | 铂 3858 3860 | 铃 3859 3861 | 铅 3860 3862 | 铆 3861 3863 | 铉 3862 3864 | 铎 3863 3865 | 铐 3864 3866 | 铜 3865 3867 | 铝 3866 3868 | 铠 3867 3869 | 铣 3868 3870 | 铨 3869 3871 | 铬 3870 3872 | 铭 3871 3873 | 铮 3872 3874 | 铰 3873 3875 | 铲 3874 3876 | 银 3875 3877 | 铸 3876 3878 | 铺 3877 3879 | 链 3878 3880 | 铿 3879 3881 | 销 3880 3882 | 锁 3881 3883 | 锂 3882 3884 | 锄 3883 3885 | 锅 3884 3886 | 锆 3885 3887 | 锈 3886 3888 | 锋 3887 3889 | 锌 3888 3890 | 锏 3889 3891 | 锐 3890 3892 | 错 3891 3893 | 锜 3892 3894 | 锟 3893 3895 | 锡 3894 3896 | 锢 3895 3897 | 锣 3896 3898 | 锤 3897 3899 | 锥 3898 3900 | 锦 3899 3901 | 锭 3900 3902 | 键 3901 3903 | 锯 3902 3904 | 锰 3903 3905 | 锵 3904 3906 | 锷 3905 3907 | 锹 3906 3908 | 锻 3907 3909 | 镀 3908 3910 | 镁 3909 3911 | 镇 3910 3912 | 镉 3911 3913 | 镊 3912 3914 | 镍 3913 3915 | 镑 3914 3916 | 镖 3915 3917 | 镜 3916 3918 | 镯 3917 3919 | 镳 3918 3920 | 镶 3919 3921 | 长 3920 3922 | 门 3921 3923 | 闪 3922 3924 | 闫 3923 3925 | 闭 3924 3926 | 问 3925 3927 | 闯 3926 3928 | 闰 3927 3929 | 闲 3928 3930 | 闳 3929 3931 | 间 3930 3932 | 闵 3931 3933 | 闷 3932 3934 | 闸 3933 3935 | 闹 3934 3936 | 闺 3935 3937 | 闻 3936 3938 | 闽 3937 3939 | 阀 3938 3940 | 阁 3939 3941 | 阂 3940 3942 | 阅 3941 3943 | 阎 3942 3944 | 阐 3943 3945 | 阔 3944 3946 | 阙 3945 3947 | 阚 3946 3948 | 阜 3947 3949 | 队 3948 3950 | 阮 3949 3951 | 阱 3950 3952 | 防 3951 3953 | 阳 3952 3954 | 阴 3953 3955 | 阵 3954 3956 | 阶 3955 3957 | 阻 3956 3958 | 阿 3957 3959 | 陀 3958 3960 | 陂 3959 3961 | 附 3960 3962 | 际 3961 3963 | 陆 3962 3964 | 陈 3963 3965 | 陋 3964 3966 | 陌 3965 3967 | 降 3966 3968 | 限 3967 3969 | 陕 3968 3970 | 陡 3969 3971 | 院 3970 3972 | 除 3971 3973 | 陨 3972 3974 | 险 3973 3975 | 陪 3974 3976 | 陬 3975 3977 | 陵 3976 3978 | 陶 3977 3979 | 陷 3978 3980 | 隅 3979 3981 | 隆 3980 3982 | 隋 3981 3983 | 隍 3982 3984 | 随 3983 3985 | 隐 3984 3986 | 隔 3985 3987 | 隘 3986 3988 | 隙 3987 3989 | 障 3988 3990 | 隧 3989 3991 | 隶 3990 3992 | 隼 3991 3993 | 隽 3992 3994 | 难 3993 3995 | 雀 3994 3996 | 雁 3995 3997 | 雄 3996 3998 | 雅 3997 3999 | 集 3998 4000 | 雇 3999 4001 | 雌 4000 4002 | 雍 4001 4003 | 雏 4002 4004 | 雕 4003 4005 | 雨 4004 4006 | 雪 4005 4007 | 雯 4006 4008 | 雳 4007 4009 | 零 4008 4010 | 雷 4009 4011 | 雾 4010 4012 | 需 4011 4013 | 霁 4012 4014 | 霄 4013 4015 | 霆 4014 4016 | 震 4015 4017 | 霈 4016 4018 | 霉 4017 4019 | 霍 4018 4020 | 霎 4019 4021 | 霏 4020 4022 | 霖 4021 4023 | 霜 4022 4024 | 霞 4023 4025 | 露 4024 4026 | 霸 4025 4027 | 霹 4026 4028 | 霾 4027 4029 | 靑 4028 4030 | 青 4029 4031 | 靓 4030 4032 | 靖 4031 4033 | 静 4032 4034 | 靛 4033 4035 | 非 4034 4036 | 靠 4035 4037 | 靡 4036 4038 | 面 4037 4039 | 革 4038 4040 | 靳 4039 4041 | 靴 4040 4042 | 靶 4041 4043 | 鞋 4042 4044 | 鞍 4043 4045 | 鞘 4044 4046 | 鞠 4045 4047 | 鞭 4046 4048 | 韦 4047 4049 | 韧 4048 4050 | 韩 4049 4051 | 韬 4050 4052 | 音 4051 4053 | 韵 4052 4054 | 韶 4053 4055 | 页 4054 4056 | 顶 4055 4057 | 顷 4056 4058 | 项 4057 4059 | 顺 4058 4060 | 须 4059 4061 | 顽 4060 4062 | 顾 4061 4063 | 顿 4062 4064 | 颁 4063 4065 | 颂 4064 4066 | 预 4065 4067 | 颅 4066 4068 | 领 4067 4069 | 颇 4068 4070 | 颈 4069 4071 | 颊 4070 4072 | 颍 4071 4073 | 颐 4072 4074 | 频 4073 4075 | 颓 4074 4076 | 颖 4075 4077 | 颗 4076 4078 | 题 4077 4079 | 颚 4078 4080 | 颜 4079 4081 | 额 4080 4082 | 颠 4081 4083 | 颤 4082 4084 | 风 4083 4085 | 飒 4084 4086 | 飓 4085 4087 | 飘 4086 4088 | 飙 4087 4089 | 飚 4088 4090 | 飞 4089 4091 | 食 4090 4092 | 餐 4091 4093 | 餮 4092 4094 | 饕 4093 4095 | 饥 4094 4096 | 饪 4095 4097 | 饭 4096 4098 | 饮 4097 4099 | 饰 4098 4100 | 饱 4099 4101 | 饲 4100 4102 | 饵 4101 4103 | 饶 4102 4104 | 饺 4103 4105 | 饼 4104 4106 | 饽 4105 4107 | 饿 4106 4108 | 馀 4107 4109 | 馅 4108 4110 | 馆 4109 4111 | 馈 4110 4112 | 馊 4111 4113 | 馋 4112 4114 | 馑 4113 4115 | 馒 4114 4116 | 首 4115 4117 | 馗 4116 4118 | 香 4117 4119 | 馥 4118 4120 | 馨 4119 4121 | 马 4120 4122 | 驭 4121 4123 | 驯 4122 4124 | 驰 4123 4125 | 驱 4124 4126 | 驳 4125 4127 | 驴 4126 4128 | 驶 4127 4129 | 驻 4128 4130 | 驼 4129 4131 | 驾 4130 4132 | 驿 4131 4133 | 骁 4132 4134 | 骂 4133 4135 | 骄 4134 4136 | 骅 4135 4137 | 骆 4136 4138 | 骇 4137 4139 | 骊 4138 4140 | 骋 4139 4141 | 验 4140 4142 | 骏 4141 4143 | 骐 4142 4144 | 骑 4143 4145 | 骗 4144 4146 | 骚 4145 4147 | 骜 4146 4148 | 骤 4147 4149 | 骥 4148 4150 | 骨 4149 4151 | 骷 4150 4152 | 骸 4151 4153 | 骼 4152 4154 | 髅 4153 4155 | 髋 4154 4156 | 髓 4155 4157 | 高 4156 4158 | 髦 4157 4159 | 鬼 4158 4160 | 魁 4159 4161 | 魂 4160 4162 | 魄 4161 4163 | 魅 4162 4164 | 魇 4163 4165 | 魏 4164 4166 | 魔 4165 4167 | 鱼 4166 4168 | 鲁 4167 4169 | 鲍 4168 4170 | 鲜 4169 4171 | 鲟 4170 4172 | 鲨 4171 4173 | 鲶 4172 4174 | 鲷 4173 4175 | 鲸 4174 4176 | 鳄 4175 4177 | 鳅 4176 4178 | 鳌 4177 4179 | 鳖 4178 4180 | 鳝 4179 4181 | 鳞 4180 4182 | 鸟 4181 4183 | 鸠 4182 4184 | 鸡 4183 4185 | 鸣 4184 4186 | 鸥 4185 4187 | 鸦 4186 4188 | 鸭 4187 4189 | 鸯 4188 4190 | 鸳 4189 4191 | 鸵 4190 4192 | 鸽 4191 4193 | 鸾 4192 4194 | 鸿 4193 4195 | 鹃 4194 4196 | 鹅 4195 4197 | 鹊 4196 4198 | 鹏 4197 4199 | 鹜 4198 4200 | 鹞 4199 4201 | 鹤 4200 4202 | 鹭 4201 4203 | 鹰 4202 4204 | 鹿 4203 4205 | 麋 4204 4206 | 麒 4205 4207 | 麓 4206 4208 | 麟 4207 4209 | 麦 4208 4210 | 麻 4209 4211 | 麾 4210 4212 | 黄 4211 4213 | 黍 4212 4214 | 黎 4213 4215 | 黏 4214 4216 | 黑 4215 4217 | 黔 4216 4218 | 默 4217 4219 | 黛 4218 4220 | 黝 4219 4221 | 黯 4220 4222 | 鼎 4221 4223 | 鼓 4222 4224 | 鼠 4223 4225 | 鼻 4224 4226 | 鼾 4225 4227 | 齐 4226 4228 | 齿 4227 4229 | 龄 4228 4230 | 龙 4229 4231 | 龚 4230 4232 | 龟 4231 4233 | 4232 4234 | -------------------------------------------------------------------------------- /wenet/ssl/bestrq/bestqr_model.py: -------------------------------------------------------------------------------- 1 | from typing import Optional, Tuple 2 | import torch 3 | 4 | from wenet.ssl.bestrq.mask import compute_mask_indices 5 | from wenet.utils.mask import make_pad_mask 6 | 7 | 8 | class BestRQModel(torch.nn.Module): 9 | 10 | def __init__( 11 | self, 12 | encoder: torch.nn.Module, 13 | num_mel_bins: int = 80, 14 | input_dim: int = 256, 15 | norm_input: bool = True, 16 | embedding_dim: int = 16, 17 | num_embeddings: int = 8192, 18 | num_codebooks: int = 1, 19 | mask_prob: float = 0.01, 20 | mask_length: int = 10, 21 | min_masks: int = 2, 22 | norm_epsilon: float = 1e-5, 23 | mask_signal: bool = False, 24 | dropout_rate: float = 0.1, 25 | ) -> None: 26 | super().__init__() 27 | 28 | assert mask_prob > 0.0 29 | 30 | self.mask_prob = mask_prob 31 | # NOTE: should filter audio less than mask_length 32 | self.mask_length = mask_length 33 | self.min_masks = min_masks 34 | 35 | self.num_codebooks = num_codebooks 36 | # encoder 37 | self.encoder = encoder 38 | self.encoder_top_n_out = torch.nn.parameter.Parameter( 39 | torch.Tensor(self.num_codebooks, self.encoder.output_size(), 40 | num_embeddings)) 41 | # mask embedding 42 | mask_embedding_dim = num_mel_bins if mask_signal else input_dim 43 | self.mask_emb = torch.nn.parameter.Parameter( 44 | torch.Tensor(mask_embedding_dim), requires_grad=True) 45 | torch.nn.init.trunc_normal_(self.mask_emb, mean=0.0, std=0.1) 46 | 47 | # stack feature or not 48 | self.mask_signal = mask_signal 49 | if self.mask_signal: 50 | self.stack_frames = self.encoder.embed.subsampling_rate 51 | input_dim = num_mel_bins * self.stack_frames 52 | 53 | # norm input and dropout 54 | self.input_ln = torch.nn.LayerNorm(num_mel_bins, eps=norm_epsilon) 55 | self.norm_input = norm_input 56 | self.epsilon = norm_epsilon 57 | # NOTE(Mddct): dropout for input is very import for pretraining 58 | self.dropout_unmask = torch.nn.Dropout(dropout_rate) 59 | 60 | # random projectoin 61 | self.projection = torch.nn.parameter.Parameter( 62 | torch.Tensor(input_dim, embedding_dim), 63 | requires_grad=False, 64 | ) 65 | torch.nn.init.xavier_uniform_(self.projection) 66 | 67 | # codebooks 68 | # [num_codebooks, embedding_dim, num_embeddings] 69 | self.embeddings = torch.nn.parameter.Parameter( 70 | torch.Tensor(self.num_codebooks, embedding_dim, num_embeddings), 71 | requires_grad=False, 72 | ) 73 | torch.nn.init.normal_(self.embeddings) 74 | 75 | def forward( 76 | self, 77 | xs: torch.Tensor, 78 | xs_lens: torch.Tensor, 79 | text: Optional[torch.Tensor] = None, 80 | text_length: Optional[torch.Tensor] = None, 81 | ): 82 | input = xs 83 | # should support nonstreamming and streamming 84 | # TODO(Mddct): streamming future 85 | # eg: full attenton and chunk or dynamic chunk training 86 | # 0 mask signal or not 87 | # NOTE(Mddct): test no cmvn only layer norm 88 | xs = self.input_ln(xs) 89 | if self.mask_signal: 90 | xs, masked_masks = self._apply_mask_signal(xs) 91 | else: 92 | masked_masks = None 93 | 94 | # 1 forward subsampling 95 | xs, pos_emb, masks = self._forward_subsampling(xs, xs_lens) 96 | if not self.mask_signal: 97 | unmasked_xs = xs 98 | else: 99 | assert masked_masks is not None 100 | unmasked_xs = self._stack_features(input, masks) 101 | 102 | # 2 mask subsampling features 103 | # 2.0 apply mask 104 | if not self.mask_signal: 105 | masked_xs, masked_masks = self._apply_mask(xs) 106 | else: 107 | masked_xs = xs 108 | 109 | masked_masks = masked_masks[:, :masks.size(2)] 110 | # 2.1 get nearest embedding 111 | target_ids = self._nearest_embedding_idx(unmasked_xs) 112 | 113 | # 3 forward xxx-formaer block 114 | out, out_mask = self._forward_encoder_blocks(masked_xs, masks, pos_emb, 115 | masks) 116 | # 4 get logits 117 | out = out.unsqueeze(1) # [B, 1, T', dim] 118 | top_n_out = self.encoder_top_n_out.unsqueeze( 119 | 0) # [1, num_codebooks, dim, num_embeddings] 120 | out = torch.matmul(out, 121 | top_n_out) # [B, num_codebooks, T', num_embeddings] 122 | 123 | # 5 compute loss 124 | masks = out_mask.squeeze(1) * masked_masks 125 | loss = self._compute_loss(out, target_ids, mask=masks) 126 | # 6 other info: num codes used in batch, unique num codes used in batch 127 | num_codes = masks.sum() * self.num_codebooks 128 | uniq_num_codes = torch.tensor( 129 | torch.unique(target_ids * masks.unsqueeze(2)).numel()).detach() 130 | ids_corr = out.argmax(dim=-1, keepdim=False).transpose(1, 131 | 2) == target_ids 132 | codes_acc = (ids_corr * masks.unsqueeze(2)).sum() / num_codes 133 | return { 134 | "codes_acc": codes_acc, 135 | "loss": loss, 136 | "num_codes": num_codes, 137 | "uniq_num_codes": uniq_num_codes 138 | } 139 | 140 | def _apply_mask_signal( 141 | self, input: torch.Tensor) -> Tuple[torch.Tensor, torch.Tensor]: 142 | B, T, _ = input.size() 143 | T_subsampling = T // self.stack_frames 144 | # [B, T_subsampling] 145 | masks = compute_mask_indices(torch.Size((B, T_subsampling)), 146 | self.mask_prob, 147 | self.mask_length, 148 | self.min_masks, 149 | device=input.device) 150 | zeros = torch.zeros(B, 151 | T - T_subsampling * self.stack_frames, 152 | dtype=masks.dtype, 153 | device=input.device) 154 | masks_upsample = masks.unsqueeze(2).repeat(1, 1, self.stack_frames) 155 | masks_upsample = masks_upsample.view(-1, 156 | T_subsampling * self.stack_frames) 157 | signal_masks = torch.cat([masks_upsample, zeros], dim=1) # [B, T] 158 | mask_emb = self.mask_emb.to(input.device).view(1, 1, -1) 159 | 160 | return torch.where(signal_masks.unsqueeze(2), mask_emb, input), masks 161 | 162 | def _stack_features(self, input: torch.Tensor, 163 | mask: torch.Tensor) -> torch.Tensor: 164 | max_length = mask.size(2) 165 | stack_frames = self.stack_frames 166 | stack_input = input.unfold(1, stack_frames, stack_frames) 167 | b, n, f, d = stack_input.size() 168 | stack_input = stack_input.reshape(b, n, f * d) 169 | stack_input = stack_input[:, :max_length, :] 170 | 171 | return stack_input * mask.transpose(1, 2) 172 | 173 | def _compute_loss(self, input: torch.Tensor, target: torch.Tensor, 174 | mask: torch.Tensor) -> torch.Tensor: 175 | input = input.transpose(1, 3) # [B, num_embeddings, T' num_codebooks] 176 | entropy = torch.nn.functional.cross_entropy( 177 | input, target, reduction='none') # [B, T', num_codebooks] 178 | # stop gradient for non mask area 179 | loss = entropy * mask.unsqueeze(2) 180 | return loss.sum() / (mask.sum() * loss.size(2)) 181 | 182 | def _forward_encoder_blocks( 183 | self, xs: torch.Tensor, xs_masks: torch.Tensor, 184 | pos_emb: torch.Tensor, 185 | mask_pad: torch.Tensor) -> Tuple[torch.Tensor, torch.Tensor]: 186 | 187 | masks = xs_masks 188 | for layer in self.encoder.encoders: 189 | xs, masks, _, _ = layer(xs, xs_masks, pos_emb, mask_pad) 190 | if self.encoder.normalize_before: 191 | xs = self.encoder.after_norm(xs) 192 | # Here we assume the mask is not changed in encoder layers, so just 193 | # return the masks before encoder layers, and the masks will be used 194 | # for cross attention with decoder later 195 | return xs, masks 196 | 197 | def _norm_input(self, input: torch.Tensor) -> torch.Tensor: 198 | if not self.norm_input: 199 | return input 200 | # layer norm but no scale learnable 201 | mean = torch.mean(input, dim=-1, keepdim=True) 202 | var = torch.mean(torch.square(input - mean), keepdim=True, dim=-1) 203 | normed_input = (input - mean) * torch.rsqrt(var + self.epsilon) 204 | return normed_input 205 | 206 | def _nearest_embedding_idx(self, xs: torch.Tensor) -> torch.Tensor: 207 | # if not self.use_layer_norm: 208 | # xs = xs.transpose(1, 2) 209 | # xs = self.norm(xs) 210 | # if not self.use_layer_norm: 211 | # xs = xs.transpose(1, 2) 212 | # norm input 213 | # xs = self._norm_input(xs) 214 | xs = self.dropout_unmask(xs) 215 | xs = torch.matmul(xs, self.projection.to(xs.device)) 216 | 217 | B, T, C = xs.size() 218 | flattened_input = xs.view(-1, C) 219 | embeddings = self.embeddings.to( 220 | xs.device) # [num_codebooks, embedding_dim, num_embeddings] 221 | # [num_codebooks, B*T, num_embeddings] 222 | distance = ( 223 | torch.sum(flattened_input**2, dim=1, keepdim=True).unsqueeze(0) + 224 | torch.sum(embeddings**2, dim=1, keepdim=True) - 225 | 2 * torch.matmul(flattened_input.unsqueeze(0), embeddings)) 226 | 227 | out = torch.argmin(distance, dim=-1) # [num_codebooks, B*T] 228 | out = out.transpose(0, 1) # [B*T, num_codebooks] 229 | return out.reshape(B, T, -1) # [B, T, num_codebooks] 230 | 231 | def _apply_mask(self, 232 | xs: torch.Tensor) -> Tuple[torch.Tensor, torch.Tensor]: 233 | masks = compute_mask_indices(xs.size()[:-1], 234 | self.mask_prob, 235 | self.mask_length, 236 | self.min_masks, 237 | device=xs.device) 238 | masks_expand = masks.unsqueeze(-1) # [B, T, 1] 239 | mask_emb = self.mask_emb.to(xs.device).view(1, 1, -1) 240 | xs = torch.where(masks_expand, mask_emb, xs) 241 | return xs, masks 242 | 243 | def _forward_subsampling( 244 | self, xs: torch.Tensor, xs_lens: torch.Tensor 245 | ) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: 246 | 247 | T = xs.size(1) 248 | masks = ~make_pad_mask(xs_lens, T).unsqueeze(1) # (B, 1, T) 249 | if self.encoder.global_cmvn is not None: 250 | xs = self.encoder.global_cmvn(xs) 251 | xs, pos_emb, masks = self.encoder.embed(xs, masks) 252 | return xs, pos_emb, masks 253 | -------------------------------------------------------------------------------- /wenet/ssl/bestrq/mask.py: -------------------------------------------------------------------------------- 1 | import torch 2 | 3 | 4 | def _sampler(pdf: torch.Tensor, num_samples: int, 5 | device=torch.device('cpu')) -> torch.Tensor: 6 | size = pdf.size() 7 | z = -torch.log(torch.rand(size, device=device)) 8 | _, indices = torch.topk(pdf + z, num_samples) 9 | return indices 10 | 11 | 12 | def compute_mask_indices( 13 | size: torch.Size, 14 | mask_prob: float, 15 | mask_length: int, 16 | min_masks: int = 0, 17 | device=torch.device('cpu'), 18 | ) -> torch.Tensor: 19 | 20 | assert len(size) == 2 21 | batch_size, seq_length = size 22 | 23 | # compute number of masked span in batch 24 | num_masked_spans = mask_prob * float(seq_length) / float( 25 | mask_length) + torch.rand(1)[0] 26 | num_masked_spans = int(num_masked_spans) 27 | num_masked_spans = max(num_masked_spans, min_masks) 28 | 29 | # num_masked <= seq_length 30 | if num_masked_spans * mask_length > seq_length: 31 | num_masked_spans = seq_length // mask_length 32 | 33 | pdf = torch.ones(batch_size, seq_length - (mask_length - 1), device=device) 34 | mask_idxs = _sampler(pdf, num_masked_spans, device=device) 35 | 36 | mask_idxs = mask_idxs.unsqueeze(-1).repeat(1, 1, mask_length).view( 37 | batch_size, 38 | num_masked_spans * mask_length) # [B,num_masked_spans*mask_length] 39 | 40 | offset = torch.arange(mask_length, device=device).view(1, 1, -1).repeat( 41 | 1, num_masked_spans, 1) # [1,num_masked_spans,mask_length] 42 | offset = offset.view(1, num_masked_spans * mask_length) 43 | 44 | mask_idxs = mask_idxs + offset # [B,num_masked_spans, mask_length] 45 | 46 | ones = torch.ones(batch_size, 47 | seq_length, 48 | dtype=torch.bool, 49 | device=mask_idxs.device) 50 | # masks to fill 51 | full_mask = torch.zeros_like(ones, 52 | dtype=torch.bool, 53 | device=mask_idxs.device) 54 | return torch.scatter(full_mask, dim=1, index=mask_idxs, src=ones) 55 | -------------------------------------------------------------------------------- /wenet/ssl/inject_text/text_encoder.py: -------------------------------------------------------------------------------- 1 | from typing import Tuple 2 | import torch 3 | 4 | 5 | def sequence_mask(length, max_length=None): 6 | if max_length is None: 7 | max_length = length.max() 8 | index = torch.arange(max_length, device=input.device) 9 | index_expand = index.unsqueeze(0) # [1, max_length] 10 | length_expand = length.unsqueeze(1) # [B, 1] 11 | return index_expand < length_expand 12 | 13 | 14 | def upsampling( 15 | input: torch.Tensor, repeats: torch.Tensor, 16 | repeats_mask: torch.Tensor) -> Tuple[torch.Tensor, torch.Tensor]: 17 | """ 18 | Args: 19 | input: [B, L] 20 | repeats: [B, L] 21 | repetas_mask: [B, L] 22 | """ 23 | B = input.size(0) 24 | repeats = repeats * repeats_mask 25 | new_seq_len = torch.sum(repeats, 1) 26 | new_seq_max_len = new_seq_len.max() 27 | 28 | repeats_mask_flat = repeats_mask.reshape([-1]) 29 | repeats_mask_flat_idx = torch.nonzero(repeats_mask_flat) 30 | reteats_flat = repeats.reshape([-1]) 31 | indices_value = torch.take_along_dim(reteats_flat, repeats_mask_flat_idx) 32 | 33 | input_flat = input.reshape([-1]) 34 | input_flat_nonzero = torch.take_along_dim(input_flat, 35 | repeats_mask_flat_idx) 36 | input_updates = torch.repeat_interleave(input_flat_nonzero, indices_value) 37 | 38 | new_seq_mask = sequence_mask(new_seq_len, new_seq_max_len) 39 | new_seq_mask_flat = new_seq_mask.reshape([-1]) 40 | new_index = torch.nonzero(new_seq_mask_flat) 41 | 42 | flat = torch.zeros(B * new_seq_max_len, 43 | device=input.device, 44 | dtype=input.dtype) 45 | zeros = torch.zeros(B * new_seq_max_len - input_flat_nonzero.size(0), 46 | device=input.device, 47 | dtype=new_index.dtype) 48 | 49 | input_updates = torch.cat([input_updates, zeros], dim=0) 50 | new_index = torch.cat([new_index.squeeze(1), zeros], dim=0) 51 | 52 | new_input = flat.scatter(0, new_index, input_updates) 53 | new_input[0] = input_updates[0] 54 | 55 | new_input = new_input.reshape(B, new_seq_max_len) 56 | 57 | return new_input, new_seq_mask 58 | --------------------------------------------------------------------------------