diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 83c55d3..d64e047 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -52,7 +52,7 @@
tools:targetApi="31">
@@ -66,9 +66,9 @@
-
+ android:screenOrientation="portrait"/>
diff --git a/app/src/main/assets/sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10/README.md b/app/src/main/assets/sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10/README.md
new file mode 100644
index 0000000..e54b99f
--- /dev/null
+++ b/app/src/main/assets/sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10/README.md
@@ -0,0 +1,4 @@
+# Introduction
+
+Model in this directory is converted from
+https://huggingface.co/ASLP-lab/WSYue-ASR/tree/main/u2pp_conformer_yue
diff --git a/app/src/main/assets/sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10/model.int8.onnx b/app/src/main/assets/sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10/model.int8.onnx
new file mode 100644
index 0000000..6bbac08
Binary files /dev/null and b/app/src/main/assets/sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10/model.int8.onnx differ
diff --git a/app/src/main/assets/sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10/tokens.txt b/app/src/main/assets/sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10/tokens.txt
new file mode 100644
index 0000000..de9835d
--- /dev/null
+++ b/app/src/main/assets/sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10/tokens.txt
@@ -0,0 +1,8629 @@
+ 0
+ 1
+' 2
+A 3
+ABILITY 4
+ABLE 5
+ABLY 6
+AC 7
+AD 8
+AG 9
+AGE 10
+AH 11
+AK 12
+AL 13
+ALLY 14
+AM 15
+AN 16
+ANCE 17
+ANT 18
+AR 19
+ARD 20
+ARTAGNAN 21
+ARY 22
+AS 23
+AT 24
+ATE 25
+ATED 26
+ATH 27
+ATING 28
+ATION 29
+ATIONS 30
+ATIVE 31
+ATOR 32
+AU 33
+AV 34
+AY 35
+B 36
+B2B 37
+BA 38
+BE 39
+BER 40
+BI 41
+BLE 42
+BO 43
+BU 44
+BURG 45
+BY 46
+C 47
+C2C 48
+CA 49
+CE 50
+CENT 51
+CH 52
+CHES 53
+CHO 54
+CI 55
+CK 56
+CLOCK 57
+CO 58
+CON 59
+CTOR 60
+CU 61
+CUR 62
+CY 63
+D 64
+DA 65
+DDING 66
+DDLE 67
+DE 68
+DEN 69
+DER 70
+DI 71
+E 72
+ED 73
+EL 74
+EM 75
+EN 76
+ENCE 77
+ENED 78
+ENS 79
+ENT 80
+ER 81
+ERS 82
+ES 83
+EST 84
+ET 85
+EV 86
+EVER 87
+F 88
+FA 89
+FE 90
+FER 91
+FF 92
+FI 93
+FOLD 94
+FOR 95
+FUL 96
+G 97
+GE 98
+GER 99
+GG 100
+GI 101
+GO 102
+GU 103
+GUE 104
+H 105
+HA 106
+HAM 107
+HE 108
+HEAD 109
+HER 110
+HI 111
+HO 112
+HOOD 113
+I 114
+IA 115
+IAL 116
+IAN 117
+IBLE 118
+IC 119
+ICAL 120
+ID 121
+IE 122
+IENT 123
+IER 124
+IES 125
+IF 126
+IFICATION 127
+IFIED 128
+IG 129
+IGHT 130
+IL 131
+ILY 132
+IM 133
+IN 134
+INE 135
+ING 136
+IO 137
+ION 138
+IONS 139
+IOUS 140
+IP 141
+IR 142
+IS 143
+ISH 144
+ISM 145
+IST 146
+IT 147
+ITCH 148
+ITE 149
+ITH 150
+ITIES 151
+ITUDE 152
+ITY 153
+IVE 154
+J 155
+JO 156
+JU 157
+K 158
+KE 159
+KIN 160
+L 161
+LA 162
+LAND 163
+LAR 164
+LD 165
+LE 166
+LED 167
+LER 168
+LES 169
+LESS 170
+LEY 171
+LI 172
+LIGHT 173
+LIKE 174
+LIN 175
+LING 176
+LL 177
+LO 178
+LT 179
+LUNG 180
+LY 181
+M 182
+M2M 183
+MA 184
+MAN 185
+MBLED 186
+ME 187
+MEN 188
+MENT 189
+MENTS 190
+MER 191
+MI 192
+MISSION 193
+MO 194
+N 195
+NA 196
+NCE 197
+ND 198
+NE 199
+NED 200
+NESS 201
+NEY 202
+NG 203
+NI 204
+NING 205
+NO 206
+NT 207
+NY 208
+O 209
+O2O 210
+OL 211
+OM 212
+ON 213
+ONE 214
+OO 215
+OOK 216
+OP 217
+OR 218
+ORS 219
+OS 220
+OSE 221
+OT 222
+OUR 223
+OUS 224
+OV 225
+OW 226
+P 227
+P2P 228
+PA 229
+PE 230
+PER 231
+PLE 232
+PO 233
+PORT 234
+POSE 235
+PP 236
+PREHENSI 237
+PT 238
+Q 239
+QUA 240
+QUE 241
+QUI 242
+QUO 243
+R 244
+RA 245
+RAN 246
+RE 247
+RED 248
+RESS 249
+RI 250
+RIC 251
+RIDGE 252
+RIES 253
+RING 254
+RO 255
+RON 256
+ROUS 257
+ROW 258
+RU 259
+RY 260
+S 261
+SH 262
+SHIP 263
+SIDE 264
+SON 265
+ST 266
+STER 267
+STRA 268
+T 269
+TA 270
+TE 271
+TED 272
+TEN 273
+TER 274
+TH 275
+THE 276
+THER 277
+TI 278
+TIC 279
+TIN 280
+TING 281
+TION 282
+TLE 283
+TO 284
+TON 285
+TTERED 286
+TUR 287
+TY 288
+U 289
+UC 290
+UD 291
+UGH 292
+UL 293
+UM 294
+UN 295
+UND 296
+UNT 297
+UOUS 298
+UR 299
+URE 300
+US 301
+UT 302
+V 303
+VA 304
+VAL 305
+VE 306
+VER 307
+VI 308
+VILLE 309
+VO 310
+W 311
+WARD 312
+WAY 313
+WELL 314
+WN 315
+WOOD 316
+WORTH 317
+X 318
+Y 319
+Z 320
+ZZ 321
+▁ 322
+▁A 323
+▁AB 324
+▁ABANDON 325
+▁ABLE 326
+▁ABOUT 327
+▁ABOVE 328
+▁ABSOLUTE 329
+▁ACCEPT 330
+▁ACCIDENT 331
+▁ACCOMPLISH 332
+▁ACCORDING 333
+▁ACCOUNT 334
+▁ACQUAINTANCE 335
+▁ACROSS 336
+▁ACT 337
+▁ACTION 338
+▁ACTUAL 339
+▁ADDED 340
+▁ADDRESS 341
+▁ADMIRE 342
+▁ADMIT 343
+▁ADVANCE 344
+▁ADVANTAGE 345
+▁ADVENTURE 346
+▁ADVICE 347
+▁AFFAIR 348
+▁AFFECT 349
+▁AFFECTION 350
+▁AFFORD 351
+▁AFRAID 352
+▁AFTER 353
+▁AFTERNOON 354
+▁AFTERWARDS 355
+▁AGAIN 356
+▁AGAINST 357
+▁AGE 358
+▁AGO 359
+▁AGREE 360
+▁AIR 361
+▁ALARM 362
+▁ALIVE 363
+▁ALL 364
+▁ALLOW 365
+▁ALMOST 366
+▁ALONE 367
+▁ALONG 368
+▁ALREADY 369
+▁ALSO 370
+▁ALTER 371
+▁ALTHOUGH 372
+▁ALTOGETHER 373
+▁ALWAYS 374
+▁AM 375
+▁AMERICA 376
+▁AMONG 377
+▁AMOUNT 378
+▁AMUSE 379
+▁AN 380
+▁ANCIENT 381
+▁AND 382
+▁ANGEL 383
+▁ANGRY 384
+▁ANIMAL 385
+▁ANNE 386
+▁ANNOUNC 387
+▁ANOTHER 388
+▁ANSWER 389
+▁ANSWERED 390
+▁ANXIOUS 391
+▁ANY 392
+▁ANYBODY 393
+▁ANYTHING 394
+▁APPARENT 395
+▁APPEAL 396
+▁APPEAR 397
+▁APPEARANCE 398
+▁APPEARED 399
+▁APPROACH 400
+▁ARCH 401
+▁ARE 402
+▁ARGUMENT 403
+▁ARM 404
+▁ARMS 405
+▁ARMY 406
+▁AROUND 407
+▁ARRIVAL 408
+▁ARRIVED 409
+▁ART 410
+▁ARTHUR 411
+▁ARTICLE 412
+▁AS 413
+▁ASK 414
+▁ASKED 415
+▁ASLEEP 416
+▁ASSIST 417
+▁ASSUME 418
+▁AT 419
+▁ATTACK 420
+▁ATTEMPT 421
+▁ATTEND 422
+▁ATTENTION 423
+▁ATTRACT 424
+▁AUGUST 425
+▁AUNT 426
+▁AUTHOR 427
+▁AVOID 428
+▁AWAKE 429
+▁AWARE 430
+▁AWAY 431
+▁AWFUL 432
+▁B 433
+▁BA 434
+▁BACK 435
+▁BAD 436
+▁BALL 437
+▁BANK 438
+▁BAR 439
+▁BASKET 440
+▁BATTLE 441
+▁BE 442
+▁BEAR 443
+▁BEAST 444
+▁BEAUTIFUL 445
+▁BEAUTY 446
+▁BECAME 447
+▁BECAUSE 448
+▁BECOME 449
+▁BED 450
+▁BEEN 451
+▁BEFORE 452
+▁BEGAN 453
+▁BEGIN 454
+▁BEGINNING 455
+▁BEHIND 456
+▁BEHOLD 457
+▁BEING 458
+▁BELIEF 459
+▁BELIEVE 460
+▁BELONG 461
+▁BELOW 462
+▁BENEATH 463
+▁BESIDE 464
+▁BEST 465
+▁BETTER 466
+▁BETWEEN 467
+▁BEYOND 468
+▁BI 469
+▁BIG 470
+▁BILL 471
+▁BIRD 472
+▁BIRTH 473
+▁BIT 474
+▁BITTER 475
+▁BLA 476
+▁BLACK 477
+▁BLESS 478
+▁BLIND 479
+▁BLOOD 480
+▁BLOW 481
+▁BLU 482
+▁BLUE 483
+▁BO 484
+▁BOARD 485
+▁BOAT 486
+▁BODIES 487
+▁BODY 488
+▁BON 489
+▁BOOK 490
+▁BORN 491
+▁BOTH 492
+▁BOTTLE 493
+▁BOTTOM 494
+▁BOUND 495
+▁BOW 496
+▁BOX 497
+▁BOY 498
+▁BRA 499
+▁BRANCH 500
+▁BRAVE 501
+▁BREAD 502
+▁BREAK 503
+▁BREAKFAST 504
+▁BREAST 505
+▁BREATH 506
+▁BREE 507
+▁BRI 508
+▁BRIEF 509
+▁BRIGHT 510
+▁BRING 511
+▁BROAD 512
+▁BROKE 513
+▁BROKEN 514
+▁BROTHER 515
+▁BROUGHT 516
+▁BROWN 517
+▁BU 518
+▁BUILDING 519
+▁BUILT 520
+▁BURN 521
+▁BURST 522
+▁BUSINESS 523
+▁BUT 524
+▁BY 525
+▁C 526
+▁CA 527
+▁CABIN 528
+▁CALL 529
+▁CALLED 530
+▁CALM 531
+▁CAME 532
+▁CAMP 533
+▁CAN 534
+▁CANNOT 535
+▁CAP 536
+▁CAPITAL 537
+▁CAPTAIN 538
+▁CAR 539
+▁CARE 540
+▁CAREFULLY 541
+▁CARRIAGE 542
+▁CARRIED 543
+▁CARRY 544
+▁CASE 545
+▁CAST 546
+▁CASTLE 547
+▁CAT 548
+▁CATCH 549
+▁CAUGHT 550
+▁CAUSE 551
+▁CEASE 552
+▁CENT 553
+▁CENTURY 554
+▁CERTAIN 555
+▁CERTAINLY 556
+▁CH 557
+▁CHA 558
+▁CHAIR 559
+▁CHAMBER 560
+▁CHANCE 561
+▁CHANGE 562
+▁CHAPTER 563
+▁CHARACTER 564
+▁CHARGE 565
+▁CHARM 566
+▁CHEEK 567
+▁CHI 568
+▁CHIEF 569
+▁CHILD 570
+▁CHILDREN 571
+▁CHOICE 572
+▁CHOOSE 573
+▁CHRIST 574
+▁CHRISTIAN 575
+▁CHURCH 576
+▁CIRCLE 577
+▁CIRCUMSTANCE 578
+▁CITI 579
+▁CITY 580
+▁CIVIL 581
+▁CL 582
+▁CLAIM 583
+▁CLASS 584
+▁CLEAN 585
+▁CLEAR 586
+▁CLIMB 587
+▁CLOSE 588
+▁CLOTH 589
+▁CLOTHES 590
+▁CLOUD 591
+▁CO 592
+▁COAST 593
+▁COL 594
+▁COLD 595
+▁COLLECT 596
+▁COLONEL 597
+▁COLOR 598
+▁COLOUR 599
+▁COM 600
+▁COME 601
+▁COMFORT 602
+▁COMING 603
+▁COMMAND 604
+▁COMMON 605
+▁COMMUN 606
+▁COMMUNICAT 607
+▁COMP 608
+▁COMPANION 609
+▁COMPANY 610
+▁COMPLAIN 611
+▁COMPLETE 612
+▁CON 613
+▁CONCEAL 614
+▁CONCERN 615
+▁CONDITION 616
+▁CONDUCT 617
+▁CONF 618
+▁CONFESS 619
+▁CONFIDENCE 620
+▁CONSCIOUS 621
+▁CONSEQUENCE 622
+▁CONSIDER 623
+▁CONSIST 624
+▁CONSTANT 625
+▁CONTAIN 626
+▁CONTENT 627
+▁CONTINUE 628
+▁CONTINUED 629
+▁CONTRARY 630
+▁CONTROL 631
+▁CONVERSATION 632
+▁CONVICT 633
+▁COOK 634
+▁COR 635
+▁CORNER 636
+▁CORRECT 637
+▁COTTAGE 638
+▁COULD 639
+▁COUNCIL 640
+▁COUNT 641
+▁COUNTENANCE 642
+▁COUNTRY 643
+▁COUPLE 644
+▁COURAGE 645
+▁COURSE 646
+▁COURT 647
+▁COUSIN 648
+▁CRA 649
+▁CRE 650
+▁CREATURE 651
+▁CRIED 652
+▁CRIME 653
+▁CRITIC 654
+▁CRO 655
+▁CROSS 656
+▁CROWD 657
+▁CROWN 658
+▁CRU 659
+▁CRY 660
+▁CU 661
+▁CUR 662
+▁CURIOSITY 663
+▁CURIOUS 664
+▁CUSTOM 665
+▁CUT 666
+▁D 667
+▁DA 668
+▁DANCE 669
+▁DANGER 670
+▁DAR 671
+▁DARK 672
+▁DARKNESS 673
+▁DAUGHTER 674
+▁DAY 675
+▁DAYS 676
+▁DE 677
+▁DEAD 678
+▁DEAL 679
+▁DEAR 680
+▁DEATH 681
+▁DECIDED 682
+▁DECLARE 683
+▁DEEP 684
+▁DEGREE 685
+▁DELICATE 686
+▁DELIGHT 687
+▁DELIVER 688
+▁DEMAND 689
+▁DEPART 690
+▁DEPEND 691
+▁DESCEND 692
+▁DESCRIBE 693
+▁DESERT 694
+▁DESIGN 695
+▁DESIRE 696
+▁DESPAIR 697
+▁DESTROY 698
+▁DETAIL 699
+▁DETECT 700
+▁DETERMINED 701
+▁DEVELOP 702
+▁DEVIL 703
+▁DI 704
+▁DIAMOND 705
+▁DID 706
+▁DIDN 707
+▁DIE 708
+▁DIFFERENCE 709
+▁DIFFERENT 710
+▁DIFFICULT 711
+▁DINNER 712
+▁DIRECT 713
+▁DIRECTION 714
+▁DIS 715
+▁DISAPPEAR 716
+▁DISC 717
+▁DISCOVER 718
+▁DISCUSS 719
+▁DISTANCE 720
+▁DISTANT 721
+▁DISTINCT 722
+▁DISTINGUISH 723
+▁DISTRESS 724
+▁DISTURB 725
+▁DIV 726
+▁DO 727
+▁DOCTOR 728
+▁DOES 729
+▁DOG 730
+▁DOLLARS 731
+▁DON 732
+▁DONE 733
+▁DOOR 734
+▁DOUBLE 735
+▁DOUBT 736
+▁DOWN 737
+▁DRAW 738
+▁DREAD 739
+▁DREAM 740
+▁DRESS 741
+▁DREW 742
+▁DRINK 743
+▁DRIVE 744
+▁DROP 745
+▁DROPPED 746
+▁DROVE 747
+▁DRUNK 748
+▁DU 749
+▁DUR 750
+▁DUTY 751
+▁E 752
+▁EACH 753
+▁EAGER 754
+▁EAR 755
+▁EARLY 756
+▁EARNEST 757
+▁EARTH 758
+▁EASILY 759
+▁EAST 760
+▁EASY 761
+▁EAT 762
+▁EDGE 763
+▁EDUCATION 764
+▁EFFECT 765
+▁EFFORT 766
+▁EIGHT 767
+▁EIGHTEEN 768
+▁EITHER 769
+▁EL 770
+▁ELECT 771
+▁ELEVEN 772
+▁ELSE 773
+▁EM 774
+▁EMOTION 775
+▁EMPEROR 776
+▁EMPLOY 777
+▁EMPTY 778
+▁EN 779
+▁END 780
+▁ENEMIES 781
+▁ENEMY 782
+▁ENGAGED 783
+▁ENGLAND 784
+▁ENGLISH 785
+▁ENJOY 786
+▁ENOUGH 787
+▁ENTER 788
+▁ENTERED 789
+▁ENTERTAIN 790
+▁ENTIRE 791
+▁ENTRANCE 792
+▁EQUAL 793
+▁ESCAPE 794
+▁ESPECIALLY 795
+▁ESTABLISH 796
+▁EUROPE 797
+▁EVEN 798
+▁EVENING 799
+▁EVER 800
+▁EVERY 801
+▁EVERYBODY 802
+▁EVERYTHING 803
+▁EVERYWHERE 804
+▁EVIDENCE 805
+▁EVIDENT 806
+▁EVIL 807
+▁EX 808
+▁EXACTLY 809
+▁EXAMINE 810
+▁EXAMPLE 811
+▁EXCELLENT 812
+▁EXCEPT 813
+▁EXCITED 814
+▁EXCITEMENT 815
+▁EXCLAIMED 816
+▁EXCUSE 817
+▁EXECUT 818
+▁EXERCISE 819
+▁EXIST 820
+▁EXISTENCE 821
+▁EXPECT 822
+▁EXPERIENCE 823
+▁EXPLAIN 824
+▁EXPRESS 825
+▁EXPRESSION 826
+▁EXTEND 827
+▁EXTRAORDINARY 828
+▁EXTREME 829
+▁EYE 830
+▁EYES 831
+▁F 832
+▁FA 833
+▁FACE 834
+▁FACT 835
+▁FAIL 836
+▁FAINT 837
+▁FAIR 838
+▁FAITH 839
+▁FALL 840
+▁FALSE 841
+▁FAMILIAR 842
+▁FAMILY 843
+▁FAMOUS 844
+▁FANCY 845
+▁FAR 846
+▁FASHION 847
+▁FAST 848
+▁FATHER 849
+▁FAULT 850
+▁FAVOR 851
+▁FAVOUR 852
+▁FE 853
+▁FEAR 854
+▁FEATHER 855
+▁FEATURE 856
+▁FEEL 857
+▁FEELING 858
+▁FEET 859
+▁FELL 860
+▁FELLOW 861
+▁FELT 862
+▁FEW 863
+▁FI 864
+▁FIELD 865
+▁FIERCE 866
+▁FIFTEEN 867
+▁FIFTY 868
+▁FIGHT 869
+▁FIGURE 870
+▁FILLED 871
+▁FINALLY 872
+▁FIND 873
+▁FINE 874
+▁FINGER 875
+▁FIRE 876
+▁FIRM 877
+▁FIRST 878
+▁FISH 879
+▁FIT 880
+▁FIVE 881
+▁FIXED 882
+▁FL 883
+▁FLAME 884
+▁FLASH 885
+▁FLAT 886
+▁FLESH 887
+▁FLEW 888
+▁FLO 889
+▁FLOOR 890
+▁FO 891
+▁FOLK 892
+▁FOLLOW 893
+▁FOLLOWED 894
+▁FOOD 895
+▁FOOL 896
+▁FOOT 897
+▁FOR 898
+▁FORCE 899
+▁FOREIGN 900
+▁FORGET 901
+▁FORGIVE 902
+▁FORGOTTEN 903
+▁FORM 904
+▁FORTUNE 905
+▁FORWARD 906
+▁FOUND 907
+▁FOUR 908
+▁FRA 909
+▁FRANCE 910
+▁FRANK 911
+▁FREE 912
+▁FREEDOM 913
+▁FRENCH 914
+▁FREQUENT 915
+▁FRESH 916
+▁FRIEND 917
+▁FRIENDS 918
+▁FRIGHTENED 919
+▁FRO 920
+▁FROM 921
+▁FRONT 922
+▁FRUIT 923
+▁FULL 924
+▁FUN 925
+▁FUR 926
+▁FURNISH 927
+▁FURTHER 928
+▁FUTURE 929
+▁G 930
+▁GA 931
+▁GALL 932
+▁GAME 933
+▁GAR 934
+▁GARDEN 935
+▁GATE 936
+▁GATHER 937
+▁GAVE 938
+▁GEN 939
+▁GENERAL 940
+▁GENTLE 941
+▁GENTLEMAN 942
+▁GENTLEMEN 943
+▁GEORGE 944
+▁GERMAN 945
+▁GET 946
+▁GETTING 947
+▁GI 948
+▁GIFT 949
+▁GIRL 950
+▁GIVE 951
+▁GIVEN 952
+▁GIVING 953
+▁GLAD 954
+▁GLANCE 955
+▁GLASS 956
+▁GLOOM 957
+▁GLORY 958
+▁GO 959
+▁GOD 960
+▁GOING 961
+▁GOLD 962
+▁GOLDEN 963
+▁GONE 964
+▁GOOD 965
+▁GOT 966
+▁GOVERNMENT 967
+▁GRA 968
+▁GRACE 969
+▁GRADUALLY 970
+▁GRAND 971
+▁GRASS 972
+▁GRAVE 973
+▁GRE 974
+▁GREAT 975
+▁GREEN 976
+▁GREW 977
+▁GRI 978
+▁GRIEF 979
+▁GRO 980
+▁GROUND 981
+▁GROUP 982
+▁GROW 983
+▁GU 984
+▁GUARD 985
+▁GUESS 986
+▁GUIDE 987
+▁GUN 988
+▁HA 989
+▁HABIT 990
+▁HAD 991
+▁HAIR 992
+▁HALF 993
+▁HALL 994
+▁HAND 995
+▁HANDS 996
+▁HANDSOME 997
+▁HANG 998
+▁HAPPEN 999
+▁HAPPENED 1000
+▁HAPPINESS 1001
+▁HAPPY 1002
+▁HAR 1003
+▁HARD 1004
+▁HARDLY 1005
+▁HAS 1006
+▁HAT 1007
+▁HAVE 1008
+▁HAVING 1009
+▁HE 1010
+▁HEAD 1011
+▁HEALTH 1012
+▁HEAR 1013
+▁HEARD 1014
+▁HEART 1015
+▁HEAVEN 1016
+▁HEAVY 1017
+▁HELD 1018
+▁HELP 1019
+▁HENRY 1020
+▁HER 1021
+▁HERE 1022
+▁HERSELF 1023
+▁HI 1024
+▁HIDDEN 1025
+▁HIGH 1026
+▁HILL 1027
+▁HIM 1028
+▁HIMSELF 1029
+▁HIS 1030
+▁HISTORY 1031
+▁HO 1032
+▁HOLD 1033
+▁HOME 1034
+▁HONEST 1035
+▁HONOR 1036
+▁HONOUR 1037
+▁HOPE 1038
+▁HORROR 1039
+▁HORSE 1040
+▁HOT 1041
+▁HOUR 1042
+▁HOUSE 1043
+▁HOW 1044
+▁HOWEVER 1045
+▁HU 1046
+▁HUMAN 1047
+▁HUNDRED 1048
+▁HUNG 1049
+▁HUNT 1050
+▁HURRIED 1051
+▁HURRY 1052
+▁HURT 1053
+▁HUSBAND 1054
+▁HY 1055
+▁I 1056
+▁IDEA 1057
+▁IF 1058
+▁ILL 1059
+▁IMAGE 1060
+▁IMAGINATION 1061
+▁IMAGINE 1062
+▁IMMEDIATELY 1063
+▁IMP 1064
+▁IMPORTANCE 1065
+▁IMPORTANT 1066
+▁IMPOSSIBLE 1067
+▁IMPRESSION 1068
+▁IMPROVE 1069
+▁IN 1070
+▁INCLUD 1071
+▁INCREASE 1072
+▁INDEED 1073
+▁INDIAN 1074
+▁INDIVIDUAL 1075
+▁INFLUENCE 1076
+▁INFORMATION 1077
+▁INNOCENT 1078
+▁INSTANCE 1079
+▁INSTANT 1080
+▁INSTEAD 1081
+▁INSTINCT 1082
+▁INSTRUCT 1083
+▁INSTRUMENT 1084
+▁INTELLECT 1085
+▁INTENTION 1086
+▁INTER 1087
+▁INTEREST 1088
+▁INTERRUPT 1089
+▁INTO 1090
+▁IS 1091
+▁ISLAND 1092
+▁IT 1093
+▁ITS 1094
+▁ITSELF 1095
+▁JA 1096
+▁JACK 1097
+▁JAMES 1098
+▁JANE 1099
+▁JE 1100
+▁JEALOUS 1101
+▁JIM 1102
+▁JO 1103
+▁JOHN 1104
+▁JOIN 1105
+▁JOURNEY 1106
+▁JOY 1107
+▁JU 1108
+▁JUDGE 1109
+▁JUDGMENT 1110
+▁JUMP 1111
+▁JUST 1112
+▁JUSTICE 1113
+▁K 1114
+▁KA 1115
+▁KEEP 1116
+▁KEPT 1117
+▁KEY 1118
+▁KILL 1119
+▁KIND 1120
+▁KING 1121
+▁KINGDOM 1122
+▁KISS 1123
+▁KITCHEN 1124
+▁KNEE 1125
+▁KNEW 1126
+▁KNIFE 1127
+▁KNIGHT 1128
+▁KNOCK 1129
+▁KNOW 1130
+▁KNOWLEDGE 1131
+▁KNOWN 1132
+▁LA 1133
+▁LABOR 1134
+▁LABOUR 1135
+▁LADIES 1136
+▁LADY 1137
+▁LAID 1138
+▁LAMP 1139
+▁LAND 1140
+▁LANGUAGE 1141
+▁LARGE 1142
+▁LAST 1143
+▁LATE 1144
+▁LATER 1145
+▁LATTER 1146
+▁LAUGH 1147
+▁LAW 1148
+▁LAY 1149
+▁LE 1150
+▁LEAD 1151
+▁LEAP 1152
+▁LEARN 1153
+▁LEAST 1154
+▁LEAVE 1155
+▁LEAVING 1156
+▁LED 1157
+▁LEFT 1158
+▁LEG 1159
+▁LENGTH 1160
+▁LESS 1161
+▁LET 1162
+▁LETTER 1163
+▁LEVEL 1164
+▁LI 1165
+▁LIBERTY 1166
+▁LIE 1167
+▁LIFE 1168
+▁LIFT 1169
+▁LIGHT 1170
+▁LIKE 1171
+▁LIMIT 1172
+▁LINE 1173
+▁LIPS 1174
+▁LISTEN 1175
+▁LITTLE 1176
+▁LIVE 1177
+▁LIVED 1178
+▁LIVING 1179
+▁LO 1180
+▁LONDON 1181
+▁LONG 1182
+▁LONGER 1183
+▁LOOK 1184
+▁LOOKED 1185
+▁LOOKING 1186
+▁LORD 1187
+▁LOSE 1188
+▁LOST 1189
+▁LOUD 1190
+▁LOUIS 1191
+▁LOVE 1192
+▁LOW 1193
+▁LU 1194
+▁LYING 1195
+▁MA 1196
+▁MACHINE 1197
+▁MADAME 1198
+▁MADE 1199
+▁MAGIC 1200
+▁MAJESTY 1201
+▁MAJOR 1202
+▁MAKE 1203
+▁MAKING 1204
+▁MAMMA 1205
+▁MAN 1206
+▁MANAGE 1207
+▁MANNER 1208
+▁MANY 1209
+▁MAR 1210
+▁MARCH 1211
+▁MARGARET 1212
+▁MARK 1213
+▁MARRIAGE 1214
+▁MARRIED 1215
+▁MARRY 1216
+▁MARVEL 1217
+▁MARY 1218
+▁MASS 1219
+▁MASTER 1220
+▁MAT 1221
+▁MATERIAL 1222
+▁MATTER 1223
+▁MAY 1224
+▁ME 1225
+▁MEAN 1226
+▁MEANS 1227
+▁MEANT 1228
+▁MEANWHILE 1229
+▁MEASURE 1230
+▁MEET 1231
+▁MEMBER 1232
+▁MEMORY 1233
+▁MEN 1234
+▁MER 1235
+▁MERCHANT 1236
+▁MERELY 1237
+▁MESSAGE 1238
+▁MET 1239
+▁METHOD 1240
+▁MI 1241
+▁MIDDLE 1242
+▁MIGHT 1243
+▁MIL 1244
+▁MILES 1245
+▁MIND 1246
+▁MINE 1247
+▁MINISTER 1248
+▁MINUTE 1249
+▁MISS 1250
+▁MISSUS 1251
+▁MISTAKE 1252
+▁MISTER 1253
+▁MISTRESS 1254
+▁MO 1255
+▁MODE 1256
+▁MODERN 1257
+▁MOMENT 1258
+▁MONEY 1259
+▁MONK 1260
+▁MONSIEUR 1261
+▁MONTH 1262
+▁MOON 1263
+▁MOR 1264
+▁MORE 1265
+▁MOREOVER 1266
+▁MORNING 1267
+▁MORROW 1268
+▁MOST 1269
+▁MOTHER 1270
+▁MOUNT 1271
+▁MOUNTAIN 1272
+▁MOUTH 1273
+▁MOVEMENT 1274
+▁MOVING 1275
+▁MU 1276
+▁MUCH 1277
+▁MURDER 1278
+▁MURMUR 1279
+▁MUSIC 1280
+▁MUST 1281
+▁MY 1282
+▁MYSELF 1283
+▁MYSTERIOUS 1284
+▁NA 1285
+▁NAME 1286
+▁NARROW 1287
+▁NATION 1288
+▁NATIVE 1289
+▁NATURAL 1290
+▁NATURE 1291
+▁NE 1292
+▁NEAR 1293
+▁NEARLY 1294
+▁NECESSARY 1295
+▁NECESSITY 1296
+▁NECK 1297
+▁NEED 1298
+▁NEIGHBOR 1299
+▁NEIGHBOUR 1300
+▁NEITHER 1301
+▁NERVOUS 1302
+▁NEVER 1303
+▁NEVERTHELESS 1304
+▁NEW 1305
+▁NEWSPAPER 1306
+▁NEXT 1307
+▁NI 1308
+▁NICE 1309
+▁NIGHT 1310
+▁NINE 1311
+▁NINETEEN 1312
+▁NO 1313
+▁NOBLE 1314
+▁NOBODY 1315
+▁NOISE 1316
+▁NONE 1317
+▁NOR 1318
+▁NORTH 1319
+▁NOT 1320
+▁NOTHING 1321
+▁NOTICE 1322
+▁NOW 1323
+▁NU 1324
+▁NUMBER 1325
+▁NURSE 1326
+▁O 1327
+▁OB 1328
+▁OBEY 1329
+▁OBJECT 1330
+▁OBLIGED 1331
+▁OBSERVATION 1332
+▁OBSERVE 1333
+▁OBTAIN 1334
+▁OCCASION 1335
+▁OCCUPIED 1336
+▁OCCUR 1337
+▁OCEAN 1338
+▁OF 1339
+▁OFF 1340
+▁OFFICE 1341
+▁OFFICER 1342
+▁OFTEN 1343
+▁OH 1344
+▁OLD 1345
+▁ON 1346
+▁ONCE 1347
+▁ONE 1348
+▁ONLY 1349
+▁OPEN 1350
+▁OPENED 1351
+▁OPERA 1352
+▁OPINION 1353
+▁OPPORTUNITY 1354
+▁OPPOSITE 1355
+▁OR 1356
+▁ORDER 1357
+▁ORDINARY 1358
+▁OTHER 1359
+▁OTHERS 1360
+▁OTHERWISE 1361
+▁OUGHT 1362
+▁OUR 1363
+▁OURSELVES 1364
+▁OUT 1365
+▁OUTSIDE 1366
+▁OVER 1367
+▁OWN 1368
+▁P 1369
+▁PA 1370
+▁PAIN 1371
+▁PALACE 1372
+▁PALE 1373
+▁PAN 1374
+▁PAPER 1375
+▁PAR 1376
+▁PARDON 1377
+▁PART 1378
+▁PARTICULAR 1379
+▁PARTY 1380
+▁PASS 1381
+▁PASSAGE 1382
+▁PASSED 1383
+▁PASSION 1384
+▁PAST 1385
+▁PAT 1386
+▁PATH 1387
+▁PAUSE 1388
+▁PAY 1389
+▁PE 1390
+▁PEACE 1391
+▁PECULIAR 1392
+▁PEN 1393
+▁PEOPLE 1394
+▁PER 1395
+▁PERCEIVE 1396
+▁PERFECT 1397
+▁PERFORM 1398
+▁PERHAPS 1399
+▁PERIOD 1400
+▁PERMIT 1401
+▁PERSON 1402
+▁PERSONAL 1403
+▁PETER 1404
+▁PH 1405
+▁PHYSICAL 1406
+▁PI 1407
+▁PICK 1408
+▁PICTURE 1409
+▁PIECE 1410
+▁PIN 1411
+▁PLA 1412
+▁PLACE 1413
+▁PLAIN 1414
+▁PLAN 1415
+▁PLAY 1416
+▁PLEA 1417
+▁PLEASANT 1418
+▁PLEASE 1419
+▁PLEASURE 1420
+▁PLENTY 1421
+▁PO 1422
+▁POCKET 1423
+▁POINT 1424
+▁POLICE 1425
+▁POLITE 1426
+▁POLITICAL 1427
+▁POOR 1428
+▁PORT 1429
+▁POSITION 1430
+▁POSSESS 1431
+▁POSSIBLE 1432
+▁POSSIBLY 1433
+▁POST 1434
+▁POWER 1435
+▁PRACTICAL 1436
+▁PRACTICE 1437
+▁PRAISE 1438
+▁PRAY 1439
+▁PRE 1440
+▁PRECIOUS 1441
+▁PRESENCE 1442
+▁PRESENT 1443
+▁PRESERV 1444
+▁PRESIDENT 1445
+▁PRESS 1446
+▁PRETEND 1447
+▁PRETTY 1448
+▁PREVENT 1449
+▁PREVIOUS 1450
+▁PRI 1451
+▁PRINCE 1452
+▁PRINCESS 1453
+▁PRINCIPAL 1454
+▁PRINCIPLE 1455
+▁PRISONER 1456
+▁PRIVATE 1457
+▁PRO 1458
+▁PROBABLY 1459
+▁PROCEED 1460
+▁PROCESS 1461
+▁PRODUCE 1462
+▁PROFESSOR 1463
+▁PROGRESS 1464
+▁PROMISE 1465
+▁PROOF 1466
+▁PROPER 1467
+▁PROPORTION 1468
+▁PROTECT 1469
+▁PROTEST 1470
+▁PROVE 1471
+▁PROVIDE 1472
+▁PU 1473
+▁PUBLIC 1474
+▁PULL 1475
+▁PUNISH 1476
+▁PUR 1477
+▁PURPOSE 1478
+▁PURSUE 1479
+▁PUT 1480
+▁QUA 1481
+▁QUARREL 1482
+▁QUARTER 1483
+▁QUEEN 1484
+▁QUESTION 1485
+▁QUICK 1486
+▁QUICKLY 1487
+▁QUIET 1488
+▁QUITE 1489
+▁RA 1490
+▁RAISED 1491
+▁RAN 1492
+▁RAPID 1493
+▁RATHER 1494
+▁RE 1495
+▁REACH 1496
+▁REACHED 1497
+▁READ 1498
+▁READY 1499
+▁REAL 1500
+▁REALI 1501
+▁REALLY 1502
+▁REASON 1503
+▁RECEIVE 1504
+▁RECEIVED 1505
+▁RECOGNI 1506
+▁RECOLLECT 1507
+▁RECORD 1508
+▁RECOVER 1509
+▁RED 1510
+▁REFLECT 1511
+▁REFUSE 1512
+▁REGARD 1513
+▁REGRET 1514
+▁REGULAR 1515
+▁RELATION 1516
+▁RELIEF 1517
+▁RELIGION 1518
+▁REMAIN 1519
+▁REMARK 1520
+▁REMEMBER 1521
+▁RENDER 1522
+▁REP 1523
+▁REPEAT 1524
+▁REPLIED 1525
+▁REPRESENT 1526
+▁REQUEST 1527
+▁REQUIRE 1528
+▁RESPECT 1529
+▁REST 1530
+▁RESULT 1531
+▁RETIRE 1532
+▁RETURN 1533
+▁RETURNED 1534
+▁RI 1535
+▁RICH 1536
+▁RID 1537
+▁RIGHT 1538
+▁RING 1539
+▁RISE 1540
+▁RIVER 1541
+▁RO 1542
+▁ROAD 1543
+▁ROCK 1544
+▁ROLL 1545
+▁ROMAN 1546
+▁ROOF 1547
+▁ROOM 1548
+▁ROSE 1549
+▁ROUND 1550
+▁ROYAL 1551
+▁RU 1552
+▁RULE 1553
+▁RUN 1554
+▁RUNNING 1555
+▁RUSH 1556
+▁S 1557
+▁SA 1558
+▁SACRIFICE 1559
+▁SAD 1560
+▁SAFE 1561
+▁SAID 1562
+▁SAIL 1563
+▁SAINT 1564
+▁SAL 1565
+▁SAME 1566
+▁SAN 1567
+▁SAT 1568
+▁SATISFACTION 1569
+▁SATISFIED 1570
+▁SAVAGE 1571
+▁SAVE 1572
+▁SAW 1573
+▁SAY 1574
+▁SAYING 1575
+▁SAYS 1576
+▁SC 1577
+▁SCAR 1578
+▁SCARCELY 1579
+▁SCENE 1580
+▁SCHOOL 1581
+▁SCIENCE 1582
+▁SE 1583
+▁SEA 1584
+▁SEARCH 1585
+▁SEAT 1586
+▁SECOND 1587
+▁SECRET 1588
+▁SECURE 1589
+▁SEE 1590
+▁SEEM 1591
+▁SEEMED 1592
+▁SEEN 1593
+▁SEI 1594
+▁SELF 1595
+▁SEND 1596
+▁SENSATION 1597
+▁SENSE 1598
+▁SENT 1599
+▁SENTIMENT 1600
+▁SEPARATE 1601
+▁SERIOUS 1602
+▁SERVANT 1603
+▁SERVE 1604
+▁SERVICE 1605
+▁SET 1606
+▁SEVEN 1607
+▁SEVENTEEN 1608
+▁SEVERAL 1609
+▁SEVERE 1610
+▁SH 1611
+▁SHA 1612
+▁SHADOW 1613
+▁SHALL 1614
+▁SHAPE 1615
+▁SHARP 1616
+▁SHE 1617
+▁SHIP 1618
+▁SHOCK 1619
+▁SHOE 1620
+▁SHOOK 1621
+▁SHOOT 1622
+▁SHOP 1623
+▁SHORE 1624
+▁SHORT 1625
+▁SHOT 1626
+▁SHOULD 1627
+▁SHOULDER 1628
+▁SHOUT 1629
+▁SHOW 1630
+▁SHUT 1631
+▁SI 1632
+▁SICK 1633
+▁SIDE 1634
+▁SIGH 1635
+▁SIGHT 1636
+▁SIGN 1637
+▁SILENCE 1638
+▁SILENT 1639
+▁SILK 1640
+▁SILVER 1641
+▁SIMILAR 1642
+▁SIMPLE 1643
+▁SIMPLY 1644
+▁SINCE 1645
+▁SINGLE 1646
+▁SIR 1647
+▁SISTER 1648
+▁SIT 1649
+▁SITTING 1650
+▁SITUATION 1651
+▁SIX 1652
+▁SIXTEEN 1653
+▁SKI 1654
+▁SKY 1655
+▁SLAVE 1656
+▁SLEEP 1657
+▁SLEPT 1658
+▁SLIGHT 1659
+▁SLIP 1660
+▁SLOWLY 1661
+▁SMALL 1662
+▁SMILE 1663
+▁SMILING 1664
+▁SMITH 1665
+▁SMOKE 1666
+▁SMOOTH 1667
+▁SNOW 1668
+▁SO 1669
+▁SOCIAL 1670
+▁SOCIETY 1671
+▁SOFT 1672
+▁SOLDIER 1673
+▁SOLEMN 1674
+▁SOME 1675
+▁SOMEBODY 1676
+▁SOMETHING 1677
+▁SOMETIMES 1678
+▁SOMEWHAT 1679
+▁SON 1680
+▁SOON 1681
+▁SORROW 1682
+▁SORRY 1683
+▁SORT 1684
+▁SOUGHT 1685
+▁SOUL 1686
+▁SOUND 1687
+▁SOUTH 1688
+▁SP 1689
+▁SPACE 1690
+▁SPARE 1691
+▁SPEAK 1692
+▁SPEC 1693
+▁SPECIAL 1694
+▁SPEECH 1695
+▁SPEED 1696
+▁SPIRIT 1697
+▁SPITE 1698
+▁SPLENDID 1699
+▁SPOKE 1700
+▁SPOT 1701
+▁SPRANG 1702
+▁SPREAD 1703
+▁SPRING 1704
+▁SQU 1705
+▁SQUARE 1706
+▁ST 1707
+▁STAIRS 1708
+▁STAND 1709
+▁STANDING 1710
+▁STAR 1711
+▁START 1712
+▁STATE 1713
+▁STAY 1714
+▁STE 1715
+▁STEP 1716
+▁STICK 1717
+▁STILL 1718
+▁STOCK 1719
+▁STONE 1720
+▁STOOD 1721
+▁STOP 1722
+▁STOPPED 1723
+▁STORE 1724
+▁STORM 1725
+▁STORY 1726
+▁STRAIGHT 1727
+▁STRANGE 1728
+▁STRANGER 1729
+▁STREAM 1730
+▁STREET 1731
+▁STRENGTH 1732
+▁STRETCH 1733
+▁STRIKE 1734
+▁STRONG 1735
+▁STRUCK 1736
+▁STRUGGLE 1737
+▁STUDY 1738
+▁STUFF 1739
+▁SU 1740
+▁SUB 1741
+▁SUBJECT 1742
+▁SUBSTANCE 1743
+▁SUCCEED 1744
+▁SUCCESS 1745
+▁SUCH 1746
+▁SUDDEN 1747
+▁SUDDENLY 1748
+▁SUFFER 1749
+▁SUFFICIENT 1750
+▁SUGGEST 1751
+▁SUIT 1752
+▁SUM 1753
+▁SUMMER 1754
+▁SUN 1755
+▁SUNDAY 1756
+▁SUPER 1757
+▁SUPERIOR 1758
+▁SUPPER 1759
+▁SUPPORT 1760
+▁SUPPOSE 1761
+▁SUR 1762
+▁SURE 1763
+▁SURFACE 1764
+▁SURPRISE 1765
+▁SUSPECT 1766
+▁SUSPICION 1767
+▁SW 1768
+▁SWEET 1769
+▁SWIFT 1770
+▁SWORD 1771
+▁SYSTEM 1772
+▁TA 1773
+▁TABLE 1774
+▁TAKE 1775
+▁TAKEN 1776
+▁TAKING 1777
+▁TALK 1778
+▁TALL 1779
+▁TASTE 1780
+▁TAUGHT 1781
+▁TE 1782
+▁TEA 1783
+▁TEACH 1784
+▁TEARS 1785
+▁TEETH 1786
+▁TELL 1787
+▁TEMPER 1788
+▁TEMPLE 1789
+▁TEMPT 1790
+▁TEN 1791
+▁TENDER 1792
+▁TER 1793
+▁TERRIBLE 1794
+▁TERROR 1795
+▁TH 1796
+▁THAN 1797
+▁THANK 1798
+▁THAT 1799
+▁THE 1800
+▁THEIR 1801
+▁THEM 1802
+▁THEMSELVES 1803
+▁THEN 1804
+▁THERE 1805
+▁THEREFORE 1806
+▁THESE 1807
+▁THEY 1808
+▁THICK 1809
+▁THING 1810
+▁THINGS 1811
+▁THINK 1812
+▁THIRD 1813
+▁THIRTY 1814
+▁THIS 1815
+▁THOROUGH 1816
+▁THOSE 1817
+▁THOU 1818
+▁THOUGH 1819
+▁THOUGHT 1820
+▁THOUSAND 1821
+▁THREE 1822
+▁THREW 1823
+▁THROAT 1824
+▁THROUGH 1825
+▁THROW 1826
+▁THRUST 1827
+▁THUNDER 1828
+▁THUS 1829
+▁THY 1830
+▁TI 1831
+▁TILL 1832
+▁TIME 1833
+▁TO 1834
+▁TOGETHER 1835
+▁TOLD 1836
+▁TONGUE 1837
+▁TOO 1838
+▁TOOK 1839
+▁TOUCH 1840
+▁TOWARD 1841
+▁TOWARDS 1842
+▁TOWN 1843
+▁TRA 1844
+▁TRAIN 1845
+▁TRANS 1846
+▁TRAVEL 1847
+▁TRE 1848
+▁TREASURE 1849
+▁TREAT 1850
+▁TREE 1851
+▁TREMBLING 1852
+▁TRI 1853
+▁TRIED 1854
+▁TRIUMPH 1855
+▁TRO 1856
+▁TROUBLE 1857
+▁TRU 1858
+▁TRUE 1859
+▁TRUST 1860
+▁TRUTH 1861
+▁TRY 1862
+▁TU 1863
+▁TUR 1864
+▁TURN 1865
+▁TURNED 1866
+▁TW 1867
+▁TWELVE 1868
+▁TWENTY 1869
+▁TWICE 1870
+▁TWO 1871
+▁TYPE 1872
+▁UN 1873
+▁UNCLE 1874
+▁UNDER 1875
+▁UNDERSTAND 1876
+▁UNDERSTOOD 1877
+▁UNFORTUNATE 1878
+▁UNITED 1879
+▁UNKNOWN 1880
+▁UNTIL 1881
+▁UP 1882
+▁UPON 1883
+▁URGE 1884
+▁US 1885
+▁USE 1886
+▁USED 1887
+▁USUAL 1888
+▁UTTER 1889
+▁VA 1890
+▁VALLEY 1891
+▁VALUE 1892
+▁VAN 1893
+▁VARIOUS 1894
+▁VE 1895
+▁VEN 1896
+▁VENTURE 1897
+▁VER 1898
+▁VERY 1899
+▁VESSEL 1900
+▁VI 1901
+▁VIEW 1902
+▁VILLAGE 1903
+▁VIOLENT 1904
+▁VIRTUE 1905
+▁VISIT 1906
+▁VO 1907
+▁VOICE 1908
+▁W 1909
+▁WA 1910
+▁WAIT 1911
+▁WALK 1912
+▁WALKED 1913
+▁WALL 1914
+▁WANDER 1915
+▁WANT 1916
+▁WANTED 1917
+▁WAR 1918
+▁WARM 1919
+▁WAS 1920
+▁WATCH 1921
+▁WATER 1922
+▁WAVE 1923
+▁WAY 1924
+▁WE 1925
+▁WEAK 1926
+▁WEALTH 1927
+▁WEATHER 1928
+▁WEEK 1929
+▁WELCOME 1930
+▁WELL 1931
+▁WENT 1932
+▁WERE 1933
+▁WHAT 1934
+▁WHATEVER 1935
+▁WHEEL 1936
+▁WHEN 1937
+▁WHERE 1938
+▁WHETHER 1939
+▁WHI 1940
+▁WHICH 1941
+▁WHILE 1942
+▁WHISPER 1943
+▁WHITE 1944
+▁WHO 1945
+▁WHOLE 1946
+▁WHOM 1947
+▁WHOSE 1948
+▁WHY 1949
+▁WI 1950
+▁WICKED 1951
+▁WIDE 1952
+▁WIFE 1953
+▁WILD 1954
+▁WILL 1955
+▁WILLIAM 1956
+▁WIN 1957
+▁WIND 1958
+▁WINDOW 1959
+▁WINTER 1960
+▁WISE 1961
+▁WISH 1962
+▁WITH 1963
+▁WITHIN 1964
+▁WITHOUT 1965
+▁WITNESS 1966
+▁WOMAN 1967
+▁WOMEN 1968
+▁WON 1969
+▁WONDER 1970
+▁WONDERFUL 1971
+▁WOOD 1972
+▁WORD 1973
+▁WORDS 1974
+▁WORE 1975
+▁WORK 1976
+▁WORLD 1977
+▁WORSE 1978
+▁WORSHIP 1979
+▁WORST 1980
+▁WORTH 1981
+▁WOULD 1982
+▁WOUND 1983
+▁WRETCH 1984
+▁WRITE 1985
+▁WRITING 1986
+▁WRITTEN 1987
+▁WRONG 1988
+▁WROTE 1989
+▁YARD 1990
+▁YE 1991
+▁YEAR 1992
+▁YEARS 1993
+▁YELLOW 1994
+▁YES 1995
+▁YESTERDAY 1996
+▁YET 1997
+▁YIELD 1998
+▁YO 1999
+▁YORK 2000
+▁YOU 2001
+▁YOUNG 2002
+▁YOUR 2003
+▁YOURSELF 2004
+一 2005
+丁 2006
+七 2007
+万 2008
+丈 2009
+三 2010
+上 2011
+下 2012
+不 2013
+与 2014
+丐 2015
+丑 2016
+专 2017
+且 2018
+丕 2019
+世 2020
+丘 2021
+丙 2022
+业 2023
+丛 2024
+东 2025
+丝 2026
+丞 2027
+両 2028
+丢 2029
+两 2030
+严 2031
+丧 2032
+个 2033
+丫 2034
+中 2035
+丰 2036
+串 2037
+临 2038
+丸 2039
+丹 2040
+为 2041
+主 2042
+丼 2043
+丽 2044
+举 2045
+乃 2046
+久 2047
+么 2048
+义 2049
+之 2050
+乌 2051
+乍 2052
+乎 2053
+乏 2054
+乐 2055
+乒 2056
+乓 2057
+乔 2058
+乖 2059
+乘 2060
+乙 2061
+乜 2062
+九 2063
+乞 2064
+也 2065
+习 2066
+乡 2067
+书 2068
+乩 2069
+买 2070
+乱 2071
+乳 2072
+乸 2073
+乾 2074
+亁 2075
+了 2076
+予 2077
+争 2078
+事 2079
+二 2080
+亍 2081
+于 2082
+亏 2083
+云 2084
+互 2085
+五 2086
+井 2087
+亘 2088
+亚 2089
+些 2090
+亜 2091
+亟 2092
+亡 2093
+亢 2094
+交 2095
+亥 2096
+亦 2097
+产 2098
+亨 2099
+亩 2100
+享 2101
+京 2102
+亭 2103
+亮 2104
+亲 2105
+亳 2106
+亵 2107
+人 2108
+亿 2109
+什 2110
+仁 2111
+仃 2112
+仄 2113
+仅 2114
+仆 2115
+仇 2116
+今 2117
+介 2118
+仍 2119
+从 2120
+仑 2121
+仓 2122
+仔 2123
+仕 2124
+他 2125
+仗 2126
+付 2127
+仙 2128
+仝 2129
+仞 2130
+仟 2131
+仡 2132
+代 2133
+令 2134
+以 2135
+仨 2136
+仪 2137
+们 2138
+仰 2139
+仱 2140
+仲 2141
+仵 2142
+件 2143
+价 2144
+任 2145
+份 2146
+仿 2147
+企 2148
+伉 2149
+伊 2150
+伍 2151
+伎 2152
+伏 2153
+伐 2154
+休 2155
+众 2156
+优 2157
+伙 2158
+会 2159
+伝 2160
+伞 2161
+伟 2162
+传 2163
+伢 2164
+伤 2165
+伥 2166
+伦 2167
+伧 2168
+伩 2169
+伪 2170
+伫 2171
+伯 2172
+估 2173
+伱 2174
+伴 2175
+伶 2176
+伸 2177
+伹 2178
+伺 2179
+似 2180
+伽 2181
+佃 2182
+但 2183
+位 2184
+低 2185
+住 2186
+佐 2187
+佑 2188
+体 2189
+何 2190
+佗 2191
+佘 2192
+余 2193
+佚 2194
+佛 2195
+作 2196
+佝 2197
+佞 2198
+佟 2199
+你 2200
+佢 2201
+佣 2202
+佤 2203
+佥 2204
+佩 2205
+佬 2206
+佮 2207
+佯 2208
+佰 2209
+佳 2210
+佶 2211
+佷 2212
+佻 2213
+佼 2214
+使 2215
+侃 2216
+侄 2217
+侈 2218
+例 2219
+侍 2220
+侏 2221
+侑 2222
+侔 2223
+侗 2224
+供 2225
+依 2226
+侠 2227
+侣 2228
+侥 2229
+侦 2230
+侧 2231
+侨 2232
+侩 2233
+侪 2234
+侬 2235
+侮 2236
+侯 2237
+侵 2238
+便 2239
+促 2240
+俄 2241
+俅 2242
+俊 2243
+俎 2244
+俏 2245
+俐 2246
+俑 2247
+俗 2248
+俘 2249
+俚 2250
+俛 2251
+保 2252
+俞 2253
+俟 2254
+信 2255
+俣 2256
+俦 2257
+俨 2258
+俩 2259
+俪 2260
+俭 2261
+修 2262
+俯 2263
+俱 2264
+俳 2265
+俸 2266
+俹 2267
+俺 2268
+俾 2269
+倌 2270
+倍 2271
+倏 2272
+倒 2273
+倔 2274
+倘 2275
+候 2276
+倚 2277
+倜 2278
+倞 2279
+借 2280
+倡 2281
+倦 2282
+倨 2283
+倩 2284
+倪 2285
+倭 2286
+倶 2287
+债 2288
+值 2289
+倾 2290
+偃 2291
+假 2292
+偈 2293
+偌 2294
+偎 2295
+偏 2296
+偕 2297
+做 2298
+停 2299
+偞 2300
+健 2301
+偲 2302
+偶 2303
+偷 2304
+偻 2305
+偾 2306
+偿 2307
+傀 2308
+傅 2309
+傈 2310
+傍 2311
+傣 2312
+傥 2313
+傧 2314
+储 2315
+催 2316
+傲 2317
+傻 2318
+僁 2319
+僆 2320
+像 2321
+僚 2322
+僧 2323
+僭 2324
+僮 2325
+僰 2326
+僳 2327
+僵 2328
+僻 2329
+儆 2330
+儋 2331
+儍 2332
+儒 2333
+儡 2334
+儬 2335
+儿 2336
+兀 2337
+允 2338
+元 2339
+兄 2340
+充 2341
+兆 2342
+先 2343
+光 2344
+克 2345
+免 2346
+兑 2347
+兔 2348
+兖 2349
+党 2350
+兜 2351
+兢 2352
+入 2353
+全 2354
+八 2355
+公 2356
+六 2357
+兮 2358
+兰 2359
+共 2360
+关 2361
+兴 2362
+兵 2363
+其 2364
+具 2365
+典 2366
+兹 2367
+养 2368
+兼 2369
+兽 2370
+冀 2371
+内 2372
+冇 2373
+冈 2374
+冉 2375
+册 2376
+再 2377
+冒 2378
+冕 2379
+冗 2380
+写 2381
+冚 2382
+军 2383
+农 2384
+冠 2385
+冢 2386
+冤 2387
+冥 2388
+冧 2389
+冬 2390
+冯 2391
+冰 2392
+冲 2393
+决 2394
+况 2395
+冶 2396
+冷 2397
+冸 2398
+冻 2399
+冼 2400
+冽 2401
+净 2402
+凄 2403
+准 2404
+凇 2405
+凉 2406
+凋 2407
+凌 2408
+减 2409
+凑 2410
+凖 2411
+凛 2412
+凝 2413
+几 2414
+凡 2415
+凤 2416
+凫 2417
+凭 2418
+凯 2419
+凰 2420
+凳 2421
+凶 2422
+凸 2423
+凹 2424
+出 2425
+击 2426
+凼 2427
+函 2428
+凿 2429
+刀 2430
+刁 2431
+刃 2432
+分 2433
+切 2434
+刈 2435
+刉 2436
+刊 2437
+刎 2438
+刑 2439
+划 2440
+列 2441
+刘 2442
+则 2443
+刚 2444
+创 2445
+初 2446
+删 2447
+判 2448
+刨 2449
+利 2450
+别 2451
+刮 2452
+到 2453
+制 2454
+刷 2455
+券 2456
+刹 2457
+刺 2458
+刻 2459
+刽 2460
+刿 2461
+剁 2462
+剂 2463
+剃 2464
+削 2465
+剌 2466
+前 2467
+剐 2468
+剑 2469
+剔 2470
+剖 2471
+剡 2472
+剥 2473
+剧 2474
+剩 2475
+剪 2476
+剫 2477
+副 2478
+割 2479
+剽 2480
+剿 2481
+劈 2482
+劖 2483
+力 2484
+劝 2485
+办 2486
+功 2487
+加 2488
+务 2489
+劣 2490
+动 2491
+助 2492
+努 2493
+劫 2494
+劭 2495
+励 2496
+劲 2497
+劳 2498
+劵 2499
+劽 2500
+劾 2501
+势 2502
+勃 2503
+勇 2504
+勉 2505
+勋 2506
+勍 2507
+勐 2508
+勒 2509
+勓 2510
+勘 2511
+募 2512
+勤 2513
+勺 2514
+勾 2515
+勿 2516
+匀 2517
+包 2518
+匆 2519
+匈 2520
+匋 2521
+匍 2522
+匐 2523
+匕 2524
+化 2525
+北 2526
+匙 2527
+匝 2528
+匠 2529
+匡 2530
+匣 2531
+匪 2532
+匮 2533
+匹 2534
+区 2535
+医 2536
+匼 2537
+匾 2538
+匿 2539
+十 2540
+千 2541
+卅 2542
+升 2543
+午 2544
+卉 2545
+半 2546
+华 2547
+协 2548
+卑 2549
+卒 2550
+卓 2551
+单 2552
+卖 2553
+南 2554
+博 2555
+卜 2556
+卞 2557
+卟 2558
+占 2559
+卡 2560
+卢 2561
+卤 2562
+卦 2563
+卧 2564
+卫 2565
+卬 2566
+卮 2567
+卯 2568
+印 2569
+危 2570
+卲 2571
+即 2572
+却 2573
+卵 2574
+卷 2575
+卸 2576
+卿 2577
+厂 2578
+厄 2579
+厅 2580
+历 2581
+厉 2582
+压 2583
+厌 2584
+厍 2585
+厕 2586
+厖 2587
+厘 2588
+厚 2589
+厝 2590
+原 2591
+厢 2592
+厣 2593
+厥 2594
+厦 2595
+厨 2596
+厩 2597
+厮 2598
+厳 2599
+去 2600
+厾 2601
+县 2602
+叁 2603
+参 2604
+叆 2605
+叇 2606
+又 2607
+叉 2608
+及 2609
+友 2610
+双 2611
+反 2612
+发 2613
+叒 2614
+叔 2615
+叕 2616
+取 2617
+受 2618
+变 2619
+叙 2620
+叛 2621
+叟 2622
+叠 2623
+口 2624
+古 2625
+句 2626
+另 2627
+叨 2628
+叩 2629
+只 2630
+叫 2631
+召 2632
+叭 2633
+叮 2634
+可 2635
+台 2636
+叱 2637
+史 2638
+右 2639
+叵 2640
+叶 2641
+号 2642
+司 2643
+叹 2644
+叻 2645
+叼 2646
+叽 2647
+吁 2648
+吂 2649
+吃 2650
+各 2651
+吆 2652
+合 2653
+吉 2654
+吊 2655
+吋 2656
+同 2657
+名 2658
+后 2659
+吏 2660
+吐 2661
+向 2662
+吒 2663
+吓 2664
+吔 2665
+吕 2666
+吖 2667
+吗 2668
+吚 2669
+君 2670
+吝 2671
+吞 2672
+吟 2673
+吠 2674
+吡 2675
+吥 2676
+否 2677
+吧 2678
+吨 2679
+吩 2680
+含 2681
+听 2682
+吭 2683
+吮 2684
+启 2685
+吱 2686
+吲 2687
+吴 2688
+吵 2689
+吸 2690
+吹 2691
+吻 2692
+吼 2693
+吽 2694
+吾 2695
+吿 2696
+呀 2697
+呃 2698
+呆 2699
+呈 2700
+告 2701
+呋 2702
+呎 2703
+呐 2704
+呒 2705
+呓 2706
+呔 2707
+呕 2708
+呖 2709
+呗 2710
+员 2711
+呛 2712
+呜 2713
+呢 2714
+呣 2715
+呤 2716
+呦 2717
+周 2718
+呮 2719
+呯 2720
+呱 2721
+呲 2722
+味 2723
+呴 2724
+呵 2725
+呶 2726
+呷 2727
+呸 2728
+呻 2729
+呼 2730
+命 2731
+呿 2732
+咀 2733
+咁 2734
+咂 2735
+咄 2736
+咆 2737
+咇 2738
+咈 2739
+咋 2740
+和 2741
+咎 2742
+咏 2743
+咐 2744
+咑 2745
+咒 2746
+咓 2747
+咔 2748
+咕 2749
+咖 2750
+咗 2751
+咘 2752
+咙 2753
+咚 2754
+咛 2755
+咝 2756
+咣 2757
+咤 2758
+咥 2759
+咦 2760
+咧 2761
+咨 2762
+咩 2763
+咪 2764
+咫 2765
+咬 2766
+咭 2767
+咮 2768
+咯 2769
+咱 2770
+咲 2771
+咳 2772
+咴 2773
+咵 2774
+咸 2775
+咹 2776
+咻 2777
+咽 2778
+咾 2779
+咿 2780
+哀 2781
+品 2782
+哂 2783
+哄 2784
+哆 2785
+哇 2786
+哈 2787
+哉 2788
+哋 2789
+哌 2790
+响 2791
+哎 2792
+哏 2793
+哐 2794
+哑 2795
+哒 2796
+哓 2797
+哔 2798
+哕 2799
+哗 2800
+哙 2801
+哚 2802
+哜 2803
+哝 2804
+哞 2805
+哟 2806
+哢 2807
+哣 2808
+哥 2809
+哦 2810
+哧 2811
+哨 2812
+哩 2813
+哪 2814
+哫 2815
+哭 2816
+哮 2817
+哲 2818
+哺 2819
+哼 2820
+哽 2821
+唁 2822
+唂 2823
+唅 2824
+唆 2825
+唇 2826
+唈 2827
+唉 2828
+唎 2829
+唏 2830
+唐 2831
+唑 2832
+唔 2833
+唚 2834
+唛 2835
+唞 2836
+唠 2837
+唢 2838
+唤 2839
+唥 2840
+唧 2841
+唪 2842
+唬 2843
+售 2844
+唯 2845
+唰 2846
+唱 2847
+唳 2848
+唵 2849
+唶 2850
+唷 2851
+唻 2852
+唾 2853
+唿 2854
+啁 2855
+啃 2856
+啄 2857
+啅 2858
+商 2859
+啈 2860
+啉 2861
+啊 2862
+啋 2863
+啍 2864
+啕 2865
+啖 2866
+啜 2867
+啡 2868
+啤 2869
+啥 2870
+啦 2871
+啧 2872
+啩 2873
+啪 2874
+啫 2875
+啬 2876
+啭 2877
+啮 2878
+啯 2879
+啰 2880
+啱 2881
+啲 2882
+啵 2883
+啶 2884
+啷 2885
+啸 2886
+啻 2887
+啼 2888
+啽 2889
+啾 2890
+喀 2891
+喁 2892
+喂 2893
+喃 2894
+善 2895
+喆 2896
+喇 2897
+喈 2898
+喉 2899
+喊 2900
+喋 2901
+喏 2902
+喐 2903
+喑 2904
+喔 2905
+喘 2906
+喙 2907
+喜 2908
+喝 2909
+喟 2910
+喧 2911
+喯 2912
+喰 2913
+喱 2914
+喳 2915
+喵 2916
+喷 2917
+喺 2918
+喻 2919
+喼 2920
+喽 2921
+嗅 2922
+嗌 2923
+嗍 2924
+嗑 2925
+嗒 2926
+嗓 2927
+嗔 2928
+嗖 2929
+嗙 2930
+嗛 2931
+嗜 2932
+嗝 2933
+嗞 2934
+嗟 2935
+嗡 2936
+嗣 2937
+嗤 2938
+嗥 2939
+嗦 2940
+嗨 2941
+嗪 2942
+嗫 2943
+嗬 2944
+嗮 2945
+嗯 2946
+嗱 2947
+嗲 2948
+嗳 2949
+嗷 2950
+嗻 2951
+嗽 2952
+嗿 2953
+嘀 2954
+嘁 2955
+嘅 2956
+嘈 2957
+嘉 2958
+嘌 2959
+嘎 2960
+嘑 2961
+嘘 2962
+嘚 2963
+嘛 2964
+嘞 2965
+嘟 2966
+嘢 2967
+嘣 2968
+嘤 2969
+嘥 2970
+嘬 2971
+嘭 2972
+嘱 2973
+嘲 2974
+嘴 2975
+嘶 2976
+嘹 2977
+嘻 2978
+嘿 2979
+噃 2980
+噄 2981
+噉 2982
+噌 2983
+噎 2984
+噏 2985
+噔 2986
+噗 2987
+噘 2988
+噙 2989
+噜 2990
+噢 2991
+噤 2992
+器 2993
+噩 2994
+噪 2995
+噫 2996
+噬 2997
+噭 2998
+噱 2999
+噶 3000
+噻 3001
+噼 3002
+嚄 3003
+嚅 3004
+嚎 3005
+嚏 3006
+嚒 3007
+嚓 3008
+嚘 3009
+嚚 3010
+嚟 3011
+嚡 3012
+嚢 3013
+嚣 3014
+嚬 3015
+嚯 3016
+嚵 3017
+嚷 3018
+嚸 3019
+嚻 3020
+嚼 3021
+嚿 3022
+囊 3023
+囍 3024
+囔 3025
+囖 3026
+囗 3027
+囚 3028
+四 3029
+囝 3030
+回 3031
+囟 3032
+因 3033
+囡 3034
+团 3035
+団 3036
+囤 3037
+囧 3038
+囫 3039
+园 3040
+困 3041
+囱 3042
+围 3043
+囵 3044
+囷 3045
+固 3046
+国 3047
+图 3048
+圃 3049
+圆 3050
+圈 3051
+圏 3052
+圑 3053
+土 3054
+圣 3055
+在 3056
+圩 3057
+圪 3058
+圭 3059
+地 3060
+圳 3061
+场 3062
+圻 3063
+圾 3064
+址 3065
+坂 3066
+均 3067
+坉 3068
+坊 3069
+坍 3070
+坎 3071
+坏 3072
+坐 3073
+坑 3074
+块 3075
+坚 3076
+坛 3077
+坝 3078
+坞 3079
+坟 3080
+坠 3081
+坡 3082
+坤 3083
+坦 3084
+坨 3085
+坪 3086
+坭 3087
+坯 3088
+坲 3089
+坳 3090
+坷 3091
+坸 3092
+坺 3093
+坻 3094
+坼 3095
+垂 3096
+垃 3097
+垄 3098
+垅 3099
+垆 3100
+型 3101
+垌 3102
+垒 3103
+垓 3104
+垕 3105
+垚 3106
+垛 3107
+垟 3108
+垠 3109
+垡 3110
+垢 3111
+垣 3112
+垤 3113
+垦 3114
+垩 3115
+垫 3116
+垭 3117
+垮 3118
+垯 3119
+垱 3120
+垴 3121
+垵 3122
+垸 3123
+埂 3124
+埃 3125
+埅 3126
+埇 3127
+埋 3128
+埌 3129
+城 3130
+埏 3131
+埒 3132
+埔 3133
+埕 3134
+埗 3135
+埙 3136
+埜 3137
+埝 3138
+埞 3139
+域 3140
+埠 3141
+埤 3142
+埭 3143
+埲 3144
+埸 3145
+培 3146
+基 3147
+埼 3148
+堀 3149
+堂 3150
+堃 3151
+堆 3152
+堇 3153
+堉 3154
+堌 3155
+堑 3156
+堕 3157
+堙 3158
+堞 3159
+堠 3160
+堡 3161
+堤 3162
+堪 3163
+堰 3164
+堵 3165
+堽 3166
+塄 3167
+塆 3168
+塉 3169
+塌 3170
+塍 3171
+塑 3172
+塔 3173
+塘 3174
+塝 3175
+塞 3176
+填 3177
+塬 3178
+塱 3179
+塾 3180
+墀 3181
+境 3182
+墅 3183
+墉 3184
+墓 3185
+墕 3186
+墙 3187
+增 3188
+墟 3189
+墨 3190
+墩 3191
+壁 3192
+壅 3193
+壆 3194
+壑 3195
+壒 3196
+壕 3197
+壖 3198
+壤 3199
+士 3200
+壬 3201
+壮 3202
+声 3203
+売 3204
+壳 3205
+壶 3206
+壹 3207
+夀 3208
+处 3209
+备 3210
+复 3211
+夏 3212
+夔 3213
+夕 3214
+外 3215
+夙 3216
+多 3217
+夜 3218
+够 3219
+大 3220
+天 3221
+太 3222
+夫 3223
+夭 3224
+央 3225
+夯 3226
+失 3227
+头 3228
+夷 3229
+夸 3230
+夹 3231
+夺 3232
+夼 3233
+奀 3234
+奁 3235
+奂 3236
+奄 3237
+奇 3238
+奈 3239
+奉 3240
+奋 3241
+奎 3242
+奏 3243
+契 3244
+奓 3245
+奔 3246
+奕 3247
+奖 3248
+套 3249
+奘 3250
+奚 3251
+奠 3252
+奢 3253
+奥 3254
+女 3255
+奴 3256
+奶 3257
+奸 3258
+她 3259
+好 3260
+妁 3261
+如 3262
+妃 3263
+妄 3264
+妆 3265
+妇 3266
+妈 3267
+妊 3268
+妍 3269
+妒 3270
+妓 3271
+妖 3272
+妗 3273
+妙 3274
+妞 3275
+妠 3276
+妣 3277
+妤 3278
+妥 3279
+妧 3280
+妨 3281
+妩 3282
+妪 3283
+妮 3284
+妯 3285
+妲 3286
+妳 3287
+妹 3288
+妺 3289
+妻 3290
+妾 3291
+姆 3292
+姊 3293
+始 3294
+姐 3295
+姑 3296
+姒 3297
+姓 3298
+委 3299
+姖 3300
+姗 3301
+姘 3302
+姚 3303
+姜 3304
+姝 3305
+姞 3306
+姣 3307
+姥 3308
+姨 3309
+姩 3310
+姪 3311
+姫 3312
+姬 3313
+姮 3314
+姵 3315
+姹 3316
+姻 3317
+姿 3318
+威 3319
+娃 3320
+娄 3321
+娅 3322
+娆 3323
+娇 3324
+娈 3325
+娉 3326
+娌 3327
+娑 3328
+娓 3329
+娘 3330
+娜 3331
+娟 3332
+娠 3333
+娣 3334
+娥 3335
+娩 3336
+娱 3337
+娲 3338
+娴 3339
+娶 3340
+娼 3341
+婀 3342
+婆 3343
+婉 3344
+婊 3345
+婕 3346
+婚 3347
+婢 3348
+婧 3349
+婪 3350
+婳 3351
+婴 3352
+婵 3353
+婶 3354
+婷 3355
+婺 3356
+婿 3357
+媒 3358
+媚 3359
+媛 3360
+媞 3361
+媤 3362
+媪 3363
+媲 3364
+媳 3365
+媵 3366
+媺 3367
+媾 3368
+嫁 3369
+嫂 3370
+嫉 3371
+嫌 3372
+嫐 3373
+嫔 3374
+嫖 3375
+嫘 3376
+嫚 3377
+嫜 3378
+嫡 3379
+嫣 3380
+嫦 3381
+嫩 3382
+嫪 3383
+嫱 3384
+嫲 3385
+嬅 3386
+嬉 3387
+嬓 3388
+嬗 3389
+嬛 3390
+嬢 3391
+嬲 3392
+嬴 3393
+嬷 3394
+孀 3395
+子 3396
+孑 3397
+孔 3398
+孕 3399
+孖 3400
+字 3401
+存 3402
+孙 3403
+孚 3404
+孛 3405
+孜 3406
+孝 3407
+孟 3408
+孢 3409
+季 3410
+孤 3411
+孥 3412
+学 3413
+孩 3414
+孪 3415
+孬 3416
+孭 3417
+孰 3418
+孱 3419
+孲 3420
+孵 3421
+孺 3422
+孽 3423
+宁 3424
+它 3425
+宅 3426
+宇 3427
+守 3428
+安 3429
+宋 3430
+完 3431
+宏 3432
+宓 3433
+宕 3434
+宗 3435
+官 3436
+宙 3437
+定 3438
+宛 3439
+宜 3440
+宝 3441
+实 3442
+実 3443
+宠 3444
+审 3445
+客 3446
+宣 3447
+室 3448
+宥 3449
+宦 3450
+宪 3451
+宫 3452
+宰 3453
+害 3454
+宴 3455
+宵 3456
+家 3457
+宸 3458
+容 3459
+宽 3460
+宾 3461
+宿 3462
+寂 3463
+寃 3464
+寄 3465
+寅 3466
+密 3467
+寇 3468
+富 3469
+寐 3470
+寒 3471
+寓 3472
+寛 3473
+寝 3474
+寞 3475
+察 3476
+寡 3477
+寥 3478
+寨 3479
+寮 3480
+寰 3481
+寳 3482
+寸 3483
+对 3484
+寺 3485
+寻 3486
+导 3487
+寿 3488
+封 3489
+射 3490
+尅 3491
+将 3492
+尉 3493
+尊 3494
+小 3495
+尐 3496
+少 3497
+尓 3498
+尔 3499
+尕 3500
+尖 3501
+尘 3502
+尙 3503
+尚 3504
+尝 3505
+尠 3506
+尢 3507
+尤 3508
+尧 3509
+尬 3510
+就 3511
+尴 3512
+尸 3513
+尹 3514
+尺 3515
+尻 3516
+尼 3517
+尽 3518
+尾 3519
+尿 3520
+局 3521
+屁 3522
+层 3523
+屄 3524
+居 3525
+屈 3526
+屉 3527
+届 3528
+屋 3529
+屌 3530
+屎 3531
+屏 3532
+屐 3533
+屑 3534
+展 3535
+屘 3536
+屙 3537
+屛 3538
+属 3539
+屠 3540
+屡 3541
+屣 3542
+履 3543
+屦 3544
+屮 3545
+屯 3546
+山 3547
+屹 3548
+屿 3549
+岀 3550
+岁 3551
+岂 3552
+岈 3553
+岌 3554
+岐 3555
+岑 3556
+岔 3557
+岖 3558
+岗 3559
+岘 3560
+岙 3561
+岚 3562
+岛 3563
+岢 3564
+岣 3565
+岩 3566
+岫 3567
+岬 3568
+岭 3569
+岱 3570
+岳 3571
+岷 3572
+岸 3573
+岿 3574
+峁 3575
+峄 3576
+峇 3577
+峋 3578
+峒 3579
+峙 3580
+峡 3581
+峤 3582
+峥 3583
+峦 3584
+峨 3585
+峪 3586
+峭 3587
+峰 3588
+峻 3589
+崀 3590
+崂 3591
+崃 3592
+崆 3593
+崇 3594
+崎 3595
+崒 3596
+崔 3597
+崖 3598
+崛 3599
+崞 3600
+崧 3601
+崩 3602
+崭 3603
+崮 3604
+崴 3605
+崷 3606
+崽 3607
+嵇 3608
+嵊 3609
+嵋 3610
+嵌 3611
+嵖 3612
+嵘 3613
+嵚 3614
+嵛 3615
+嵝 3616
+嵩 3617
+嵬 3618
+嵯 3619
+嵴 3620
+嵺 3621
+嶂 3622
+嶙 3623
+嶝 3624
+巅 3625
+巉 3626
+巍 3627
+巜 3628
+川 3629
+州 3630
+巡 3631
+巢 3632
+工 3633
+左 3634
+巧 3635
+巨 3636
+巩 3637
+巫 3638
+差 3639
+己 3640
+已 3641
+巳 3642
+巴 3643
+巷 3644
+巽 3645
+巾 3646
+巿 3647
+币 3648
+市 3649
+布 3650
+帅 3651
+帆 3652
+师 3653
+希 3654
+帏 3655
+帐 3656
+帑 3657
+帕 3658
+帖 3659
+帘 3660
+帙 3661
+帚 3662
+帛 3663
+帜 3664
+帝 3665
+帟 3666
+带 3667
+帧 3668
+席 3669
+帮 3670
+帯 3671
+帰 3672
+帱 3673
+帷 3674
+常 3675
+帻 3676
+帼 3677
+帽 3678
+幂 3679
+幄 3680
+幅 3681
+幌 3682
+幔 3683
+幕 3684
+幚 3685
+幡 3686
+幢 3687
+干 3688
+平 3689
+年 3690
+并 3691
+幸 3692
+幺 3693
+幻 3694
+幼 3695
+幽 3696
+广 3697
+庄 3698
+庆 3699
+庇 3700
+床 3701
+序 3702
+庐 3703
+庑 3704
+库 3705
+应 3706
+底 3707
+庖 3708
+店 3709
+庙 3710
+庚 3711
+庛 3712
+府 3713
+庞 3714
+废 3715
+庥 3716
+度 3717
+座 3718
+庭 3719
+庵 3720
+庶 3721
+康 3722
+庸 3723
+庹 3724
+庾 3725
+廉 3726
+廊 3727
+廋 3728
+廑 3729
+廓 3730
+廖 3731
+廛 3732
+廯 3733
+延 3734
+廷 3735
+廸 3736
+建 3737
+廿 3738
+开 3739
+弁 3740
+异 3741
+弃 3742
+弄 3743
+弈 3744
+弊 3745
+弋 3746
+弍 3747
+式 3748
+弑 3749
+弓 3750
+引 3751
+弗 3752
+弘 3753
+弛 3754
+弟 3755
+张 3756
+弥 3757
+弦 3758
+弧 3759
+弩 3760
+弯 3761
+弱 3762
+弸 3763
+弹 3764
+强 3765
+弼 3766
+彊 3767
+归 3768
+当 3769
+录 3770
+彖 3771
+彗 3772
+彘 3773
+彝 3774
+形 3775
+彤 3776
+彦 3777
+彧 3778
+彩 3779
+彪 3780
+彬 3781
+彭 3782
+彰 3783
+影 3784
+彷 3785
+役 3786
+彻 3787
+彼 3788
+彿 3789
+往 3790
+征 3791
+徂 3792
+径 3793
+待 3794
+徇 3795
+很 3796
+徉 3797
+徊 3798
+律 3799
+徐 3800
+徒 3801
+徕 3802
+得 3803
+徘 3804
+徙 3805
+徜 3806
+御 3807
+徨 3808
+循 3809
+徬 3810
+徭 3811
+微 3812
+徳 3813
+德 3814
+徼 3815
+徽 3816
+心 3817
+必 3818
+忆 3819
+忌 3820
+忍 3821
+忏 3822
+忐 3823
+忑 3824
+忒 3825
+忖 3826
+志 3827
+忘 3828
+忙 3829
+忝 3830
+忟 3831
+忠 3832
+忡 3833
+忤 3834
+忧 3835
+忪 3836
+快 3837
+忱 3838
+忳 3839
+念 3840
+忸 3841
+忻 3842
+忽 3843
+忾 3844
+忿 3845
+怀 3846
+态 3847
+怂 3848
+怄 3849
+怅 3850
+怆 3851
+怎 3852
+怏 3853
+怒 3854
+怔 3855
+怕 3856
+怖 3857
+怙 3858
+怜 3859
+思 3860
+怠 3861
+怡 3862
+急 3863
+怦 3864
+性 3865
+怨 3866
+怪 3867
+怫 3868
+怯 3869
+怵 3870
+总 3871
+怼 3872
+怿 3873
+恁 3874
+恃 3875
+恋 3876
+恍 3877
+恐 3878
+恒 3879
+恓 3880
+恕 3881
+恙 3882
+恢 3883
+恣 3884
+恤 3885
+恨 3886
+恩 3887
+恪 3888
+恬 3889
+恭 3890
+息 3891
+恰 3892
+恳 3893
+恶 3894
+恸 3895
+恹 3896
+恺 3897
+恻 3898
+恼 3899
+恽 3900
+恿 3901
+悃 3902
+悄 3903
+悉 3904
+悌 3905
+悍 3906
+悒 3907
+悔 3908
+悖 3909
+悗 3910
+悚 3911
+悛 3912
+悟 3913
+悠 3914
+患 3915
+悦 3916
+您 3917
+悫 3918
+悬 3919
+悭 3920
+悯 3921
+悱 3922
+悲 3923
+悴 3924
+悸 3925
+悻 3926
+悼 3927
+惀 3928
+情 3929
+惆 3930
+惇 3931
+惊 3932
+惋 3933
+惑 3934
+惕 3935
+惗 3936
+惘 3937
+惙 3938
+惚 3939
+惛 3940
+惜 3941
+惟 3942
+惠 3943
+惦 3944
+惧 3945
+惨 3946
+惩 3947
+惫 3948
+惬 3949
+惭 3950
+惮 3951
+惯 3952
+惰 3953
+想 3954
+惶 3955
+惹 3956
+惺 3957
+愁 3958
+愆 3959
+愈 3960
+愉 3961
+愍 3962
+愎 3963
+意 3964
+愔 3965
+愕 3966
+愚 3967
+感 3968
+愠 3969
+愣 3970
+愤 3971
+愧 3972
+愫 3973
+愽 3974
+愿 3975
+慈 3976
+慊 3977
+慌 3978
+慎 3979
+慑 3980
+慕 3981
+慜 3982
+慢 3983
+慧 3984
+慨 3985
+慰 3986
+慵 3987
+慷 3988
+憀 3989
+憋 3990
+憎 3991
+憔 3992
+憟 3993
+憧 3994
+憨 3995
+憩 3996
+憬 3997
+憷 3998
+憾 3999
+懂 4000
+懈 4001
+懊 4002
+懋 4003
+懑 4004
+懒 4005
+懦 4006
+懵 4007
+懿 4008
+戆 4009
+戈 4010
+戉 4011
+戊 4012
+戌 4013
+戍 4014
+戎 4015
+戏 4016
+成 4017
+我 4018
+戒 4019
+戕 4020
+或 4021
+战 4022
+戙 4023
+戚 4024
+戛 4025
+戟 4026
+戢 4027
+戥 4028
+戦 4029
+截 4030
+戬 4031
+戮 4032
+戯 4033
+戳 4034
+戴 4035
+户 4036
+戽 4037
+戾 4038
+房 4039
+所 4040
+扁 4041
+扂 4042
+扃 4043
+扇 4044
+扈 4045
+扉 4046
+手 4047
+才 4048
+扎 4049
+扐 4050
+扑 4051
+扒 4052
+打 4053
+扔 4054
+托 4055
+扛 4056
+扠 4057
+扣 4058
+扥 4059
+扦 4060
+执 4061
+扩 4062
+扪 4063
+扫 4064
+扬 4065
+扭 4066
+扮 4067
+扯 4068
+扰 4069
+扱 4070
+扲 4071
+扳 4072
+扶 4073
+批 4074
+扻 4075
+扼 4076
+扽 4077
+找 4078
+承 4079
+技 4080
+抃 4081
+抄 4082
+抆 4083
+抉 4084
+把 4085
+抌 4086
+抑 4087
+抒 4088
+抓 4089
+抔 4090
+投 4091
+抖 4092
+抗 4093
+折 4094
+抚 4095
+抛 4096
+抠 4097
+抡 4098
+抢 4099
+护 4100
+报 4101
+抦 4102
+抨 4103
+披 4104
+抬 4105
+抱 4106
+抵 4107
+抹 4108
+抻 4109
+押 4110
+抽 4111
+抿 4112
+拂 4113
+拃 4114
+拄 4115
+担 4116
+拆 4117
+拇 4118
+拈 4119
+拉 4120
+拌 4121
+拍 4122
+拎 4123
+拏 4124
+拐 4125
+拒 4126
+拓 4127
+拔 4128
+拖 4129
+拗 4130
+拘 4131
+拙 4132
+拚 4133
+招 4134
+拜 4135
+拟 4136
+拢 4137
+拣 4138
+拥 4139
+拦 4140
+拧 4141
+拨 4142
+择 4143
+拫 4144
+括 4145
+拭 4146
+拮 4147
+拯 4148
+拱 4149
+拳 4150
+拴 4151
+拷 4152
+拼 4153
+拽 4154
+拾 4155
+拿 4156
+持 4157
+挂 4158
+指 4159
+挈 4160
+按 4161
+挎 4162
+挐 4163
+挑 4164
+挒 4165
+挖 4166
+挚 4167
+挛 4168
+挜 4169
+挝 4170
+挞 4171
+挟 4172
+挠 4173
+挡 4174
+挣 4175
+挤 4176
+挥 4177
+挨 4178
+挪 4179
+挫 4180
+振 4181
+挲 4182
+挸 4183
+挹 4184
+挺 4185
+挽 4186
+捂 4187
+捃 4188
+捅 4189
+捆 4190
+捉 4191
+捊 4192
+捋 4193
+捌 4194
+捍 4195
+捎 4196
+捏 4197
+捐 4198
+捕 4199
+捜 4200
+捞 4201
+损 4202
+捡 4203
+换 4204
+捣 4205
+捧 4206
+捩 4207
+据 4208
+捱 4209
+捶 4210
+捷 4211
+捹 4212
+捺 4213
+捻 4214
+捽 4215
+掀 4216
+掂 4217
+掅 4218
+掇 4219
+授 4220
+掉 4221
+掌 4222
+掏 4223
+掐 4224
+排 4225
+掕 4226
+掖 4227
+掘 4228
+掞 4229
+掟 4230
+掠 4231
+探 4232
+掣 4233
+接 4234
+掦 4235
+控 4236
+推 4237
+掩 4238
+措 4239
+掬 4240
+掭 4241
+掮 4242
+掰 4243
+掳 4244
+掴 4245
+掷 4246
+掸 4247
+掹 4248
+掺 4249
+掼 4250
+掿 4251
+揄 4252
+揆 4253
+揇 4254
+揈 4255
+揉 4256
+揍 4257
+描 4258
+提 4259
+插 4260
+揖 4261
+揗 4262
+揜 4263
+揞 4264
+揠 4265
+握 4266
+揢 4267
+揣 4268
+揦 4269
+揩 4270
+揪 4271
+揭 4272
+揳 4273
+援 4274
+揶 4275
+揷 4276
+揸 4277
+揹 4278
+揺 4279
+揼 4280
+揽 4281
+揾 4282
+揿 4283
+搀 4284
+搁 4285
+搂 4286
+搅 4287
+搇 4288
+搈 4289
+搏 4290
+搐 4291
+搓 4292
+搔 4293
+搜 4294
+搞 4295
+搡 4296
+搢 4297
+搣 4298
+搦 4299
+搪 4300
+搬 4301
+搭 4302
+搲 4303
+搴 4304
+携 4305
+搽 4306
+搾 4307
+摀 4308
+摁 4309
+摄 4310
+摆 4311
+摇 4312
+摊 4313
+摎 4314
+摒 4315
+摔 4316
+摕 4317
+摘 4318
+摙 4319
+摞 4320
+摧 4321
+摩 4322
+摭 4323
+摱 4324
+摵 4325
+摷 4326
+摸 4327
+摹 4328
+撂 4329
+撅 4330
+撇 4331
+撑 4332
+撒 4333
+撕 4334
+撗 4335
+撘 4336
+撚 4337
+撞 4338
+撠 4339
+撤 4340
+撩 4341
+撬 4342
+播 4343
+撮 4344
+撰 4345
+撵 4346
+撷 4347
+撸 4348
+撹 4349
+撼 4350
+擀 4351
+擂 4352
+擅 4353
+操 4354
+擎 4355
+擏 4356
+擒 4357
+擗 4358
+擘 4359
+擙 4360
+擝 4361
+擞 4362
+擡 4363
+擢 4364
+擤 4365
+擦 4366
+擳 4367
+擸 4368
+攀 4369
+攃 4370
+攒 4371
+攘 4372
+攞 4373
+攥 4374
+攨 4375
+攫 4376
+支 4377
+攰 4378
+收 4379
+攷 4380
+攸 4381
+改 4382
+攻 4383
+放 4384
+政 4385
+故 4386
+效 4387
+敌 4388
+敏 4389
+救 4390
+敔 4391
+敕 4392
+敖 4393
+教 4394
+敛 4395
+敝 4396
+敞 4397
+敢 4398
+散 4399
+敦 4400
+敬 4401
+数 4402
+敲 4403
+整 4404
+敷 4405
+文 4406
+斋 4407
+斌 4408
+斎 4409
+斐 4410
+斑 4411
+斓 4412
+斗 4413
+料 4414
+斛 4415
+斜 4416
+斟 4417
+斡 4418
+斤 4419
+斥 4420
+斧 4421
+斩 4422
+斫 4423
+断 4424
+斯 4425
+新 4426
+方 4427
+施 4428
+斿 4429
+旁 4430
+旄 4431
+旅 4432
+旆 4433
+旋 4434
+旌 4435
+旎 4436
+族 4437
+旒 4438
+旖 4439
+旗 4440
+旟 4441
+无 4442
+既 4443
+日 4444
+旦 4445
+旧 4446
+旨 4447
+早 4448
+旬 4449
+旭 4450
+旮 4451
+旯 4452
+旰 4453
+旱 4454
+旳 4455
+时 4456
+旷 4457
+旸 4458
+旺 4459
+旻 4460
+昀 4461
+昂 4462
+昃 4463
+昅 4464
+昆 4465
+昇 4466
+昊 4467
+昌 4468
+明 4469
+昏 4470
+昐 4471
+易 4472
+昔 4473
+昕 4474
+昙 4475
+昝 4476
+星 4477
+映 4478
+春 4479
+昧 4480
+昨 4481
+昭 4482
+是 4483
+昱 4484
+昳 4485
+昴 4486
+昵 4487
+昶 4488
+昺 4489
+昼 4490
+昽 4491
+显 4492
+晁 4493
+晃 4494
+晋 4495
+晌 4496
+晏 4497
+晒 4498
+晓 4499
+晔 4500
+晕 4501
+晖 4502
+晗 4503
+晚 4504
+晞 4505
+晟 4506
+晤 4507
+晦 4508
+晨 4509
+晩 4510
+晬 4511
+普 4512
+景 4513
+晰 4514
+晴 4515
+晶 4516
+晷 4517
+智 4518
+晻 4519
+晾 4520
+暂 4521
+暄 4522
+暇 4523
+暍 4524
+暎 4525
+暑 4526
+暖 4527
+暗 4528
+暝 4529
+暦 4530
+暧 4531
+暨 4532
+暪 4533
+暮 4534
+暱 4535
+暴 4536
+暸 4537
+暹 4538
+暻 4539
+曈 4540
+曌 4541
+曙 4542
+曛 4543
+曜 4544
+曝 4545
+曦 4546
+曩 4547
+曰 4548
+曱 4549
+曲 4550
+曳 4551
+更 4552
+曷 4553
+曹 4554
+曺 4555
+曼 4556
+曾 4557
+替 4558
+最 4559
+朅 4560
+月 4561
+有 4562
+朊 4563
+朋 4564
+服 4565
+朐 4566
+朔 4567
+朕 4568
+朗 4569
+朘 4570
+望 4571
+朝 4572
+期 4573
+朦 4574
+木 4575
+朩 4576
+未 4577
+末 4578
+本 4579
+札 4580
+术 4581
+朱 4582
+朴 4583
+朵 4584
+机 4585
+朽 4586
+杀 4587
+杂 4588
+权 4589
+杆 4590
+杈 4591
+杉 4592
+李 4593
+杏 4594
+材 4595
+村 4596
+杓 4597
+杖 4598
+杜 4599
+杞 4600
+束 4601
+杠 4602
+条 4603
+来 4604
+杨 4605
+杪 4606
+杭 4607
+杮 4608
+杯 4609
+杰 4610
+杲 4611
+杳 4612
+杵 4613
+杷 4614
+杼 4615
+松 4616
+板 4617
+极 4618
+构 4619
+枅 4620
+枇 4621
+枉 4622
+枋 4623
+枌 4624
+析 4625
+枕 4626
+林 4627
+枘 4628
+枚 4629
+果 4630
+枝 4631
+枞 4632
+枢 4633
+枣 4634
+枥 4635
+枧 4636
+枨 4637
+枪 4638
+枫 4639
+枭 4640
+枯 4641
+枰 4642
+枱 4643
+枳 4644
+架 4645
+枷 4646
+枸 4647
+柁 4648
+柄 4649
+柏 4650
+某 4651
+柑 4652
+柒 4653
+染 4654
+柔 4655
+柘 4656
+柙 4657
+柚 4658
+柜 4659
+柝 4660
+柞 4661
+柠 4662
+查 4663
+柩 4664
+柬 4665
+柯 4666
+柱 4667
+柳 4668
+柴 4669
+柷 4670
+柽 4671
+柿 4672
+栀 4673
+栃 4674
+栄 4675
+栅 4676
+栆 4677
+标 4678
+栈 4679
+栉 4680
+栊 4681
+栋 4682
+栎 4683
+栏 4684
+树 4685
+栓 4686
+栖 4687
+栗 4688
+栟 4689
+校 4690
+栢 4691
+栩 4692
+株 4693
+栱 4694
+样 4695
+核 4696
+根 4697
+格 4698
+栽 4699
+栾 4700
+桀 4701
+桁 4702
+桂 4703
+桃 4704
+桄 4705
+桅 4706
+框 4707
+案 4708
+桉 4709
+桌 4710
+桎 4711
+桐 4712
+桑 4713
+桓 4714
+桔 4715
+桕 4716
+桖 4717
+桜 4718
+桠 4719
+桡 4720
+桢 4721
+档 4722
+桥 4723
+桦 4724
+桧 4725
+桨 4726
+桩 4727
+桫 4728
+桴 4729
+桶 4730
+桷 4731
+梁 4732
+梅 4733
+梆 4734
+梏 4735
+梓 4736
+梗 4737
+梢 4738
+梦 4739
+梧 4740
+梨 4741
+梭 4742
+梯 4743
+械 4744
+梱 4745
+梳 4746
+梵 4747
+梶 4748
+梿 4749
+检 4750
+棂 4751
+棉 4752
+棋 4753
+棍 4754
+棒 4755
+棕 4756
+棘 4757
+棚 4758
+棠 4759
+棣 4760
+森 4761
+棯 4762
+棰 4763
+棱 4764
+棵 4765
+棹 4766
+棺 4767
+棼 4768
+椅 4769
+椋 4770
+植 4771
+椎 4772
+椒 4773
+椓 4774
+椗 4775
+椟 4776
+椤 4777
+椭 4778
+椰 4779
+椹 4780
+椽 4781
+椿 4782
+楂 4783
+楋 4784
+楔 4785
+楗 4786
+楚 4787
+楝 4788
+楞 4789
+楠 4790
+楢 4791
+楣 4792
+楦 4793
+楫 4794
+楯 4795
+楷 4796
+楸 4797
+楹 4798
+楼 4799
+楽 4800
+概 4801
+榄 4802
+榆 4803
+榇 4804
+榈 4805
+榉 4806
+榔 4807
+榕 4808
+榚 4809
+榛 4810
+榜 4811
+榝 4812
+榣 4813
+榧 4814
+榨 4815
+榫 4816
+榭 4817
+榴 4818
+榷 4819
+榻 4820
+榼 4821
+槁 4822
+槃 4823
+槊 4824
+槌 4825
+槎 4826
+槐 4827
+様 4828
+槚 4829
+槛 4830
+槟 4831
+槭 4832
+槺 4833
+槽 4834
+槿 4835
+樊 4836
+樋 4837
+樖 4838
+樘 4839
+樟 4840
+模 4841
+樨 4842
+横 4843
+樯 4844
+樱 4845
+樵 4846
+樽 4847
+樾 4848
+橄 4849
+橇 4850
+橘 4851
+橙 4852
+橛 4853
+橡 4854
+橦 4855
+橱 4856
+橹 4857
+檀 4858
+檄 4859
+檐 4860
+檗 4861
+檫 4862
+檬 4863
+櫈 4864
+欃 4865
+欋 4866
+欠 4867
+次 4868
+欢 4869
+欣 4870
+欤 4871
+欧 4872
+欲 4873
+欸 4874
+欹 4875
+欺 4876
+欻 4877
+款 4878
+歀 4879
+歆 4880
+歇 4881
+歉 4882
+歌 4883
+歙 4884
+歛 4885
+歠 4886
+止 4887
+正 4888
+此 4889
+步 4890
+武 4891
+歧 4892
+歪 4893
+歳 4894
+歴 4895
+歹 4896
+歺 4897
+死 4898
+歼 4899
+殃 4900
+殄 4901
+殆 4902
+殇 4903
+殉 4904
+殊 4905
+残 4906
+殒 4907
+殓 4908
+殕 4909
+殖 4910
+殚 4911
+殡 4912
+殭 4913
+殴 4914
+段 4915
+殷 4916
+殿 4917
+毁 4918
+毂 4919
+毅 4920
+毋 4921
+母 4922
+毎 4923
+每 4924
+毒 4925
+毓 4926
+比 4927
+毕 4928
+毗 4929
+毙 4930
+毛 4931
+毡 4932
+毫 4933
+毯 4934
+毳 4935
+毽 4936
+氊 4937
+氏 4938
+民 4939
+氓 4940
+气 4941
+氖 4942
+気 4943
+氙 4944
+氛 4945
+氟 4946
+氢 4947
+氤 4948
+氦 4949
+氧 4950
+氨 4951
+氩 4952
+氪 4953
+氮 4954
+氯 4955
+氰 4956
+氲 4957
+水 4958
+永 4959
+氹 4960
+氼 4961
+汀 4962
+汁 4963
+求 4964
+汇 4965
+汉 4966
+汊 4967
+汐 4968
+汕 4969
+汗 4970
+汛 4971
+汜 4972
+汝 4973
+汞 4974
+江 4975
+池 4976
+污 4977
+汤 4978
+汨 4979
+汩 4980
+汪 4981
+汫 4982
+汭 4983
+汰 4984
+汲 4985
+汴 4986
+汶 4987
+汹 4988
+汽 4989
+汾 4990
+沁 4991
+沂 4992
+沃 4993
+沅 4994
+沈 4995
+沉 4996
+沊 4997
+沌 4998
+沏 4999
+沐 5000
+沓 5001
+沔 5002
+沙 5003
+沚 5004
+沛 5005
+沟 5006
+没 5007
+沣 5008
+沤 5009
+沥 5010
+沦 5011
+沧 5012
+沪 5013
+沫 5014
+沭 5015
+沮 5016
+沱 5017
+沲 5018
+河 5019
+沸 5020
+油 5021
+治 5022
+沼 5023
+沽 5024
+沾 5025
+沿 5026
+泄 5027
+泉 5028
+泊 5029
+泌 5030
+泓 5031
+泔 5032
+法 5033
+泖 5034
+泗 5035
+泛 5036
+泞 5037
+泠 5038
+泡 5039
+波 5040
+泣 5041
+泥 5042
+注 5043
+泪 5044
+泫 5045
+泬 5046
+泮 5047
+泯 5048
+泰 5049
+泱 5050
+泳 5051
+泵 5052
+泶 5053
+泷 5054
+泸 5055
+泺 5056
+泻 5057
+泼 5058
+泽 5059
+泾 5060
+洁 5061
+洄 5062
+洈 5063
+洋 5064
+洒 5065
+洗 5066
+洙 5067
+洛 5068
+洞 5069
+洣 5070
+津 5071
+洧 5072
+洪 5073
+洮 5074
+洱 5075
+洲 5076
+洳 5077
+洵 5078
+洹 5079
+活 5080
+洼 5081
+洽 5082
+派 5083
+洿 5084
+流 5085
+浃 5086
+浄 5087
+浅 5088
+浆 5089
+浇 5090
+浈 5091
+浉 5092
+浊 5093
+测 5094
+浍 5095
+济 5096
+浏 5097
+浐 5098
+浑 5099
+浒 5100
+浓 5101
+浔 5102
+浖 5103
+浙 5104
+浚 5105
+浜 5106
+浠 5107
+浣 5108
+浥 5109
+浦 5110
+浩 5111
+浪 5112
+浮 5113
+浯 5114
+浴 5115
+海 5116
+浸 5117
+涂 5118
+涅 5119
+消 5120
+涉 5121
+涌 5122
+涎 5123
+涑 5124
+涓 5125
+涔 5126
+涕 5127
+涘 5128
+涛 5129
+涝 5130
+涞 5131
+涟 5132
+涠 5133
+涡 5134
+涣 5135
+涤 5136
+润 5137
+涧 5138
+涨 5139
+涩 5140
+涪 5141
+涮 5142
+涯 5143
+液 5144
+涴 5145
+涵 5146
+涷 5147
+涸 5148
+涿 5149
+淀 5150
+淄 5151
+淅 5152
+淆 5153
+淇 5154
+淋 5155
+淌 5156
+淑 5157
+淖 5158
+淘 5159
+淙 5160
+淝 5161
+淞 5162
+淠 5163
+淡 5164
+淤 5165
+淦 5166
+淫 5167
+淬 5168
+淮 5169
+淯 5170
+淰 5171
+深 5172
+淳 5173
+混 5174
+淸 5175
+淹 5176
+添 5177
+淼 5178
+渀 5179
+清 5180
+渊 5181
+渌 5182
+渍 5183
+渎 5184
+渐 5185
+渑 5186
+渔 5187
+渖 5188
+渗 5189
+渘 5190
+渚 5191
+渝 5192
+渠 5193
+渡 5194
+渣 5195
+渤 5196
+渥 5197
+渧 5198
+温 5199
+渭 5200
+港 5201
+渲 5202
+渴 5203
+游 5204
+渺 5205
+湃 5206
+湄 5207
+湉 5208
+湍 5209
+湓 5210
+湖 5211
+湘 5212
+湛 5213
+湟 5214
+湫 5215
+湮 5216
+湲 5217
+湼 5218
+湾 5219
+湿 5220
+満 5221
+溃 5222
+溅 5223
+溆 5224
+溉 5225
+溋 5226
+溏 5227
+源 5228
+溘 5229
+溜 5230
+溟 5231
+溢 5232
+溥 5233
+溧 5234
+溪 5235
+溯 5236
+溱 5237
+溴 5238
+溶 5239
+溺 5240
+溻 5241
+滁 5242
+滂 5243
+滇 5244
+滉 5245
+滋 5246
+滏 5247
+滑 5248
+滓 5249
+滔 5250
+滕 5251
+滗 5252
+滘 5253
+滚 5254
+滝 5255
+滞 5256
+滟 5257
+滠 5258
+满 5259
+滢 5260
+滤 5261
+滥 5262
+滦 5263
+滨 5264
+滩 5265
+滮 5266
+滳 5267
+滴 5268
+滹 5269
+漂 5270
+漆 5271
+漈 5272
+漉 5273
+漏 5274
+漓 5275
+演 5276
+漕 5277
+漠 5278
+漩 5279
+漪 5280
+漫 5281
+漭 5282
+漯 5283
+漱 5284
+漳 5285
+漷 5286
+漾 5287
+潇 5288
+潋 5289
+潍 5290
+潏 5291
+潘 5292
+潜 5293
+潞 5294
+潟 5295
+潢 5296
+潦 5297
+潭 5298
+潮 5299
+潲 5300
+潵 5301
+潸 5302
+潺 5303
+潼 5304
+澄 5305
+澈 5306
+澌 5307
+澍 5308
+澎 5309
+澒 5310
+澛 5311
+澜 5312
+澡 5313
+澥 5314
+澧 5315
+澨 5316
+澳 5317
+澹 5318
+澽 5319
+激 5320
+濂 5321
+濉 5322
+濑 5323
+濒 5324
+濛 5325
+濞 5326
+濠 5327
+濡 5328
+濮 5329
+濯 5330
+濹 5331
+瀍 5332
+瀎 5333
+瀑 5334
+瀚 5335
+瀛 5336
+瀜 5337
+瀡 5338
+瀬 5339
+瀵 5340
+灌 5341
+灏 5342
+灞 5343
+火 5344
+灭 5345
+灯 5346
+灰 5347
+灵 5348
+灶 5349
+灸 5350
+灼 5351
+灾 5352
+灿 5353
+炀 5354
+炅 5355
+炆 5356
+炉 5357
+炊 5358
+炎 5359
+炒 5360
+炔 5361
+炕 5362
+炖 5363
+炙 5364
+炜 5365
+炝 5366
+炫 5367
+炬 5368
+炭 5369
+炮 5370
+炯 5371
+炳 5372
+炷 5373
+炸 5374
+点 5375
+炼 5376
+炽 5377
+烀 5378
+烁 5379
+烂 5380
+烃 5381
+烈 5382
+烊 5383
+烘 5384
+烙 5385
+烚 5386
+烛 5387
+烟 5388
+烤 5389
+烦 5390
+烧 5391
+烨 5392
+烩 5393
+烫 5394
+烬 5395
+热 5396
+烯 5397
+烱 5398
+烷 5399
+烹 5400
+烽 5401
+焉 5402
+焊 5403
+焕 5404
+焖 5405
+焗 5406
+焘 5407
+焙 5408
+焚 5409
+焦 5410
+焫 5411
+焯 5412
+焰 5413
+焱 5414
+然 5415
+煅 5416
+煊 5417
+煌 5418
+煎 5419
+煖 5420
+煜 5421
+煞 5422
+煠 5423
+煤 5424
+煦 5425
+照 5426
+煨 5427
+煮 5428
+煲 5429
+煳 5430
+煸 5431
+煽 5432
+熄 5433
+熊 5434
+熏 5435
+熔 5436
+熘 5437
+熙 5438
+熝 5439
+熟 5440
+熠 5441
+熨 5442
+熬 5443
+熳 5444
+熹 5445
+熺 5446
+燃 5447
+燄 5448
+燊 5449
+燎 5450
+燏 5451
+燓 5452
+燕 5453
+燠 5454
+燥 5455
+燧 5456
+燮 5457
+爆 5458
+爉 5459
+爝 5460
+爟 5461
+爪 5462
+爬 5463
+爰 5464
+爱 5465
+爵 5466
+父 5467
+爷 5468
+爸 5469
+爹 5470
+爻 5471
+爽 5472
+片 5473
+版 5474
+牌 5475
+牍 5476
+牒 5477
+牕 5478
+牖 5479
+牙 5480
+牛 5481
+牟 5482
+牡 5483
+牢 5484
+牦 5485
+牧 5486
+物 5487
+牯 5488
+牲 5489
+牵 5490
+特 5491
+牺 5492
+牾 5493
+犀 5494
+犁 5495
+犄 5496
+犊 5497
+犍 5498
+犒 5499
+犟 5500
+犬 5501
+犯 5502
+状 5503
+犷 5504
+犸 5505
+犹 5506
+狂 5507
+狃 5508
+狄 5509
+狈 5510
+狍 5511
+狎 5512
+狐 5513
+狒 5514
+狖 5515
+狗 5516
+狙 5517
+狞 5518
+狠 5519
+狡 5520
+狩 5521
+独 5522
+狭 5523
+狮 5524
+狰 5525
+狱 5526
+狷 5527
+狸 5528
+狻 5529
+狼 5530
+猄 5531
+猇 5532
+猊 5533
+猎 5534
+猓 5535
+猕 5536
+猖 5537
+猗 5538
+猘 5539
+猛 5540
+猜 5541
+猝 5542
+猥 5543
+猩 5544
+猪 5545
+猫 5546
+猬 5547
+猭 5548
+献 5549
+猱 5550
+猴 5551
+猷 5552
+猹 5553
+猾 5554
+猿 5555
+獐 5556
+獒 5557
+獗 5558
+獞 5559
+獠 5560
+獭 5561
+獾 5562
+玄 5563
+率 5564
+玉 5565
+王 5566
+玏 5567
+玑 5568
+玓 5569
+玕 5570
+玖 5571
+玙 5572
+玛 5573
+玟 5574
+玠 5575
+玢 5576
+玥 5577
+玩 5578
+玫 5579
+玮 5580
+环 5581
+现 5582
+玲 5583
+玳 5584
+玷 5585
+玺 5586
+玻 5587
+珀 5588
+珂 5589
+珅 5590
+珈 5591
+珉 5592
+珊 5593
+珍 5594
+珏 5595
+珐 5596
+珑 5597
+珒 5598
+珙 5599
+珜 5600
+珞 5601
+珠 5602
+珥 5603
+珪 5604
+班 5605
+珮 5606
+珰 5607
+珲 5608
+珺 5609
+球 5610
+琅 5611
+理 5612
+琇 5613
+琉 5614
+琊 5615
+琍 5616
+琏 5617
+琐 5618
+琚 5619
+琛 5620
+琢 5621
+琤 5622
+琥 5623
+琦 5624
+琨 5625
+琪 5626
+琬 5627
+琮 5628
+琯 5629
+琰 5630
+琲 5631
+琳 5632
+琴 5633
+琵 5634
+琶 5635
+琼 5636
+瑁 5637
+瑄 5638
+瑆 5639
+瑕 5640
+瑙 5641
+瑚 5642
+瑛 5643
+瑜 5644
+瑞 5645
+瑟 5646
+瑠 5647
+瑧 5648
+瑯 5649
+瑰 5650
+瑶 5651
+瑷 5652
+瑾 5653
+璀 5654
+璃 5655
+璇 5656
+璈 5657
+璋 5658
+璎 5659
+璐 5660
+璜 5661
+璞 5662
+璟 5663
+璠 5664
+璧 5665
+璨 5666
+璬 5667
+瓜 5668
+瓠 5669
+瓢 5670
+瓣 5671
+瓤 5672
+瓦 5673
+瓮 5674
+瓯 5675
+瓴 5676
+瓶 5677
+瓷 5678
+甂 5679
+甃 5680
+甄 5681
+甍 5682
+甖 5683
+甘 5684
+甚 5685
+甜 5686
+生 5687
+甥 5688
+用 5689
+甩 5690
+甪 5691
+甫 5692
+甬 5693
+甭 5694
+田 5695
+由 5696
+甲 5697
+申 5698
+甴 5699
+电 5700
+男 5701
+甸 5702
+町 5703
+画 5704
+畀 5705
+畅 5706
+畈 5707
+畊 5708
+畋 5709
+界 5710
+畎 5711
+畏 5712
+畐 5713
+畔 5714
+留 5715
+畜 5716
+畠 5717
+略 5718
+畦 5719
+番 5720
+畬 5721
+畲 5722
+畴 5723
+畷 5724
+畸 5725
+畹 5726
+畿 5727
+疃 5728
+疆 5729
+疋 5730
+疏 5731
+疑 5732
+疗 5733
+疙 5734
+疚 5735
+疝 5736
+疟 5737
+疠 5738
+疡 5739
+疣 5740
+疤 5741
+疫 5742
+疮 5743
+疯 5744
+疱 5745
+疲 5746
+疳 5747
+疴 5748
+疵 5749
+疸 5750
+疹 5751
+疼 5752
+疾 5753
+疿 5754
+痂 5755
+病 5756
+症 5757
+痈 5758
+痉 5759
+痊 5760
+痍 5761
+痏 5762
+痒 5763
+痔 5764
+痕 5765
+痘 5766
+痛 5767
+痞 5768
+痢 5769
+痣 5770
+痤 5771
+痦 5772
+痧 5773
+痨 5774
+痪 5775
+痫 5776
+痰 5777
+痱 5778
+痴 5779
+痹 5780
+痺 5781
+痼 5782
+痿 5783
+瘀 5784
+瘁 5785
+瘌 5786
+瘘 5787
+瘙 5788
+瘟 5789
+瘠 5790
+瘤 5791
+瘦 5792
+瘩 5793
+瘪 5794
+瘫 5795
+瘴 5796
+瘵 5797
+瘸 5798
+瘾 5799
+瘿 5800
+癌 5801
+癍 5802
+癖 5803
+癜 5804
+癞 5805
+癣 5806
+癪 5807
+癫 5808
+癯 5809
+癸 5810
+発 5811
+登 5812
+白 5813
+百 5814
+皂 5815
+的 5816
+皆 5817
+皇 5818
+皈 5819
+皋 5820
+皎 5821
+皑 5822
+皓 5823
+皖 5824
+皗 5825
+皙 5826
+皤 5827
+皧 5828
+皮 5829
+皱 5830
+皴 5831
+皿 5832
+盂 5833
+盅 5834
+盆 5835
+盈 5836
+益 5837
+盎 5838
+盏 5839
+盐 5840
+监 5841
+盒 5842
+盔 5843
+盖 5844
+盗 5845
+盘 5846
+盛 5847
+盟 5848
+目 5849
+盯 5850
+盱 5851
+盲 5852
+直 5853
+相 5854
+盹 5855
+盼 5856
+盾 5857
+省 5858
+眄 5859
+眇 5860
+眈 5861
+眉 5862
+看 5863
+県 5864
+眙 5865
+眛 5866
+真 5867
+眠 5868
+眨 5869
+眩 5870
+眬 5871
+眭 5872
+眯 5873
+眲 5874
+眶 5875
+眷 5876
+眸 5877
+眺 5878
+眼 5879
+着 5880
+睁 5881
+睃 5882
+睄 5883
+睇 5884
+睎 5885
+睐 5886
+睑 5887
+睛 5888
+睡 5889
+睢 5890
+督 5891
+睥 5892
+睦 5893
+睨 5894
+睫 5895
+睬 5896
+睹 5897
+睺 5898
+睼 5899
+睽 5900
+睾 5901
+睿 5902
+瞄 5903
+瞅 5904
+瞇 5905
+瞋 5906
+瞌 5907
+瞎 5908
+瞐 5909
+瞑 5910
+瞒 5911
+瞓 5912
+瞟 5913
+瞠 5914
+瞢 5915
+瞥 5916
+瞧 5917
+瞩 5918
+瞪 5919
+瞬 5920
+瞭 5921
+瞰 5922
+瞳 5923
+瞻 5924
+瞿 5925
+矍 5926
+矗 5927
+矛 5928
+矜 5929
+矞 5930
+矢 5931
+矣 5932
+知 5933
+矩 5934
+矫 5935
+矬 5936
+短 5937
+矮 5938
+石 5939
+矶 5940
+矸 5941
+矾 5942
+矿 5943
+砀 5944
+码 5945
+砂 5946
+砌 5947
+砍 5948
+砒 5949
+研 5950
+砖 5951
+砗 5952
+砚 5953
+砝 5954
+砢 5955
+砣 5956
+砥 5957
+砦 5958
+砧 5959
+砬 5960
+砭 5961
+砰 5962
+砲 5963
+破 5964
+砵 5965
+砷 5966
+砸 5967
+砺 5968
+砼 5969
+砾 5970
+础 5971
+硅 5972
+硌 5973
+硎 5974
+硐 5975
+硒 5976
+硕 5977
+硖 5978
+硚 5979
+硝 5980
+硪 5981
+硫 5982
+硬 5983
+确 5984
+硷 5985
+硼 5986
+碁 5987
+碇 5988
+碉 5989
+碌 5990
+碍 5991
+碎 5992
+碑 5993
+碓 5994
+碗 5995
+碘 5996
+碚 5997
+碛 5998
+碜 5999
+碟 6000
+碣 6001
+碧 6002
+碰 6003
+碱 6004
+碳 6005
+碴 6006
+碶 6007
+碷 6008
+碾 6009
+磁 6010
+磅 6011
+磉 6012
+磊 6013
+磋 6014
+磐 6015
+磕 6016
+磙 6017
+磡 6018
+磥 6019
+磨 6020
+磬 6021
+磲 6022
+磴 6023
+磷 6024
+磹 6025
+磺 6026
+磻 6027
+礁 6028
+礡 6029
+礴 6030
+示 6031
+礼 6032
+社 6033
+祀 6034
+祁 6035
+祃 6036
+祆 6037
+祇 6038
+祈 6039
+祉 6040
+祎 6041
+祐 6042
+祓 6043
+祖 6044
+祗 6045
+祙 6046
+祚 6047
+祛 6048
+祜 6049
+祝 6050
+神 6051
+祟 6052
+祠 6053
+祢 6054
+祥 6055
+票 6056
+祭 6057
+祯 6058
+祲 6059
+祷 6060
+祸 6061
+祺 6062
+禀 6063
+禁 6064
+禄 6065
+禅 6066
+禊 6067
+福 6068
+禛 6069
+禧 6070
+禳 6071
+禹 6072
+禺 6073
+离 6074
+禽 6075
+禾 6076
+秀 6077
+私 6078
+秃 6079
+秅 6080
+秆 6081
+秉 6082
+秋 6083
+种 6084
+科 6085
+秒 6086
+秘 6087
+租 6088
+秣 6089
+秤 6090
+秦 6091
+秧 6092
+秩 6093
+秫 6094
+秭 6095
+积 6096
+称 6097
+秸 6098
+移 6099
+秽 6100
+秾 6101
+稀 6102
+程 6103
+稍 6104
+税 6105
+稔 6106
+稗 6107
+稙 6108
+稚 6109
+稞 6110
+稠 6111
+稣 6112
+稳 6113
+稷 6114
+稹 6115
+稻 6116
+稼 6117
+稽 6118
+稿 6119
+穂 6120
+穆 6121
+穏 6122
+穗 6123
+穰 6124
+穴 6125
+究 6126
+穷 6127
+穹 6128
+空 6129
+穽 6130
+穿 6131
+突 6132
+窃 6133
+窄 6134
+窅 6135
+窈 6136
+窊 6137
+窍 6138
+窑 6139
+窒 6140
+窕 6141
+窖 6142
+窗 6143
+窘 6144
+窜 6145
+窝 6146
+窟 6147
+窠 6148
+窣 6149
+窥 6150
+窦 6151
+窨 6152
+窰 6153
+窸 6154
+窿 6155
+竉 6156
+立 6157
+竖 6158
+站 6159
+竞 6160
+竟 6161
+章 6162
+竣 6163
+童 6164
+竭 6165
+端 6166
+竲 6167
+竹 6168
+竺 6169
+竽 6170
+竿 6171
+笁 6172
+笃 6173
+笆 6174
+笈 6175
+笊 6176
+笋 6177
+笏 6178
+笑 6179
+笔 6180
+笕 6181
+笙 6182
+笛 6183
+笞 6184
+笠 6185
+笥 6186
+符 6187
+笨 6188
+笪 6189
+笫 6190
+第 6191
+笮 6192
+笳 6193
+笹 6194
+笺 6195
+笼 6196
+筇 6197
+等 6198
+筊 6199
+筋 6200
+筌 6201
+筏 6202
+筐 6203
+筑 6204
+筒 6205
+答 6206
+策 6207
+筚 6208
+筛 6209
+筝 6210
+筠 6211
+筱 6212
+筲 6213
+筳 6214
+筵 6215
+筷 6216
+筹 6217
+签 6218
+筿 6219
+简 6220
+箍 6221
+箐 6222
+箓 6223
+箔 6224
+箕 6225
+算 6226
+箜 6227
+箠 6228
+管 6229
+箧 6230
+箩 6231
+箪 6232
+箫 6233
+箬 6234
+箭 6235
+箱 6236
+箴 6237
+箸 6238
+篁 6239
+篆 6240
+篇 6241
+篌 6242
+篑 6243
+篓 6244
+篙 6245
+篝 6246
+篡 6247
+篥 6248
+篦 6249
+篪 6250
+篮 6251
+篱 6252
+篷 6253
+篼 6254
+篾 6255
+簁 6256
+簇 6257
+簋 6258
+簌 6259
+簕 6260
+簙 6261
+簟 6262
+簦 6263
+簧 6264
+簪 6265
+簳 6266
+簷 6267
+簸 6268
+簿 6269
+籀 6270
+籁 6271
+籍 6272
+籐 6273
+籞 6274
+籫 6275
+米 6276
+籴 6277
+籹 6278
+籺 6279
+类 6280
+籽 6281
+粄 6282
+粉 6283
+粑 6284
+粒 6285
+粕 6286
+粗 6287
+粘 6288
+粟 6289
+粢 6290
+粤 6291
+粥 6292
+粦 6293
+粧 6294
+粪 6295
+粮 6296
+粱 6297
+粲 6298
+粳 6299
+粹 6300
+粼 6301
+粽 6302
+精 6303
+粿 6304
+糅 6305
+糊 6306
+糍 6307
+糕 6308
+糖 6309
+糗 6310
+糙 6311
+糜 6312
+糟 6313
+糠 6314
+糬 6315
+糯 6316
+糸 6317
+系 6318
+紊 6319
+素 6320
+索 6321
+紥 6322
+紧 6323
+紫 6324
+累 6325
+絮 6326
+絵 6327
+絷 6328
+綦 6329
+緌 6330
+総 6331
+縠 6332
+縻 6333
+繁 6334
+繊 6335
+繑 6336
+繙 6337
+纂 6338
+纠 6339
+纡 6340
+红 6341
+纣 6342
+纤 6343
+约 6344
+级 6345
+纨 6346
+纪 6347
+纫 6348
+纬 6349
+纭 6350
+纮 6351
+纯 6352
+纰 6353
+纱 6354
+纲 6355
+纳 6356
+纵 6357
+纶 6358
+纷 6359
+纸 6360
+纹 6361
+纺 6362
+纻 6363
+纽 6364
+纾 6365
+线 6366
+绀 6367
+绁 6368
+绂 6369
+练 6370
+组 6371
+绅 6372
+细 6373
+织 6374
+终 6375
+绉 6376
+绊 6377
+绌 6378
+绍 6379
+绎 6380
+经 6381
+绐 6382
+绑 6383
+绒 6384
+结 6385
+绔 6386
+绕 6387
+绘 6388
+给 6389
+绚 6390
+绛 6391
+络 6392
+绝 6393
+绞 6394
+统 6395
+绡 6396
+绢 6397
+绣 6398
+绥 6399
+绦 6400
+继 6401
+绩 6402
+绪 6403
+绫 6404
+续 6405
+绮 6406
+绯 6407
+绰 6408
+绳 6409
+维 6410
+绵 6411
+绶 6412
+绷 6413
+绸 6414
+绹 6415
+绻 6416
+综 6417
+绽 6418
+绾 6419
+绿 6420
+缀 6421
+缁 6422
+缂 6423
+缃 6424
+缄 6425
+缅 6426
+缆 6427
+缇 6428
+缈 6429
+缉 6430
+缎 6431
+缒 6432
+缓 6433
+缔 6434
+缕 6435
+编 6436
+缗 6437
+缘 6438
+缙 6439
+缚 6440
+缛 6441
+缜 6442
+缝 6443
+缠 6444
+缢 6445
+缣 6446
+缤 6447
+缥 6448
+缦 6449
+缨 6450
+缩 6451
+缪 6452
+缫 6453
+缭 6454
+缮 6455
+缯 6456
+缰 6457
+缱 6458
+缲 6459
+缴 6460
+缵 6461
+缸 6462
+缺 6463
+罂 6464
+罄 6465
+罅 6466
+罉 6467
+罍 6468
+罐 6469
+网 6470
+罔 6471
+罕 6472
+罗 6473
+罘 6474
+罚 6475
+罟 6476
+罡 6477
+罢 6478
+罥 6479
+罩 6480
+罪 6481
+置 6482
+署 6483
+罴 6484
+罹 6485
+羁 6486
+羊 6487
+羌 6488
+美 6489
+羔 6490
+羚 6491
+羞 6492
+羟 6493
+羡 6494
+羣 6495
+群 6496
+羧 6497
+羮 6498
+羯 6499
+羰 6500
+羲 6501
+羸 6502
+羹 6503
+羽 6504
+羿 6505
+翁 6506
+翅 6507
+翊 6508
+翌 6509
+翎 6510
+翔 6511
+翕 6512
+翘 6513
+翟 6514
+翠 6515
+翡 6516
+翥 6517
+翦 6518
+翧 6519
+翩 6520
+翮 6521
+翰 6522
+翱 6523
+翳 6524
+翻 6525
+翼 6526
+耀 6527
+老 6528
+考 6529
+耄 6530
+者 6531
+耆 6532
+耋 6533
+而 6534
+耍 6535
+耐 6536
+耑 6537
+耒 6538
+耕 6539
+耖 6540
+耗 6541
+耘 6542
+耙 6543
+耜 6544
+耨 6545
+耳 6546
+耶 6547
+耷 6548
+耸 6549
+耻 6550
+耽 6551
+耿 6552
+聂 6553
+聆 6554
+聊 6555
+聋 6556
+职 6557
+聒 6558
+联 6559
+聘 6560
+聚 6561
+聩 6562
+聪 6563
+聴 6564
+聼 6565
+聿 6566
+肃 6567
+肆 6568
+肇 6569
+肈 6570
+肉 6571
+肊 6572
+肋 6573
+肌 6574
+肏 6575
+肓 6576
+肖 6577
+肘 6578
+肚 6579
+肛 6580
+肝 6581
+肟 6582
+肠 6583
+股 6584
+肢 6585
+肤 6586
+肥 6587
+肨 6588
+肩 6589
+肪 6590
+肫 6591
+肮 6592
+肯 6593
+肱 6594
+育 6595
+肴 6596
+肶 6597
+肺 6598
+肼 6599
+肽 6600
+肾 6601
+肿 6602
+胀 6603
+胁 6604
+胃 6605
+胄 6606
+胆 6607
+背 6608
+胍 6609
+胎 6610
+胖 6611
+胗 6612
+胚 6613
+胛 6614
+胜 6615
+胞 6616
+胡 6617
+胤 6618
+胥 6619
+胧 6620
+胪 6621
+胫 6622
+胭 6623
+胮 6624
+胯 6625
+胰 6626
+胱 6627
+胳 6628
+胴 6629
+胶 6630
+胸 6631
+胺 6632
+能 6633
+脂 6634
+脆 6635
+脉 6636
+脊 6637
+脍 6638
+脏 6639
+脐 6640
+脑 6641
+脓 6642
+脔 6643
+脖 6644
+脘 6645
+脚 6646
+脧 6647
+脯 6648
+脱 6649
+脲 6650
+脷 6651
+脸 6652
+脾 6653
+脿 6654
+腆 6655
+腈 6656
+腊 6657
+腋 6658
+腌 6659
+腍 6660
+腐 6661
+腑 6662
+腓 6663
+腔 6664
+腕 6665
+腚 6666
+腥 6667
+腩 6668
+腭 6669
+腮 6670
+腰 6671
+腱 6672
+腴 6673
+腹 6674
+腺 6675
+腻 6676
+腼 6677
+腾 6678
+腿 6679
+膀 6680
+膂 6681
+膈 6682
+膊 6683
+膏 6684
+膑 6685
+膘 6686
+膛 6687
+膜 6688
+膝 6689
+膦 6690
+膨 6691
+膳 6692
+膶 6693
+膺 6694
+膻 6695
+臀 6696
+臂 6697
+臃 6698
+臆 6699
+臊 6700
+臣 6701
+臧 6702
+自 6703
+臬 6704
+臭 6705
+至 6706
+致 6707
+臻 6708
+臼 6709
+臾 6710
+舀 6711
+舂 6712
+舅 6713
+舆 6714
+舌 6715
+舍 6716
+舐 6717
+舒 6718
+舔 6719
+舖 6720
+舛 6721
+舜 6722
+舞 6723
+舟 6724
+舢 6725
+舣 6726
+舨 6727
+航 6728
+舫 6729
+般 6730
+舰 6731
+舱 6732
+舳 6733
+舴 6734
+舵 6735
+舶 6736
+舷 6737
+舸 6738
+船 6739
+舻 6740
+艅 6741
+艇 6742
+艋 6743
+艎 6744
+艏 6745
+艘 6746
+艛 6747
+艮 6748
+良 6749
+艰 6750
+色 6751
+艳 6752
+艶 6753
+艹 6754
+艺 6755
+艾 6756
+艿 6757
+节 6758
+芃 6759
+芈 6760
+芊 6761
+芋 6762
+芍 6763
+芒 6764
+芗 6765
+芙 6766
+芜 6767
+芝 6768
+芡 6769
+芥 6770
+芦 6771
+芨 6772
+芩 6773
+芪 6774
+芫 6775
+芬 6776
+芭 6777
+芮 6778
+芯 6779
+花 6780
+芳 6781
+芷 6782
+芸 6783
+芹 6784
+芽 6785
+芾 6786
+苀 6787
+苁 6788
+苇 6789
+苋 6790
+苌 6791
+苍 6792
+苎 6793
+苏 6794
+苑 6795
+苒 6796
+苓 6797
+苔 6798
+苕 6799
+苗 6800
+苛 6801
+苜 6802
+苞 6803
+苟 6804
+苠 6805
+苡 6806
+苣 6807
+若 6808
+苦 6809
+苫 6810
+苯 6811
+英 6812
+苴 6813
+苷 6814
+苹 6815
+茀 6816
+茁 6817
+茂 6818
+范 6819
+茄 6820
+茅 6821
+茆 6822
+茉 6823
+茌 6824
+茎 6825
+茏 6826
+茔 6827
+茕 6828
+茗 6829
+茘 6830
+茛 6831
+茜 6832
+茝 6833
+茧 6834
+茨 6835
+茫 6836
+茬 6837
+茭 6838
+茯 6839
+茱 6840
+茴 6841
+茵 6842
+茶 6843
+茸 6844
+茹 6845
+茼 6846
+荀 6847
+荃 6848
+荄 6849
+荆 6850
+荇 6851
+草 6852
+荏 6853
+荐 6854
+荒 6855
+荔 6856
+荚 6857
+荜 6858
+荞 6859
+荟 6860
+荠 6861
+荡 6862
+荣 6863
+荤 6864
+荥 6865
+荧 6866
+荨 6867
+荩 6868
+荪 6869
+荫 6870
+荭 6871
+药 6872
+荳 6873
+荷 6874
+荸 6875
+荻 6876
+荼 6877
+荽 6878
+莅 6879
+莆 6880
+莉 6881
+莎 6882
+莒 6883
+莓 6884
+莘 6885
+莜 6886
+莞 6887
+莠 6888
+莪 6889
+莫 6890
+莱 6891
+莲 6892
+莳 6893
+莴 6894
+获 6895
+莹 6896
+莺 6897
+莼 6898
+莽 6899
+菀 6900
+菁 6901
+菂 6902
+菅 6903
+菇 6904
+菈 6905
+菊 6906
+菌 6907
+菏 6908
+菓 6909
+菔 6910
+菖 6911
+菜 6912
+菠 6913
+菡 6914
+菢 6915
+菩 6916
+菰 6917
+菱 6918
+菲 6919
+菶 6920
+菹 6921
+萁 6922
+萃 6923
+萄 6924
+萋 6925
+萌 6926
+萍 6927
+萎 6928
+萏 6929
+萘 6930
+萝 6931
+萤 6932
+营 6933
+萦 6934
+萧 6935
+萨 6936
+萩 6937
+萱 6938
+萸 6939
+萺 6940
+萼 6941
+落 6942
+葆 6943
+葑 6944
+著 6945
+葚 6946
+葛 6947
+葡 6948
+董 6949
+葩 6950
+葫 6951
+葬 6952
+葭 6953
+葱 6954
+葳 6955
+葵 6956
+葶 6957
+葺 6958
+蒂 6959
+蒋 6960
+蒌 6961
+蒗 6962
+蒙 6963
+蒜 6964
+蒡 6965
+蒲 6966
+蒸 6967
+蒹 6968
+蒽 6969
+蒿 6970
+蓁 6971
+蓄 6972
+蓉 6973
+蓊 6974
+蓑 6975
+蓓 6976
+蓝 6977
+蓟 6978
+蓠 6979
+蓥 6980
+蓦 6981
+蓬 6982
+蓺 6983
+蓼 6984
+蓿 6985
+蔑 6986
+蔓 6987
+蔗 6988
+蔚 6989
+蔡 6990
+蔫 6991
+蔬 6992
+蔴 6993
+蔵 6994
+蔷 6995
+蔸 6996
+蔺 6997
+蔻 6998
+蔼 6999
+蔽 7000
+蕃 7001
+蕉 7002
+蕊 7003
+蕖 7004
+蕙 7005
+蕞 7006
+蕤 7007
+蕨 7008
+蕲 7009
+蕴 7010
+蕹 7011
+蕻 7012
+蕾 7013
+薄 7014
+薅 7015
+薇 7016
+薏 7017
+薕 7018
+薛 7019
+薜 7020
+薪 7021
+薮 7022
+薯 7023
+薰 7024
+藁 7025
+藉 7026
+藏 7027
+藐 7028
+藓 7029
+藕 7030
+藜 7031
+藤 7032
+藩 7033
+藻 7034
+藿 7035
+蘅 7036
+蘑 7037
+蘖 7038
+蘸 7039
+蘼 7040
+虎 7041
+虏 7042
+虐 7043
+虑 7044
+虓 7045
+虔 7046
+虚 7047
+虞 7048
+虢 7049
+虫 7050
+虬 7051
+虱 7052
+虹 7053
+虻 7054
+虽 7055
+虾 7056
+蚀 7057
+蚁 7058
+蚂 7059
+蚊 7060
+蚌 7061
+蚍 7062
+蚒 7063
+蚓 7064
+蚕 7065
+蚜 7066
+蚝 7067
+蚣 7068
+蚤 7069
+蚨 7070
+蚩 7071
+蚪 7072
+蚬 7073
+蚯 7074
+蚱 7075
+蚵 7076
+蚺 7077
+蛀 7078
+蛆 7079
+蛇 7080
+蛊 7081
+蛋 7082
+蛎 7083
+蛏 7084
+蛐 7085
+蛔 7086
+蛙 7087
+蛛 7088
+蛟 7089
+蛤 7090
+蛩 7091
+蛮 7092
+蛰 7093
+蛱 7094
+蛳 7095
+蛹 7096
+蛾 7097
+蜀 7098
+蜂 7099
+蜃 7100
+蜇 7101
+蜈 7102
+蜉 7103
+蜊 7104
+蜍 7105
+蜎 7106
+蜒 7107
+蜓 7108
+蜕 7109
+蜗 7110
+蜘 7111
+蜚 7112
+蜜 7113
+蜡 7114
+蜢 7115
+蜥 7116
+蜴 7117
+蜷 7118
+蜻 7119
+蜿 7120
+蝇 7121
+蝈 7122
+蝉 7123
+蝌 7124
+蝎 7125
+蝗 7126
+蝙 7127
+蝠 7128
+蝣 7129
+蝲 7130
+蝴 7131
+蝶 7132
+蝼 7133
+蝾 7134
+螂 7135
+螃 7136
+螈 7137
+螋 7138
+融 7139
+螓 7140
+螨 7141
+螭 7142
+螳 7143
+螺 7144
+蟀 7145
+蟆 7146
+蟊 7147
+蟋 7148
+蟌 7149
+蟑 7150
+蟒 7151
+蟠 7152
+蟥 7153
+蟧 7154
+蟮 7155
+蟹 7156
+蟾 7157
+蠄 7158
+蠕 7159
+蠛 7160
+蠡 7161
+蠢 7162
+蠹 7163
+蠼 7164
+血 7165
+衅 7166
+行 7167
+衍 7168
+衒 7169
+衔 7170
+街 7171
+衙 7172
+衞 7173
+衡 7174
+衢 7175
+衣 7176
+补 7177
+表 7178
+衩 7179
+衫 7180
+衬 7181
+衮 7182
+衰 7183
+衲 7184
+衷 7185
+衹 7186
+衽 7187
+衾 7188
+衿 7189
+袁 7190
+袂 7191
+袄 7192
+袅 7193
+袆 7194
+袈 7195
+袋 7196
+袍 7197
+袒 7198
+袖 7199
+袜 7200
+袤 7201
+袪 7202
+被 7203
+袭 7204
+袱 7205
+裁 7206
+裂 7207
+装 7208
+裆 7209
+裇 7210
+裒 7211
+裔 7212
+裕 7213
+裘 7214
+裙 7215
+裛 7216
+裟 7217
+裢 7218
+裤 7219
+裨 7220
+裱 7221
+裳 7222
+裴 7223
+裸 7224
+裹 7225
+裾 7226
+褂 7227
+褃 7228
+褊 7229
+褐 7230
+褒 7231
+褓 7232
+褔 7233
+褕 7234
+褚 7235
+褛 7236
+褡 7237
+褥 7238
+褦 7239
+褪 7240
+褰 7241
+褴 7242
+褶 7243
+襁 7244
+襄 7245
+襜 7246
+襞 7247
+襟 7248
+襦 7249
+西 7250
+要 7251
+覃 7252
+覆 7253
+覧 7254
+観 7255
+见 7256
+观 7257
+规 7258
+觅 7259
+视 7260
+览 7261
+觉 7262
+觊 7263
+觎 7264
+觏 7265
+觐 7266
+觑 7267
+角 7268
+觜 7269
+觞 7270
+解 7271
+觥 7272
+触 7273
+觫 7274
+觱 7275
+觳 7276
+言 7277
+訚 7278
+訫 7279
+訾 7280
+詏 7281
+詹 7282
+誃 7283
+誉 7284
+誊 7285
+誓 7286
+謢 7287
+譀 7288
+警 7289
+譬 7290
+讑 7291
+计 7292
+订 7293
+讣 7294
+认 7295
+讥 7296
+讧 7297
+讨 7298
+让 7299
+讪 7300
+训 7301
+议 7302
+讯 7303
+记 7304
+讲 7305
+讳 7306
+讴 7307
+讵 7308
+讶 7309
+讷 7310
+许 7311
+讹 7312
+论 7313
+讼 7314
+讽 7315
+设 7316
+访 7317
+诀 7318
+证 7319
+诃 7320
+评 7321
+诅 7322
+识 7323
+诈 7324
+诉 7325
+诊 7326
+诋 7327
+词 7328
+诏 7329
+译 7330
+诒 7331
+诓 7332
+试 7333
+诗 7334
+诘 7335
+诙 7336
+诚 7337
+诛 7338
+话 7339
+诞 7340
+诟 7341
+诠 7342
+诡 7343
+询 7344
+诣 7345
+诤 7346
+该 7347
+详 7348
+诧 7349
+诨 7350
+诩 7351
+诫 7352
+诬 7353
+语 7354
+诮 7355
+误 7356
+诰 7357
+诱 7358
+诲 7359
+诳 7360
+说 7361
+诵 7362
+诶 7363
+请 7364
+诸 7365
+诹 7366
+诺 7367
+读 7368
+诽 7369
+课 7370
+诿 7371
+谀 7372
+谁 7373
+谂 7374
+调 7375
+谄 7376
+谅 7377
+谆 7378
+谈 7379
+谊 7380
+谋 7381
+谌 7382
+谍 7383
+谎 7384
+谏 7385
+谐 7386
+谑 7387
+谒 7388
+谓 7389
+谔 7390
+谕 7391
+谖 7392
+谗 7393
+谘 7394
+谙 7395
+谚 7396
+谛 7397
+谜 7398
+谟 7399
+谡 7400
+谢 7401
+谣 7402
+谤 7403
+谦 7404
+谧 7405
+谨 7406
+谩 7407
+谪 7408
+谬 7409
+谭 7410
+谮 7411
+谯 7412
+谱 7413
+谲 7414
+谴 7415
+谶 7416
+谷 7417
+谿 7418
+豁 7419
+豂 7420
+豆 7421
+豇 7422
+豉 7423
+豊 7424
+豌 7425
+豕 7426
+豚 7427
+象 7428
+豢 7429
+豪 7430
+豫 7431
+豸 7432
+豹 7433
+豺 7434
+貂 7435
+貅 7436
+貉 7437
+貊 7438
+貌 7439
+貔 7440
+贝 7441
+贞 7442
+负 7443
+贡 7444
+财 7445
+责 7446
+贤 7447
+败 7448
+账 7449
+货 7450
+质 7451
+贩 7452
+贪 7453
+贫 7454
+贬 7455
+购 7456
+贮 7457
+贯 7458
+贰 7459
+贱 7460
+贲 7461
+贳 7462
+贴 7463
+贵 7464
+贷 7465
+贸 7466
+费 7467
+贺 7468
+贻 7469
+贼 7470
+贾 7471
+贿 7472
+赀 7473
+赁 7474
+赂 7475
+赃 7476
+资 7477
+赅 7478
+赈 7479
+赉 7480
+赊 7481
+赋 7482
+赌 7483
+赎 7484
+赏 7485
+赐 7486
+赓 7487
+赔 7488
+赖 7489
+赘 7490
+赚 7491
+赛 7492
+赜 7493
+赝 7494
+赞 7495
+赟 7496
+赠 7497
+赡 7498
+赢 7499
+赣 7500
+赤 7501
+赦 7502
+赧 7503
+赪 7504
+赫 7505
+赭 7506
+走 7507
+赳 7508
+赴 7509
+赵 7510
+赶 7511
+起 7512
+趁 7513
+超 7514
+越 7515
+趋 7516
+趌 7517
+趔 7518
+趟 7519
+趣 7520
+趯 7521
+趱 7522
+足 7523
+趴 7524
+趵 7525
+趷 7526
+趸 7527
+趺 7528
+趾 7529
+趿 7530
+跃 7531
+跄 7532
+跆 7533
+跋 7534
+跌 7535
+跎 7536
+跑 7537
+跕 7538
+跖 7539
+跗 7540
+跚 7541
+跛 7542
+距 7543
+跟 7544
+跣 7545
+跤 7546
+跨 7547
+跪 7548
+跬 7549
+路 7550
+跳 7551
+践 7552
+跶 7553
+跷 7554
+跸 7555
+跹 7556
+跺 7557
+跻 7558
+踉 7559
+踊 7560
+踌 7561
+踎 7562
+踏 7563
+踘 7564
+踝 7565
+踞 7566
+踟 7567
+踡 7568
+踢 7569
+踦 7570
+踩 7571
+踪 7572
+踫 7573
+踭 7574
+踮 7575
+踯 7576
+踱 7577
+踲 7578
+踵 7579
+踹 7580
+踽 7581
+蹀 7582
+蹁 7583
+蹂 7584
+蹄 7585
+蹆 7586
+蹇 7587
+蹈 7588
+蹉 7589
+蹊 7590
+蹋 7591
+蹑 7592
+蹒 7593
+蹓 7594
+蹙 7595
+蹚 7596
+蹦 7597
+蹩 7598
+蹬 7599
+蹭 7600
+蹰 7601
+蹲 7602
+蹴 7603
+蹶 7604
+蹼 7605
+蹿 7606
+躁 7607
+躅 7608
+躇 7609
+躏 7610
+躔 7611
+躞 7612
+身 7613
+躬 7614
+躯 7615
+躲 7616
+躺 7617
+軚 7618
+転 7619
+輘 7620
+輧 7621
+轘 7622
+车 7623
+轧 7624
+轨 7625
+轩 7626
+转 7627
+轭 7628
+轮 7629
+软 7630
+轰 7631
+轱 7632
+轲 7633
+轳 7634
+轴 7635
+轶 7636
+轻 7637
+轼 7638
+载 7639
+轾 7640
+轿 7641
+较 7642
+辄 7643
+辅 7644
+辆 7645
+辇 7646
+辈 7647
+辉 7648
+辊 7649
+辋 7650
+辌 7651
+辍 7652
+辐 7653
+辑 7654
+辒 7655
+输 7656
+辔 7657
+辕 7658
+辖 7659
+辗 7660
+辘 7661
+辙 7662
+辚 7663
+辛 7664
+辜 7665
+辞 7666
+辟 7667
+辣 7668
+辨 7669
+辩 7670
+辫 7671
+辰 7672
+辱 7673
+边 7674
+辽 7675
+达 7676
+辿 7677
+迀 7678
+迁 7679
+迂 7680
+迄 7681
+迅 7682
+过 7683
+迈 7684
+迍 7685
+迎 7686
+运 7687
+近 7688
+返 7689
+还 7690
+这 7691
+进 7692
+远 7693
+违 7694
+连 7695
+迟 7696
+迢 7697
+迤 7698
+迥 7699
+迦 7700
+迨 7701
+迩 7702
+迪 7703
+迫 7704
+迭 7705
+述 7706
+迳 7707
+迷 7708
+迸 7709
+迹 7710
+追 7711
+迾 7712
+退 7713
+送 7714
+适 7715
+逃 7716
+逅 7717
+逆 7718
+选 7719
+逊 7720
+逋 7721
+逍 7722
+透 7723
+逐 7724
+逑 7725
+递 7726
+途 7727
+逖 7728
+逗 7729
+通 7730
+逛 7731
+逝 7732
+逞 7733
+速 7734
+造 7735
+逡 7736
+逢 7737
+逦 7738
+逮 7739
+逳 7740
+逵 7741
+逶 7742
+逸 7743
+逹 7744
+逻 7745
+逼 7746
+逾 7747
+遁 7748
+遂 7749
+遇 7750
+遍 7751
+遏 7752
+遐 7753
+遑 7754
+遒 7755
+道 7756
+遗 7757
+遛 7758
+遝 7759
+遢 7760
+遣 7761
+遥 7762
+遨 7763
+遭 7764
+遮 7765
+遴 7766
+遵 7767
+遶 7768
+遽 7769
+避 7770
+邀 7771
+邂 7772
+邃 7773
+邅 7774
+邈 7775
+邉 7776
+邋 7777
+邑 7778
+邓 7779
+邕 7780
+邗 7781
+邙 7782
+邛 7783
+邝 7784
+邠 7785
+邡 7786
+邢 7787
+那 7788
+邦 7789
+邨 7790
+邪 7791
+邬 7792
+邮 7793
+邯 7794
+邰 7795
+邱 7796
+邳 7797
+邵 7798
+邸 7799
+邹 7800
+邺 7801
+邻 7802
+郁 7803
+郅 7804
+郇 7805
+郊 7806
+郎 7807
+郏 7808
+郑 7809
+郓 7810
+郜 7811
+郝 7812
+郞 7813
+郡 7814
+郢 7815
+郦 7816
+郧 7817
+部 7818
+郫 7819
+郭 7820
+郯 7821
+郴 7822
+郸 7823
+都 7824
+郾 7825
+鄂 7826
+鄄 7827
+鄕 7828
+鄙 7829
+鄚 7830
+鄞 7831
+鄠 7832
+鄢 7833
+鄯 7834
+鄱 7835
+酂 7836
+酆 7837
+酉 7838
+酊 7839
+酋 7840
+酌 7841
+配 7842
+酐 7843
+酒 7844
+酗 7845
+酚 7846
+酝 7847
+酞 7848
+酡 7849
+酢 7850
+酣 7851
+酥 7852
+酩 7853
+酪 7854
+酬 7855
+酮 7856
+酯 7857
+酰 7858
+酱 7859
+酲 7860
+酵 7861
+酶 7862
+酷 7863
+酸 7864
+酺 7865
+酾 7866
+酿 7867
+醁 7868
+醅 7869
+醆 7870
+醇 7871
+醉 7872
+醋 7873
+醍 7874
+醐 7875
+醒 7876
+醙 7877
+醚 7878
+醛 7879
+醪 7880
+醭 7881
+醮 7882
+醴 7883
+醺 7884
+釆 7885
+采 7886
+釉 7887
+释 7888
+里 7889
+重 7890
+野 7891
+量 7892
+金 7893
+釜 7894
+鈪 7895
+鉄 7896
+鉴 7897
+鉵 7898
+銆 7899
+銤 7900
+銮 7901
+鋋 7902
+鍪 7903
+鎅 7904
+鎏 7905
+鎗 7906
+鏖 7907
+鐡 7908
+鑛 7909
+鑫 7910
+针 7911
+钉 7912
+钊 7913
+钋 7914
+钎 7915
+钏 7916
+钒 7917
+钓 7918
+钖 7919
+钗 7920
+钙 7921
+钛 7922
+钜 7923
+钝 7924
+钞 7925
+钟 7926
+钠 7927
+钡 7928
+钢 7929
+钣 7930
+钥 7931
+钦 7932
+钧 7933
+钨 7934
+钩 7935
+钭 7936
+钮 7937
+钯 7938
+钰 7939
+钱 7940
+钳 7941
+钴 7942
+钵 7943
+钹 7944
+钺 7945
+钻 7946
+钼 7947
+钾 7948
+钿 7949
+铀 7950
+铁 7951
+铂 7952
+铃 7953
+铄 7954
+铅 7955
+铆 7956
+铈 7957
+铉 7958
+铍 7959
+铎 7960
+铐 7961
+铑 7962
+铖 7963
+铗 7964
+铘 7965
+铛 7966
+铜 7967
+铝 7968
+铠 7969
+铡 7970
+铢 7971
+铣 7972
+铤 7973
+铧 7974
+铨 7975
+铩 7976
+铬 7977
+铭 7978
+铮 7979
+铰 7980
+铲 7981
+铳 7982
+铵 7983
+银 7984
+铸 7985
+铺 7986
+链 7987
+铿 7988
+销 7989
+锁 7990
+锂 7991
+锄 7992
+锅 7993
+锆 7994
+锈 7995
+锉 7996
+锋 7997
+锌 7998
+锏 7999
+锐 8000
+锑 8001
+锕 8002
+锗 8003
+错 8004
+锚 8005
+锜 8006
+锝 8007
+锟 8008
+锡 8009
+锢 8010
+锣 8011
+锤 8012
+锥 8013
+锦 8014
+锨 8015
+锭 8016
+键 8017
+锯 8018
+锰 8019
+锱 8020
+锲 8021
+锴 8022
+锵 8023
+锷 8024
+锸 8025
+锹 8026
+锺 8027
+锻 8028
+镀 8029
+镁 8030
+镂 8031
+镆 8032
+镇 8033
+镉 8034
+镊 8035
+镌 8036
+镍 8037
+镐 8038
+镑 8039
+镒 8040
+镓 8041
+镔 8042
+镕 8043
+镖 8044
+镗 8045
+镙 8046
+镚 8047
+镜 8048
+镝 8049
+镢 8050
+镣 8051
+镦 8052
+镧 8053
+镩 8054
+镫 8055
+镬 8056
+镭 8057
+镯 8058
+镰 8059
+镱 8060
+镳 8061
+镶 8062
+镾 8063
+长 8064
+閙 8065
+閟 8066
+閪 8067
+门 8068
+闩 8069
+闪 8070
+闫 8071
+闬 8072
+闭 8073
+问 8074
+闯 8075
+闰 8076
+闱 8077
+闲 8078
+闳 8079
+间 8080
+闵 8081
+闷 8082
+闸 8083
+闹 8084
+闺 8085
+闻 8086
+闼 8087
+闽 8088
+闾 8089
+阀 8090
+阁 8091
+阂 8092
+阅 8093
+阆 8094
+阉 8095
+阊 8096
+阎 8097
+阐 8098
+阑 8099
+阔 8100
+阕 8101
+阖 8102
+阙 8103
+阚 8104
+阜 8105
+队 8106
+阡 8107
+阩 8108
+阪 8109
+阮 8110
+阱 8111
+防 8112
+阳 8113
+阴 8114
+阵 8115
+阶 8116
+阻 8117
+阿 8118
+陀 8119
+陂 8120
+附 8121
+际 8122
+陆 8123
+陇 8124
+陈 8125
+陉 8126
+陋 8127
+陌 8128
+降 8129
+限 8130
+陔 8131
+陕 8132
+陛 8133
+陜 8134
+陟 8135
+陡 8136
+院 8137
+除 8138
+陨 8139
+险 8140
+陪 8141
+陬 8142
+陲 8143
+陵 8144
+陶 8145
+陷 8146
+隅 8147
+隆 8148
+隈 8149
+隋 8150
+隍 8151
+随 8152
+隐 8153
+隔 8154
+隗 8155
+隘 8156
+隙 8157
+障 8158
+隥 8159
+隧 8160
+隰 8161
+隶 8162
+隼 8163
+隽 8164
+难 8165
+雀 8166
+雁 8167
+雄 8168
+雅 8169
+集 8170
+雇 8171
+雉 8172
+雌 8173
+雍 8174
+雎 8175
+雏 8176
+雑 8177
+雒 8178
+雕 8179
+雘 8180
+雠 8181
+雨 8182
+雪 8183
+雯 8184
+雳 8185
+零 8186
+雷 8187
+雹 8188
+雾 8189
+需 8190
+霁 8191
+霂 8192
+霄 8193
+霆 8194
+震 8195
+霈 8196
+霉 8197
+霍 8198
+霎 8199
+霏 8200
+霓 8201
+霖 8202
+霜 8203
+霞 8204
+霡 8205
+霪 8206
+霭 8207
+霰 8208
+露 8209
+霸 8210
+霹 8211
+霾 8212
+靑 8213
+青 8214
+靓 8215
+靖 8216
+静 8217
+靛 8218
+非 8219
+靠 8220
+靡 8221
+面 8222
+靥 8223
+革 8224
+靳 8225
+靴 8226
+靶 8227
+靺 8228
+靼 8229
+鞅 8230
+鞋 8231
+鞍 8232
+鞑 8233
+鞘 8234
+鞠 8235
+鞥 8236
+鞨 8237
+鞭 8238
+鞲 8239
+韦 8240
+韧 8241
+韩 8242
+韪 8243
+韫 8244
+韬 8245
+韭 8246
+韮 8247
+音 8248
+韵 8249
+韶 8250
+页 8251
+顶 8252
+顷 8253
+项 8254
+顺 8255
+须 8256
+顼 8257
+顽 8258
+顾 8259
+顿 8260
+颀 8261
+颁 8262
+颂 8263
+预 8264
+颅 8265
+领 8266
+颇 8267
+颈 8268
+颉 8269
+颊 8270
+颌 8271
+颍 8272
+颏 8273
+颐 8274
+频 8275
+颓 8276
+颔 8277
+颖 8278
+颗 8279
+题 8280
+颙 8281
+颚 8282
+颛 8283
+颜 8284
+额 8285
+颠 8286
+颢 8287
+颤 8288
+颦 8289
+颧 8290
+风 8291
+飏 8292
+飐 8293
+飒 8294
+飓 8295
+飕 8296
+飖 8297
+飗 8298
+飘 8299
+飙 8300
+飚 8301
+飞 8302
+食 8303
+飧 8304
+飨 8305
+餋 8306
+餐 8307
+餮 8308
+饕 8309
+饤 8310
+饥 8311
+饨 8312
+饩 8313
+饪 8314
+饭 8315
+饮 8316
+饯 8317
+饰 8318
+饱 8319
+饲 8320
+饴 8321
+饵 8322
+饶 8323
+饷 8324
+饸 8325
+饹 8326
+饺 8327
+饼 8328
+饽 8329
+饾 8330
+饿 8331
+馀 8332
+馁 8333
+馂 8334
+馄 8335
+馅 8336
+馆 8337
+馈 8338
+馊 8339
+馋 8340
+馍 8341
+馏 8342
+馐 8343
+馑 8344
+馒 8345
+馓 8346
+馔 8347
+馕 8348
+首 8349
+馗 8350
+香 8351
+馟 8352
+馥 8353
+馨 8354
+馩 8355
+駅 8356
+马 8357
+驭 8358
+驮 8359
+驯 8360
+驰 8361
+驱 8362
+驳 8363
+驴 8364
+驶 8365
+驷 8366
+驸 8367
+驹 8368
+驺 8369
+驻 8370
+驼 8371
+驽 8372
+驾 8373
+驿 8374
+骀 8375
+骁 8376
+骂 8377
+骄 8378
+骅 8379
+骆 8380
+骇 8381
+骈 8382
+骊 8383
+骋 8384
+验 8385
+骏 8386
+骐 8387
+骑 8388
+骓 8389
+骖 8390
+骗 8391
+骘 8392
+骚 8393
+骛 8394
+骜 8395
+骝 8396
+骞 8397
+骟 8398
+骠 8399
+骡 8400
+骢 8401
+骤 8402
+骥 8403
+骧 8404
+骨 8405
+骰 8406
+骲 8407
+骶 8408
+骷 8409
+骸 8410
+骹 8411
+骼 8412
+骾 8413
+髀 8414
+髂 8415
+髅 8416
+髋 8417
+髌 8418
+髓 8419
+高 8420
+髦 8421
+髧 8422
+髪 8423
+髫 8424
+髭 8425
+髯 8426
+髹 8427
+髻 8428
+鬃 8429
+鬐 8430
+鬓 8431
+鬟 8432
+鬣 8433
+鬦 8434
+鬯 8435
+鬼 8436
+魁 8437
+魂 8438
+魄 8439
+魅 8440
+魇 8441
+魉 8442
+魍 8443
+魏 8444
+魑 8445
+魔 8446
+鯭 8447
+鱼 8448
+鱿 8449
+鲀 8450
+鲁 8451
+鲂 8452
+鲅 8453
+鲇 8454
+鲈 8455
+鲉 8456
+鲊 8457
+鲍 8458
+鲎 8459
+鲑 8460
+鲗 8461
+鲛 8462
+鲜 8463
+鲟 8464
+鲠 8465
+鲡 8466
+鲢 8467
+鲤 8468
+鲧 8469
+鲨 8470
+鲩 8471
+鲫 8472
+鲭 8473
+鲮 8474
+鲱 8475
+鲲 8476
+鲳 8477
+鲵 8478
+鲶 8479
+鲷 8480
+鲸 8481
+鲽 8482
+鳃 8483
+鳄 8484
+鳅 8485
+鳋 8486
+鳌 8487
+鳍 8488
+鳎 8489
+鳏 8490
+鳐 8491
+鳕 8492
+鳖 8493
+鳗 8494
+鳙 8495
+鳜 8496
+鳝 8497
+鳞 8498
+鳟 8499
+鴂 8500
+鵎 8501
+鵼 8502
+鷃 8503
+鸟 8504
+鸠 8505
+鸡 8506
+鸢 8507
+鸣 8508
+鸥 8509
+鸦 8510
+鸨 8511
+鸩 8512
+鸪 8513
+鸬 8514
+鸭 8515
+鸮 8516
+鸯 8517
+鸱 8518
+鸳 8519
+鸵 8520
+鸶 8521
+鸷 8522
+鸸 8523
+鸽 8524
+鸾 8525
+鸿 8526
+鹁 8527
+鹂 8528
+鹃 8529
+鹄 8530
+鹅 8531
+鹈 8532
+鹉 8533
+鹊 8534
+鹋 8535
+鹌 8536
+鹍 8537
+鹏 8538
+鹑 8539
+鹓 8540
+鹔 8541
+鹕 8542
+鹗 8543
+鹘 8544
+鹚 8545
+鹛 8546
+鹜 8547
+鹞 8548
+鹢 8549
+鹤 8550
+鹦 8551
+鹧 8552
+鹩 8553
+鹫 8554
+鹬 8555
+鹭 8556
+鹮 8557
+鹰 8558
+鹳 8559
+鹴 8560
+鹿 8561
+麂 8562
+麈 8563
+麋 8564
+麒 8565
+麓 8566
+麛 8567
+麝 8568
+麟 8569
+麦 8570
+麸 8571
+麹 8572
+麻 8573
+麾 8574
+麿 8575
+黄 8576
+黍 8577
+黎 8578
+黏 8579
+黐 8580
+黑 8581
+黒 8582
+黔 8583
+默 8584
+黚 8585
+黛 8586
+黜 8587
+黝 8588
+黟 8589
+黠 8590
+黢 8591
+黯 8592
+黻 8593
+黾 8594
+鼆 8595
+鼋 8596
+鼎 8597
+鼓 8598
+鼔 8599
+鼙 8600
+鼠 8601
+鼩 8602
+鼬 8603
+鼯 8604
+鼱 8605
+鼹 8606
+鼻 8607
+鼾 8608
+齁 8609
+齐 8610
+齿 8611
+龁 8612
+龃 8613
+龄 8614
+龅 8615
+龆 8616
+龇 8617
+龈 8618
+龊 8619
+龋 8620
+龌 8621
+龙 8622
+龚 8623
+龛 8624
+龟 8625
+龠 8626
+龢 8627
+ 8628
diff --git a/app/src/main/java/com/zs/smarthuman/sherpa/VoiceController.kt b/app/src/main/java/com/zs/smarthuman/sherpa/VoiceController.kt
index c5fb4db..6db6dda 100644
--- a/app/src/main/java/com/zs/smarthuman/sherpa/VoiceController.kt
+++ b/app/src/main/java/com/zs/smarthuman/sherpa/VoiceController.kt
@@ -2,10 +2,6 @@ package com.zs.smarthuman.sherpa
import android.content.res.AssetManager
import com.blankj.utilcode.util.LogUtils
-import kotlinx.coroutines.GlobalScope
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.launch
import java.util.ArrayDeque
class VoiceController(
@@ -29,6 +25,22 @@ class VoiceController(
onStateChanged?.invoke(value)
}
+ // ========== 缺失变量补充:实时能量与帧统计变量 ==========
+ // 实时能量统计
+ private var realtimeEnergySum = 0f
+ private var realtimeEnergyCount = 0
+ private var realtimePeakRms = 0f
+ // 实时帧统计
+ private var realtimeTotalFrames = 0
+ private var realtimeSpeechFrames = 0
+ private var realtimeContinuousSpeechFrames = 0
+ private var realtimeLastFrameIsSpeech = false
+ // 多人对话检测标记
+ private var isMultiPersonDialogueDetected = false
+ // 防抖重置标记
+ private var lastInvalidResetMs = 0L
+ private val INVALID_RESET_DEBOUNCE_MS = 1500L
+
private val wakeupManager = WakeupManager(assetManager, onWakeup)
private val vadManager = VadManager(
assetManager,
@@ -55,69 +67,56 @@ class VoiceController(
private val idleTimeoutMs = idleTimeoutSeconds * 1000L
private val maxRecordingMs = maxRecordingSeconds * 1000L
- // ================= 保留分场景动态系数 + 强制兜底配置 =================
+ // ================= 保留分场景动态系数 + 强制兜底配置(近距离优化版) =================
private val BASELINE_WINDOW_SIZE = 50
private val envNoiseBuffer = ArrayDeque(BASELINE_WINDOW_SIZE)
private var currentEnvBaseline = 0.001f
- // 强制兜底:正常语音最低门槛
- private val MIN_NORMAL_VOICE_ENERGY = 0.06f
- private val MIN_NORMAL_VOICE_VAD_RATIO = 0.3f
+ // 强制兜底:正常语音最低门槛(近距离场景大幅降低)
+ private val MIN_NORMAL_VOICE_ENERGY = 0.03f
+ private val MIN_NORMAL_VOICE_VAD_RATIO = 0.2f
- // 分场景动态系数(安静环境系数极低)
- private val BASELINE_QUIET_THRESHOLD = 0.005f // 安静环境基线阈值
- private val SHORT_SPEECH_ENERGY_COEFF_QUIET = 2.0f // 安静环境短语音系数
- private val SHORT_SPEECH_ENERGY_COEFF_NOISY = 3.0f // 嘈杂环境短语音系数
- private val LONG_SPEECH_ENERGY_COEFF_QUIET = 4.0f // 安静环境长语音系数
- private val LONG_SPEECH_ENERGY_COEFF_NOISY = 6.0f // 嘈杂环境长语音系数
- private val SHORT_SPEECH_VAD_COEFF = 0.08f
- private val LONG_SPEECH_VAD_COEFF = 0.15f
+ // 分场景动态系数(安静环境系数极低,适配近距离轻声)
+ private val BASELINE_QUIET_THRESHOLD = 0.005f
+ private val SHORT_SPEECH_ENERGY_COEFF_QUIET = 1.5f
+ private val SHORT_SPEECH_ENERGY_COEFF_NOISY = 2.0f
+ private val LONG_SPEECH_ENERGY_COEFF_QUIET = 2.5f
+ private val LONG_SPEECH_ENERGY_COEFF_NOISY = 3.5f
+ private val SHORT_SPEECH_VAD_COEFF = 0.05f
+ private val LONG_SPEECH_VAD_COEFF = 0.10f
private val SHORT_SPEECH_MIN_SCORE = 1
- private val LONG_SPEECH_MIN_SCORE = 2
+ private val LONG_SPEECH_MIN_SCORE = 1
- // 其他过滤参数
- private val MAX_FAR_FIELD_ENERGY = 0.03f
- private val MIN_VALID_PEAK_AVG_RATIO = 0.8f
- private val MIN_CONTINUOUS_FRAME_RATIO = 0.2f
+ // 其他过滤参数(近距离场景放宽)
+ private val MAX_FAR_FIELD_ENERGY = 0.015f
+ private val MIN_VALID_PEAK_AVG_RATIO = 0.5f
+ private val MIN_CONTINUOUS_FRAME_RATIO = 0.1f
private val MAX_PEAK_POSITION_RATIO = 0.95f
- private val MIN_EFFECTIVE_SPEECH_FRAMES = 5
+ private val MIN_EFFECTIVE_SPEECH_FRAMES = 3
private val SHORT_SPEECH_MIN = 500L
private val SHORT_SPEECH_MAX = 2000L
- // ========== 核心修改:多人对话过滤配置(适配2人以上场景) ==========
- private val MULTI_DIALOGUE_MIN_DURATION = 2500L // 多人对话最小时长(2.5秒)
- private val MULTI_DIALOGUE_MAX_PEAK_AVG_RATIO = 2.5f // 多人对话峰均比范围
+ // ========== 核心修改:多人对话过滤配置 ==========
+ private val MULTI_DIALOGUE_MIN_DURATION = 2500L
+ private val MULTI_DIALOGUE_MAX_PEAK_AVG_RATIO = 2.5f
private val MULTI_DIALOGUE_MIN_PEAK_AVG_RATIO = 0.4f
- private val MULTI_DIALOGUE_MAX_CONTINUOUS_RATIO = 0.3f // 多人对话连续帧占比
- private val MULTI_DIALOGUE_MIN_VAD_RATIO = 0.55f // 多人对话有效帧占比
+ private val MULTI_DIALOGUE_MAX_CONTINUOUS_RATIO = 0.3f
+ private val MULTI_DIALOGUE_MIN_VAD_RATIO = 0.55f
- // ========== 新增:录音过程中实时统计的变量 ==========
- // 能量统计
- private var realtimeEnergySum = 0f
- private var realtimeEnergyCount = 0
- private var realtimePeakRms = 0f
- // 帧统计(实时累加)
- private var realtimeTotalFrames = 0
- private var realtimeSpeechFrames = 0
- private var realtimeContinuousSpeechFrames = 0
- private var realtimeLastFrameIsSpeech = false
- // 多人对话实时判定标记
- private var isMultiPersonDialogueDetected = false
- // 防抖变量
- private var lastInvalidResetMs = 0L
- private val INVALID_RESET_DEBOUNCE_MS = 1500L // 1.5秒内不重复重置
+ // ========== 核心调整:近距离场景 微弱人声过滤配置(重点优化) ==========
+ private val MIN_EFFECTIVE_VOICE_DURATION = 400L
+ private val MIN_VOICE_FRAME_RATIO = 0.08f
+ private val MIN_PEAK_ENERGY_RATIO = 1.5f
+ private val NORMAL_VOICE_ENERGY_THRESHOLD = 0.008f
+ private val MIN_CONTINUOUS_VOICE_FRAMES = 1
- // ========== 核心新增:区分超时类型的标记 ==========
- private var hasInvalidSpeech = false // 是否有过无效说话行为
- private var currentTimeoutType: TimeoutType = TimeoutType.IDLE_TIMEOUT // 当前超时类型
-
- // ========== 补充:MIN_EFFECTIVE_SPEECH_RMS 常量(和VadManager对齐) ==========
- private val MIN_EFFECTIVE_SPEECH_RMS = 0.001f
+ // ========== 核心新增:MIN_EFFECTIVE_SPEECH_RMS 常量 ==========
+ private val MIN_EFFECTIVE_SPEECH_RMS = 0.0005f
- //播放等待超时
- private val PLAY_WAIT_TIMEOUT_MS = 3000L
- private var playWaitJob: Job? = null
+ // ========== 核心新增:无效说话标记 + 超时类型 ==========
+ private var hasInvalidSpeech = false
+ private var currentTimeoutType: TimeoutType = TimeoutType.IDLE_TIMEOUT
/* ================= 音频入口 ================= */
fun acceptAudio(samples: FloatArray) {
@@ -153,14 +152,12 @@ class VoiceController(
if ((waitSpeechStartMs > 0 && now - waitSpeechStartMs >= idleTimeoutMs) ||
(waitSpeechFailStartMs > 0 && now - waitSpeechFailStartMs >= idleTimeoutMs)
) {
- // 核心修改:超时前先判定超时类型
currentTimeoutType = if (hasInvalidSpeech) {
TimeoutType.INVALID_SPEECH_TIMEOUT
} else {
TimeoutType.IDLE_TIMEOUT
}
LogUtils.d(TAG, "⏱ WAIT_SPEECH timeout → WAIT_WAKEUP | 超时类型: $currentTimeoutType")
- // 触发超时提示语回调
onTimeoutTip?.invoke(currentTimeoutType)
resetAll()
return
@@ -177,20 +174,15 @@ class VoiceController(
vadManager.accept(samples)
// ========== 核心优化:录音过程中实时计算 ==========
- // 1. 实时校准环境基线(适配录音中环境变化)
calibrateEnvBaseline(samples)
- // 2. 实时计算能量/峰值
updateRealtimeEnergy(samples)
- // 3. 实时更新帧统计
updateRealtimeFrameStats()
- // 4. 实时判定是否为多人对话,若是则立即终止录音
if (checkMultiPersonDialogueRealtime(now)) {
LogUtils.w(TAG, "🚨 录音中识别出多人对话,提前终止")
finishSentence(realtimeEnergySum / realtimeEnergyCount, realtimePeakRms)
return
}
- // 原有最大录音时长判断
if (System.currentTimeMillis() - recordingStartMs > maxRecordingMs) {
LogUtils.w(TAG, "⏱ Max recording reached | 当前环境基线: $currentEnvBaseline")
finishSentence(realtimeEnergySum / realtimeEnergyCount, realtimePeakRms)
@@ -199,10 +191,10 @@ class VoiceController(
}
}
- /* ================= 新增:录音中实时更新能量统计 ================= */
+ /* ================= 新增:录音中实时更新能量统计(适配近距离轻声) ================= */
private fun updateRealtimeEnergy(samples: FloatArray) {
val rms = vadManager.calcRms(samples)
- // 仅统计有效语音帧的能量
+ // 仅统计有效语音帧的能量(阈值降低)
if (rms >= MIN_EFFECTIVE_SPEECH_RMS) {
realtimeEnergySum += rms
realtimeEnergyCount++
@@ -212,12 +204,10 @@ class VoiceController(
/* ================= 新增:录音中实时更新帧统计 ================= */
private fun updateRealtimeFrameStats() {
- // 从VADManager获取最新帧状态
realtimeTotalFrames = vadManager.getTotalFrames()
realtimeSpeechFrames = vadManager.getSpeechFrames()
realtimeContinuousSpeechFrames = vadManager.getContinuousSpeechFrames()
- // 实时更新连续帧标记
- val currentFrameIsSpeech = vadManager.isSpeechDetected() // 需给VadManager新增isSpeechDetected()方法
+ val currentFrameIsSpeech = vadManager.isSpeechDetected()
if (currentFrameIsSpeech) {
realtimeContinuousSpeechFrames = if (realtimeLastFrameIsSpeech) realtimeContinuousSpeechFrames + 1 else 1
} else {
@@ -228,17 +218,14 @@ class VoiceController(
/* ================= 新增:录音中实时判定多人对话 ================= */
private fun checkMultiPersonDialogueRealtime(now: Long): Boolean {
- // 还没到多人对话最小时长,不判定
val duration = now - recordingStartMs
if (duration < MULTI_DIALOGUE_MIN_DURATION) return false
- // 实时计算特征值
val avgEnergy = if (realtimeEnergyCount > 0) realtimeEnergySum / realtimeEnergyCount else 0f
val peakAvgRatio = if (avgEnergy > 0) realtimePeakRms / avgEnergy else 0f
val continuousRatio = if (realtimeSpeechFrames > 0) realtimeContinuousSpeechFrames.toFloat() / realtimeSpeechFrames else 0f
val vadRatio = vadManager.activeSpeechRatio()
- // 多人对话判定逻辑(和原逻辑一致,但实时执行)
isMultiPersonDialogueDetected = duration >= MULTI_DIALOGUE_MIN_DURATION &&
peakAvgRatio in MULTI_DIALOGUE_MIN_PEAK_AVG_RATIO..MULTI_DIALOGUE_MAX_PEAK_AVG_RATIO &&
continuousRatio <= MULTI_DIALOGUE_MAX_CONTINUOUS_RATIO &&
@@ -247,21 +234,21 @@ class VoiceController(
return isMultiPersonDialogueDetected
}
- /* ================= 环境基线校准(保留,录音中也会调用) ================= */
+ /* ================= 环境基线校准(适配近距离场景,降低噪音敏感度) ================= */
private fun calibrateEnvBaseline(samples: FloatArray) {
val rms = vadManager.calcRms(samples)
- // 新增:只保留低于基线+阈值的有效值,过滤突发噪音
- val validRms = if (rms < currentEnvBaseline + 0.005f) rms else currentEnvBaseline
- if (rms < 0.03f) {
+ // 只保留低于基线+阈值的有效值,过滤突发噪音(阈值降低)
+ val validRms = if (rms < currentEnvBaseline + 0.002f) rms else currentEnvBaseline
+ if (rms < 0.015f) {
if (envNoiseBuffer.size >= BASELINE_WINDOW_SIZE) {
envNoiseBuffer.removeFirst()
}
- envNoiseBuffer.addLast(validRms) // 用过滤后的有效值更新
+ envNoiseBuffer.addLast(validRms)
currentEnvBaseline = envNoiseBuffer.maxOrNull() ?: 0.001f
}
}
- /* ================= 唤醒 ================= */
+ /* ================= 唤醒相关方法 ================= */
private fun handleWakeupEvent() {
if (state == VoiceState.UPLOADING) return
stopBackendAudio?.invoke()
@@ -272,7 +259,6 @@ class VoiceController(
waitSpeechFailStartMs = System.currentTimeMillis()
waitSpeechStartMs = System.currentTimeMillis()
- // 核心新增:唤醒时重置无效说话标记(每次唤醒都是新的会话)
hasInvalidSpeech = false
currentTimeoutType = TimeoutType.IDLE_TIMEOUT
@@ -280,7 +266,6 @@ class VoiceController(
audioBuffer.clear()
vadManager.reset()
vadStarted = false
- // 重置实时统计变量
resetRealtimeStats()
}
@@ -297,7 +282,6 @@ class VoiceController(
recordingStartMs = System.currentTimeMillis()
audioBuffer.clear()
audioBuffer.addAll(preBuffer)
- // 初始化实时统计变量
resetRealtimeStats()
state = VoiceState.RECORDING
}
@@ -305,20 +289,65 @@ class VoiceController(
private fun onVadEnd(avgEnergy: Float, peakRms: Float) {
if (state != VoiceState.RECORDING) return
LogUtils.d(TAG, "🧠 VAD END | 环境基线: $currentEnvBaseline")
- // 优先使用实时统计的能量值,避免重复计算
val realAvgEnergy = if (realtimeEnergyCount > 0) realtimeEnergySum / realtimeEnergyCount else avgEnergy
val realPeakRms = if (realtimePeakRms > 0) realtimePeakRms else peakRms
finishSentence(realAvgEnergy, realPeakRms)
}
- /* ================= 结束录音(核心:复用实时计算结果) ================= */
+ /* ================= 核心优化:近距离场景 微弱人声过滤方法 ================= */
+ private fun filterWeakVoice(duration: Long, avgEnergy: Float, peakRms: Float): Boolean {
+ // 1. 时长过滤:<400ms的极短杂音才过滤
+ if (duration < MIN_EFFECTIVE_VOICE_DURATION) {
+ LogUtils.w(TAG, "❌ 微弱人声过滤:时长${duration}ms < ${MIN_EFFECTIVE_VOICE_DURATION}ms")
+ return true
+ }
+
+ // 2. 帧占比过滤:仅对极低能量语音生效
+ val voiceFrameRatio = if (realtimeTotalFrames > 0) realtimeSpeechFrames.toFloat() / realtimeTotalFrames else 0f
+ if (avgEnergy < NORMAL_VOICE_ENERGY_THRESHOLD && voiceFrameRatio < MIN_VOICE_FRAME_RATIO) {
+ LogUtils.w(TAG, "❌ 微弱人声过滤:帧占比${voiceFrameRatio} < ${MIN_VOICE_FRAME_RATIO}(极低能量)")
+ return true
+ }
+
+ // 3. 峰值能量过滤:仅对极低能量语音生效,且阈值大幅降低
+ val peakBaselineRatio = peakRms / currentEnvBaseline
+ if (avgEnergy < NORMAL_VOICE_ENERGY_THRESHOLD && peakBaselineRatio < MIN_PEAK_ENERGY_RATIO) {
+ LogUtils.w(TAG, "❌ 微弱人声过滤:峰值/基线${peakBaselineRatio} < ${MIN_PEAK_ENERGY_RATIO}(极低能量)")
+ return true
+ }
+
+ // 4. 连续帧过滤:仅对极低能量语音生效,且阈值降到1
+ if (avgEnergy < NORMAL_VOICE_ENERGY_THRESHOLD && realtimeContinuousSpeechFrames < MIN_CONTINUOUS_VOICE_FRAMES) {
+ LogUtils.w(TAG, "❌ 微弱人声过滤:连续帧${realtimeContinuousSpeechFrames} < ${MIN_CONTINUOUS_VOICE_FRAMES}(极低能量)")
+ return true
+ }
+
+ // 5. 平均能量过滤:仅对极极低能量语音生效
+ val energyBaselineRatio = avgEnergy / currentEnvBaseline
+ if (avgEnergy < 0.005f && energyBaselineRatio < 1.2f) {
+ LogUtils.w(TAG, "❌ 微弱人声过滤:能量/基线${energyBaselineRatio} < 1.2(极极低能量)")
+ return true
+ }
+
+ // 正常语音(包括近距离轻声)直接通过
+ return false
+ }
+
+ /* ================= 结束录音(核心:适配近距离轻声) ================= */
private fun finishSentence(avgEnergy: Float = 0f, peakRms: Float = 0f) {
val now = System.currentTimeMillis()
val duration = now - recordingStartMs
+ // ========== 第一步:基础过滤(语音过短) ==========
if (!vadStarted || duration < MIN_SPEECH_MS) {
LogUtils.d(TAG, "❌ 语音过短: $duration ms | 基线: $currentEnvBaseline")
- // 核心新增:无效说话(语音过短),标记hasInvalidSpeech为true
+ hasInvalidSpeech = true
+ resetToWaitSpeech()
+ return
+ }
+
+ // ========== 第二步:微弱人声专项过滤(仅过滤极微弱杂音) ==========
+ if (filterWeakVoice(duration, avgEnergy, peakRms)) {
hasInvalidSpeech = true
resetToWaitSpeech()
return
@@ -328,44 +357,40 @@ class VoiceController(
val vadRatio = vadManager.activeSpeechRatio()
val peakAvgRatio = if (avgEnergy > 0f) peakRms / avgEnergy else 0f
- // 直接复用实时统计的帧数据,无需重新获取
LogUtils.d(TAG, "📊 录音信息 | 时长: $duration ms | 能量: $avgEnergy | 峰均比: $peakAvgRatio | 基线: $currentEnvBaseline")
LogUtils.d(TAG, "📊 实时帧统计 | 总帧: $realtimeTotalFrames | 语音帧: $realtimeSpeechFrames | 连续语音帧: $realtimeContinuousSpeechFrames")
- // 若录音中已识别出多人对话,直接过滤
+ // 多人对话过滤
if (isMultiPersonDialogueDetected) {
LogUtils.w(TAG, "❌ 过滤多人对话垃圾语音(实时识别) | 时长: $duration ms")
- // 核心新增:无效说话(多人对话),标记hasInvalidSpeech为true
hasInvalidSpeech = true
resetToWaitSpeech()
return
}
- // ========== 1. 强制兜底:正常语音直接通过 ==========
+ // ========== 1. 强制兜底:正常语音直接通过(阈值降低) ==========
val isNormalVoice = avgEnergy >= MIN_NORMAL_VOICE_ENERGY && vadRatio >= MIN_NORMAL_VOICE_VAD_RATIO
if (isNormalVoice) {
LogUtils.i(TAG, "✅ 正常语音强制通过 | 能量: $avgEnergy ≥ $MIN_NORMAL_VOICE_ENERGY | 占比: $vadRatio ≥ $MIN_NORMAL_VOICE_VAD_RATIO")
audioBuffer.clear()
state = VoiceState.UPLOADING
onFinalAudio(audio)
- resetRealtimeStats() // 重置实时统计
- // 核心新增:有效语音通过后,重置无效说话标记(后续超时重新判定)
+ resetRealtimeStats()
hasInvalidSpeech = false
return
}
- // ========== 2. 远场过滤:只过滤极低能量 ==========
+ // ========== 2. 远场过滤(近距离场景几乎不生效) ==========
val isFarField = avgEnergy < MAX_FAR_FIELD_ENERGY
val isInvalidPeakRatio = peakAvgRatio < MIN_VALID_PEAK_AVG_RATIO
if (isFarField && isInvalidPeakRatio) {
LogUtils.w(TAG, "❌ 远场/无效语音过滤 | 能量: $avgEnergy < $MAX_FAR_FIELD_ENERGY")
- // 核心新增:无效说话(远场),标记hasInvalidSpeech为true
hasInvalidSpeech = true
resetToWaitSpeech()
return
}
- // ========== 3. 非连续判定:极度宽松 ==========
+ // ========== 3. 非连续判定(大幅放宽) ==========
val continuousRatio = if (realtimeSpeechFrames > 0) realtimeContinuousSpeechFrames.toFloat() / realtimeSpeechFrames else 0f
val peakPositionRatio = vadManager.getPeakPositionRatio()
val isDiscontinuous = continuousRatio < MIN_CONTINUOUS_FRAME_RATIO &&
@@ -373,13 +398,12 @@ class VoiceController(
peakPositionRatio > MAX_PEAK_POSITION_RATIO
if (isDiscontinuous) {
LogUtils.w(TAG, "❌ 非连续杂音过滤 | 连续占比: $continuousRatio < $MIN_CONTINUOUS_FRAME_RATIO")
- // 核心新增:无效说话(非连续杂音),标记hasInvalidSpeech为true
hasInvalidSpeech = true
resetToWaitSpeech()
return
}
- // ========== 4. 分场景动态阈值计算(保留核心逻辑) ==========
+ // ========== 4. 分场景动态阈值计算(系数大幅降低) ==========
val isQuietEnv = currentEnvBaseline < BASELINE_QUIET_THRESHOLD
val thresholdConfig = when {
duration in SHORT_SPEECH_MIN..SHORT_SPEECH_MAX -> {
@@ -406,18 +430,17 @@ class VoiceController(
}
}
- // ========== 5. 分场景阈值过滤 ==========
+ // ========== 5. 分场景阈值过滤(阈值降低) ==========
val energyPass = avgEnergy >= thresholdConfig.energyThreshold
val vadRatioPass = vadRatio >= thresholdConfig.vadRatioThreshold
if (!energyPass || !vadRatioPass) {
LogUtils.w(TAG, "❌ 低能量语音阈值过滤 | 能量: $avgEnergy < ${thresholdConfig.energyThreshold} | 占比: $vadRatio < ${thresholdConfig.vadRatioThreshold} | 场景: ${thresholdConfig.scene}")
- // 核心新增:无效说话(低能量),标记hasInvalidSpeech为true
hasInvalidSpeech = true
resetToWaitSpeech()
return
}
- // ========== 6. 评分判定:极度宽松 ==========
+ // ========== 6. 评分判定(门槛降低到1) ==========
var score = 0
score += when {
duration >= 4000 -> 3
@@ -430,7 +453,6 @@ class VoiceController(
val pass = score >= thresholdConfig.minScore
if (!pass) {
LogUtils.w(TAG, "❌ 评分不足过滤 | 总分: $score < ${thresholdConfig.minScore} | 场景: ${thresholdConfig.scene}")
- // 核心新增:无效说话(评分不足),标记hasInvalidSpeech为true
hasInvalidSpeech = true
resetToWaitSpeech()
return
@@ -440,13 +462,12 @@ class VoiceController(
audioBuffer.clear()
state = VoiceState.UPLOADING
onFinalAudio(audio)
- resetRealtimeStats() // 重置实时统计
- // 核心新增:有效语音通过后,重置无效说话标记
+ resetRealtimeStats()
hasInvalidSpeech = false
- LogUtils.i(TAG, "✅ 低能量语音通过 | 时长: $duration ms | 能量: $avgEnergy | 场景: ${thresholdConfig.scene}")
+ LogUtils.i(TAG, "✅ 近距离轻声通过 | 时长: $duration ms | 能量: $avgEnergy | 场景: ${thresholdConfig.scene}")
}
- /* ================= 新增:重置实时统计变量 ================= */
+ /* ================= 重置实时统计变量 ================= */
private fun resetRealtimeStats() {
realtimeEnergySum = 0f
realtimeEnergyCount = 0
@@ -458,6 +479,7 @@ class VoiceController(
isMultiPersonDialogueDetected = false
}
+
/* ================= 播放/上传/Reset 回调 ================= */
fun onPlayStartPrompt() {
LogUtils.d(TAG, "🎵 播放提示音 | 基线: $currentEnvBaseline")
@@ -471,7 +493,6 @@ class VoiceController(
}
fun onPlayStartBackend() {
- // 仅当上传完成(成功)且状态为 UPLOADING 时,才切换状态
if (state != VoiceState.UPLOADING) {
LogUtils.w(TAG, "🎶 非上传完成状态,禁止切换到 PLAYING_BACKEND | 当前状态: $state")
return
@@ -490,42 +511,12 @@ class VoiceController(
if (state != VoiceState.UPLOADING) return
LogUtils.d(TAG, "📤 上传完成 | 成功: $success | 基线: $currentEnvBaseline")
- if (success) {
- // 上传成功:启动协程超时任务
- startPlayWaitTimer()
- } else {
- // 上传失败:取消超时任务,重置状态
- cancelPlayWaitTimer()
+ if (!success) {
speechEnableAtMs = System.currentTimeMillis() + SPEECH_COOLDOWN_MS
state = VoiceState.WAIT_SPEECH_COOLDOWN
}
}
- private fun startPlayWaitTimer() {
- // 先取消旧任务,避免重复
- cancelPlayWaitTimer()
-
- // 启动协程超时任务(Dispatchers.Main保证状态修改在主线程)
- playWaitJob = GlobalScope.launch {
- delay(PLAY_WAIT_TIMEOUT_MS) // 挂起3秒,无线程阻塞
- LogUtils.w(TAG, "⏱ 播放等待超时(${PLAY_WAIT_TIMEOUT_MS}ms),自动重置状态")
-
- // 超时后重置状态(加同步锁,避免多线程冲突)
- synchronized(this@VoiceController) {
- speechEnableAtMs = System.currentTimeMillis() + SPEECH_COOLDOWN_MS
- state = VoiceState.WAIT_SPEECH_COOLDOWN
- }
- }
- }
-
- // ================= 替换:取消协程任务 =================
- private fun cancelPlayWaitTimer() {
- playWaitJob?.cancel() // 取消协程(挂起函数会立即停止)
- playWaitJob = null
- LogUtils.d(TAG, "🔄 播放等待协程已取消")
- }
-
-
private fun resetToWaitSpeech() {
LogUtils.d(TAG, "🔄 重置到等待说话 | 基线: $currentEnvBaseline | 已标记无效说话: $hasInvalidSpeech")
val now = System.currentTimeMillis()
@@ -537,7 +528,7 @@ class VoiceController(
audioBuffer.clear()
vadManager.reset()
vadStarted = false
- resetRealtimeStats() // 重置实时统计
+ resetRealtimeStats()
state = VoiceState.WAIT_SPEECH
if (waitSpeechFailStartMs == 0L) waitSpeechFailStartMs = System.currentTimeMillis()
}
@@ -553,13 +544,11 @@ class VoiceController(
waitSpeechFailStartMs = 0L
envNoiseBuffer.clear()
currentEnvBaseline = 0.001f
- resetRealtimeStats() // 重置实时统计
- // 核心新增:重置所有状态时,同时重置无效说话标记和超时类型
+ resetRealtimeStats()
hasInvalidSpeech = false
currentTimeoutType = TimeoutType.IDLE_TIMEOUT
LogUtils.d(TAG, "🔄 环境基线已重置 | 新基线: $currentEnvBaseline | 无效说话标记已重置")
state = VoiceState.WAIT_WAKEUP
- cancelPlayWaitTimer()
}
fun release() {
@@ -567,11 +556,9 @@ class VoiceController(
wakeupManager.release()
vadManager.reset()
envNoiseBuffer.clear()
- resetRealtimeStats() // 重置实时统计
- // 核心新增:释放资源时重置标记
+ resetRealtimeStats()
hasInvalidSpeech = false
currentTimeoutType = TimeoutType.IDLE_TIMEOUT
- cancelPlayWaitTimer()
}
private fun cachePreBuffer(samples: FloatArray) {
diff --git a/app/src/main/java/com/zs/smarthuman/ui/MainActivity.kt b/app/src/main/java/com/zs/smarthuman/ui/MainActivity.kt
index 1a7539b..a8daa05 100644
--- a/app/src/main/java/com/zs/smarthuman/ui/MainActivity.kt
+++ b/app/src/main/java/com/zs/smarthuman/ui/MainActivity.kt
@@ -54,6 +54,7 @@ import com.zs.smarthuman.utils.AudioDebugUtil
import com.zs.smarthuman.utils.AudioPcmUtil
import com.zs.smarthuman.utils.DangerousUtils
import com.zs.smarthuman.utils.LogFileUtils
+import com.zs.smarthuman.utils.SimulateStreamingAsr
import com.zs.smarthuman.utils.UnityPlayerHolder
import com.zs.smarthuman.utils.ViewSlideAnimator
@@ -86,6 +87,9 @@ class MainActivity : BaseViewModelActivity()
private var versionUpdateDialog: VersionUpdateDialog? = null
+ private val PLAY_WAIT_TIMEOUT_MS = 2000L // 统一2秒超时阈值
+ private var startPlayTimeoutJob: Job? = null // 统一管理所有播放场景的超时Job
+
override fun getViewBinding(): ActivityMainBinding = ActivityMainBinding.inflate(layoutInflater)
override fun initView() {
UnityPlayerHolder.getInstance().initialize(this)
@@ -97,6 +101,7 @@ class MainActivity : BaseViewModelActivity()
}
override fun initData() {
+ initAsrModel()
PermissionUtils.permissionGroup(PermissionConstants.MICROPHONE)
.callback(object : PermissionUtils.FullCallback {
override fun onGranted(granted: List) {
@@ -154,6 +159,11 @@ class MainActivity : BaseViewModelActivity()
}
Toaster.showShort(it)
voiceController?.onUploadFinished(true)
+ startPlayTimeoutJob?.cancel()
+ startPlayTimeoutJob = lifecycleScope.launch {
+ delay(PLAY_WAIT_TIMEOUT_MS)
+ voiceController?.onPlayEndBackend()
+ }
}
}
}
@@ -181,38 +191,42 @@ class MainActivity : BaseViewModelActivity()
voiceController = VoiceController(
assetManager = assets,
onWakeup = {
- Log.d("lrs", "当前状态: 唤醒成功wakeup")
//每次唤醒前都要把前面的音频停掉
-// UnityPlayerHolder.getInstance().cancelPCM()
+ UnityPlayerHolder.getInstance().cancelPCM()
UnityPlayerHolder.getInstance()
.sendVoiceToUnity(
voiceInfo = mutableListOf().apply {
add(
VoiceBeanResp(
- audioUrl = UserInfoManager.userInfo?.wakeUpAudioUrl
- ?: "https://static.seerteach.net/aidialogue/systemVoice/aliyun-nv.mp3"
+ audioUrl = "https://static.seerteach.net/aidialogue/systemVoice/aliyun-nv.mp3"
)
)
}
)
+
+ startPlayTimeoutJob?.cancel()
+ startPlayTimeoutJob = lifecycleScope.launch {
+ delay(PLAY_WAIT_TIMEOUT_MS)
+ voiceController?.onPlayEndPrompt()
+ }
},
onFinalAudio = { audio ->
Log.d("lrsxx", "检测到语音,长度=${audio.size}")
- mViewModel?.uploadVoice(
- AudioPcmUtil.pcm16ToBase64(AudioPcmUtil.floatToPcm16(audio)),
- 1
- )
-// loadLocalJsonAndPlay()
+// mViewModel?.uploadVoice(
+// AudioPcmUtil.pcm16ToBase64(AudioPcmUtil.floatToPcm16(audio)),
+// 1
+// )
+ loadLocalJsonAndPlay()
val file = File(
getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS)!!.getAbsolutePath(),
"xxx.wav"
)
AudioDebugUtil.saveFloatPcmAsWav(audio, file)
LogUtils.dTag("audioxx", "WAV saved: ${file.path}, samples=${audio.size}")
-// lifecycleScope.launch(Dispatchers.Main) {
-//
-// mVerticalAnimator?.show()
-// }
+ lifecycleScope.launch(Dispatchers.Main) {
+
+ mVerticalAnimator?.show()
+ }
},
onStateChanged = { state ->
@@ -233,7 +247,7 @@ class MainActivity : BaseViewModelActivity()
voiceInfo = mutableListOf().apply {
add(
VoiceBeanResp(
- audioUrl = "https://static.seerteach.net/aidialogue/userWakeUpAudio/ttsmaker-file-2025-12-31-16-2-51.mp3"
+ audioUrl = UserInfoManager.userInfo?.endAudioUrl?:""
)
)
}
@@ -244,6 +258,11 @@ class MainActivity : BaseViewModelActivity()
)
}
+ private fun initAsrModel(){
+ lifecycleScope.launch(Dispatchers.IO){
+ SimulateStreamingAsr.initOfflineRecognizer(App.getInstance())
+ }
+ }
override fun receivedIMMsg(msg: SingleMessage) {
when (msg.msgContentType) {
MessageContentType.RECEIVE_VOICE_STREAM.msgContentType -> {
@@ -415,9 +434,6 @@ class MainActivity : BaseViewModelActivity()
private var promptPlaying = false
private var backPlaying = false
- private var promptTimeoutJob: Job? = null
- private val PROMPT_PLAY_TIMEOUT_MS = 3000L // 3 秒
-
fun onAudioProgressUpdated( // Unity 调用此方法传递音频进度
progress: Float,
@@ -427,7 +443,6 @@ class MainActivity : BaseViewModelActivity()
audioUrl: String
) {
val wakeupUrl = UserInfoManager.userInfo?.wakeUpAudioUrl
- ?: "https://static.seerteach.net/aidialogue/systemVoice/aliyun-nv.mp3"
if (audioUrl != wakeupUrl) return
@@ -436,13 +451,8 @@ class MainActivity : BaseViewModelActivity()
if (!promptPlaying) {
promptPlaying = true
voiceController?.onPlayStartPrompt()
-
- promptTimeoutJob = lifecycleScope.launch {
- delay(PROMPT_PLAY_TIMEOUT_MS)
- promptPlaying = false
- voiceController?.onPlayEndPrompt()
- promptTimeoutJob?.cancel()
- }
+ startPlayTimeoutJob?.cancel()
+ LogUtils.eTag("MainActivity","等待超时")
}
}
@@ -450,7 +460,6 @@ class MainActivity : BaseViewModelActivity()
if (promptPlaying) {
promptPlaying = false
voiceController?.onPlayEndPrompt()
- promptTimeoutJob?.cancel()
}
}
}
@@ -464,14 +473,15 @@ class MainActivity : BaseViewModelActivity()
isFinal: Boolean
) {
when (state) {
- 1 -> { // play
+ 1 -> {
if (!backPlaying) {
backPlaying = true
voiceController?.onPlayStartBackend()
+ startPlayTimeoutJob?.cancel()
}
}
- 3 -> { // complete
+ 3 -> {
if (backPlaying) {
backPlaying = false
voiceController?.onPlayEndBackend()
diff --git a/app/src/main/java/com/zs/smarthuman/utils/SimulateStreamingAsr.kt b/app/src/main/java/com/zs/smarthuman/utils/SimulateStreamingAsr.kt
new file mode 100644
index 0000000..cb10e37
--- /dev/null
+++ b/app/src/main/java/com/zs/smarthuman/utils/SimulateStreamingAsr.kt
@@ -0,0 +1,155 @@
+package com.zs.smarthuman.utils
+
+import android.content.Context
+import android.content.res.AssetManager
+import com.blankj.utilcode.util.LogUtils
+
+import com.k2fsa.sherpa.onnx.OfflineModelConfig
+import com.k2fsa.sherpa.onnx.OfflineRecognizer
+import com.k2fsa.sherpa.onnx.OfflineRecognizerConfig
+import com.k2fsa.sherpa.onnx.OfflineWenetCtcModelConfig
+import com.k2fsa.sherpa.onnx.Vad
+import com.k2fsa.sherpa.onnx.getVadModelConfig
+import java.io.File
+import java.io.FileOutputStream
+import java.io.InputStream
+import java.io.OutputStream
+
+
+fun assetExists(assetManager: AssetManager, path: String): Boolean {
+ val dir = path.substringBeforeLast('/', "")
+ val fileName = path.substringAfterLast('/')
+
+ val files = assetManager.list(dir) ?: return false
+ return files.contains(fileName)
+}
+
+fun copyAssetToInternalStorage(path: String, context: Context): String {
+ val targetRoot = context.filesDir
+ val outFile = File(targetRoot, path)
+
+ if (!assetExists(context.assets, path = path)) {
+ // for context binary, if it is does not exist, we return a path
+ // that can be written to
+ outFile.parentFile?.mkdirs()
+ LogUtils.i("VoiceController", "$path does not exist, return ${outFile.absolutePath}")
+ return outFile.absolutePath
+ }
+
+ if (outFile.exists()) {
+ val assetSize = context.assets.open(path).use { it.available() }
+ if (outFile.length() == assetSize.toLong()) {
+ LogUtils.i("VoiceController", "$targetRoot/$path already exists, skip copying, return $targetRoot/$path")
+
+ return "$targetRoot/$path"
+ }
+ }
+
+ outFile.parentFile?.mkdirs()
+
+ context.assets.open(path).use { input: InputStream ->
+ FileOutputStream(outFile).use { output: OutputStream ->
+ input.copyTo(output)
+ }
+ }
+ LogUtils.i("VoiceController", "Copied $path to $targetRoot/$path")
+
+ return outFile.absolutePath
+}
+
+
+object SimulateStreamingAsr {
+ private var _recognizer: OfflineRecognizer? = null
+ val recognizer: OfflineRecognizer
+ get() {
+ return _recognizer!!
+ }
+
+
+ fun initOfflineRecognizer(context: Context) {
+ synchronized(this) {
+ if (_recognizer != null) {
+ return
+ }
+
+ val wenetConfig = OfflineWenetCtcModelConfig(
+ model = "sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10/model.int8.onnx",
+ )
+
+ val modelConfig = OfflineModelConfig(
+ wenetCtc = wenetConfig,
+ tokens = "sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10/tokens.txt"
+ )
+ val config = OfflineRecognizerConfig(
+ modelConfig = modelConfig,
+ )
+
+
+ var assetManager: AssetManager? = context.assets
+
+ if (config.modelConfig.provider == "qnn") {
+ // We assume you have copied files like libQnnHtpV81Skel.so to jniLibs/arm64-v8a
+ LogUtils.i("VoiceController", "nativelibdir: ${context.applicationInfo.nativeLibraryDir}")
+
+ // If we don't set the environment variable for ADSP_LIBRARY_PATH, we will see
+ // the error code 1008 from qnn_interface.deviceCreate()
+ // See also
+ // https://workbench.aihub.qualcomm.com/docs/hub/faq.html#why-am-i-seeing-error-1008-when-trying-to-use-htp
+ OfflineRecognizer.prependAdspLibraryPath(context.applicationInfo.nativeLibraryDir)
+
+ // for qnn, we need to copy *.so files from assets folder to sd card
+ if (config.modelConfig.senseVoice.qnnConfig.backendLib.isEmpty() && config.modelConfig.zipformerCtc.qnnConfig.backendLib.isEmpty()) {
+ LogUtils.i("VoiceController", "You should provide libQnnHtp.so for qnn")
+ throw IllegalArgumentException("You should provide libQnnHtp.so for qnn")
+ }
+ config.modelConfig.tokens =
+ copyAssetToInternalStorage(config.modelConfig.tokens, context)
+
+ if (config.modelConfig.senseVoice.model.isNotEmpty() || assetExists(
+ context.assets,
+ path = config.modelConfig.senseVoice.qnnConfig.contextBinary
+ )
+ ) {
+ if (config.modelConfig.senseVoice.model.isNotEmpty()) {
+ config.modelConfig.senseVoice.model =
+ copyAssetToInternalStorage(config.modelConfig.senseVoice.model, context)
+ }
+
+ config.modelConfig.senseVoice.qnnConfig.contextBinary =
+ copyAssetToInternalStorage(
+ config.modelConfig.senseVoice.qnnConfig.contextBinary,
+ context
+ )
+ } else if (config.modelConfig.zipformerCtc.model.isNotEmpty()) {
+ config.modelConfig.zipformerCtc.model =
+ copyAssetToInternalStorage(config.modelConfig.zipformerCtc.model, context)
+
+ config.modelConfig.zipformerCtc.qnnConfig.contextBinary =
+ copyAssetToInternalStorage(
+ config.modelConfig.zipformerCtc.qnnConfig.contextBinary,
+ context
+ )
+ }
+
+ if (config.hr.lexicon.isNotEmpty()) {
+ config.hr.lexicon = copyAssetToInternalStorage(config.hr.lexicon, context)
+ }
+
+ if (config.hr.ruleFsts.isNotEmpty()) {
+ // it assumes there is only one fst. otherwise, you need to copy each fst separately
+ config.hr.ruleFsts = copyAssetToInternalStorage(config.hr.ruleFsts, context)
+ }
+
+ assetManager = null
+ }
+
+ _recognizer = OfflineRecognizer(
+ assetManager = assetManager,
+ config = config,
+ )
+
+ LogUtils.i("VoiceController", "sherpa-onnx offline recognizer initialized")
+ }
+ }
+
+}
diff --git a/app/src/main/jniLibs/arm64-v8a/libandroidx.graphics.path.so b/app/src/main/jniLibs/arm64-v8a/libandroidx.graphics.path.so
new file mode 100644
index 0000000..5bf9a29
Binary files /dev/null and b/app/src/main/jniLibs/arm64-v8a/libandroidx.graphics.path.so differ