Showing preview only (3,217K chars total). Download the full file or copy to clipboard to get everything.
Repository: nl8590687/ASRT_SpeechRecognition
Branch: master
Commit: c695d4d3f49f
Files: 40
Total size: 3.1 MB
Directory structure:
gitextract_hjpms6fl/
├── .github/
│ ├── FUNDING.yml
│ └── donate.md
├── .gitignore
├── Dockerfile
├── LICENSE
├── README.md
├── README_EN.md
├── asrserver_grpc.py
├── asrserver_http.py
├── asrt_config.json
├── assets/
│ ├── asrt.proto
│ ├── asrt_pb2.py
│ ├── asrt_pb2_grpc.py
│ └── default.html
├── client_grpc.py
├── client_http.py
├── data_loader.py
├── dict.txt
├── download_default_datalist.py
├── evaluate_speech_model.py
├── language_model3.py
├── model_language/
│ ├── language_model1.txt
│ └── language_model2.txt
├── model_zoo/
│ └── speech_model/
│ ├── keras_backend.py
│ └── pytorch_backend.py
├── predict_speech_file.py
├── requirements.txt
├── speech_features/
│ ├── __init__.py
│ ├── base.py
│ ├── sigproc.py
│ └── speech_features.py
├── speech_model.py
├── speech_recorder.py
├── torch_speech_model.py
├── train_speech_model.py
├── train_speech_model_pytorch.py
└── utils/
├── config.py
├── ops.py
├── ops_test.py
└── thread.py
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms
github: nl8590687 # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
custom: https://github.com/nl8590687/ASRT_SpeechRecognition/wiki/donate # Replace with a single custom sponsorship URL
================================================
FILE: .github/donate.md
================================================
# Donate 打赏作者
本项目的作者@nl8590687 (repo owner)现在其实还是一名学生...
如果您觉得本项目给您的学习和工作带来了一些帮助,可以考虑给作者一些打赏,用来给他在炎热的夏天买一瓶冰可乐,或者寒冷的冬天买一杯热奶茶,以鼓励其创作出更好的代码和项目。
二维码:
| 支付宝收款码 |微信收款码 |
| -------- | ----- |
| <img src="https://raw.githubusercontent.com/wiki/nl8590687/ASRT_SpeechRecognition/assets/Alipay_QRCODE.png" width = "300" height = "300" alt="支付宝收款二维码" /> | <img src="https://raw.githubusercontent.com/wiki/nl8590687/ASRT_SpeechRecognition/assets/Wechat_QRCODE.png" width = "300" height = "300" alt="微信收款二维码" />
================================================
FILE: .gitignore
================================================
## Ignore some files and folders for copyright and other reasons.
*.model
*.model.base
[Mm]odel_speech/
__pycache__
*.wav
*.model_yaml
Test_Report_*
dataset
data_pinyin.txt
testClient.py
webapi/
save_models/
datalist/
================================================
FILE: Dockerfile
================================================
# Ubuntu 20.04
FROM ubuntu:focal
# 切换默认shell为bash
SHELL ["/bin/bash", "-c"]
ADD ./ /asrt_server
WORKDIR /asrt_server
# 最小化源,缩短apt update时间(ca-certificates必须先安装才支持换tsinghua源)
RUN echo 'deb http://archive.ubuntu.com/ubuntu/ focal main restricted' > /etc/apt/sources.list
RUN apt update && apt install -y ca-certificates
RUN echo $'\
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse\
\n# deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse\n\
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse\
\n# deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse\n\
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse\
\n# deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse\n\
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse\
\n# deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse\n\
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse\
\n# deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse'\
> /etc/apt/sources.list
RUN apt update && apt install -y python3 python3-pip
RUN pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip3 install wave scipy matplotlib tensorflow-cpu==2.5.3 numpy==1.19.2 requests flask waitress grpcio==1.34.0 grpcio-tools==1.34.0 protobuf
RUN echo $'cd /asrt_server \n python3 asrserver_http.py & \n python3 asrserver_grpc.py' > /asrt_server/start.sh && chmod +x /asrt_server/start.sh
# refer: https://docs.docker.com/engine/reference/builder/#expose
EXPOSE 20001/tcp 20002/tcp
ENTRYPOINT ["/bin/bash", "/asrt_server/start.sh"]
# https://docs.docker.com/engine/reference/commandline/build/#options
# docker build --progress plain --rm --build-arg TAG=1.3.0 --tag asrt/api_server:1.3.0 .
# https://docs.docker.com/engine/reference/commandline/run/#options
# docker run --rm -it -p 20001:20001 -p 20002:20002 --name asrt -d asrt/api_server:1.3.0
================================================
FILE: LICENSE
================================================
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
{one line to give the program's name and a brief idea of what it does.}
Copyright (C) {year} {name of author}
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
ASRT_SpeechRecognition Copyright (C) 2017 nl8590687
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
================================================
FILE: README.md
================================================

[](https://opensource.org/licenses/GPL-3.0)
[](https://github.com/nl8590687/ASRT_SpeechRecognition)
[](https://www.tensorflow.org/)
[](https://www.python.org/)
[](https://doi.org/10.5281/zenodo.5808434)
ASRT是一个基于深度学习的中文语音识别系统,如果您觉得喜欢,请点一个 **"Star"** 吧~
**ReadMe Language** | 中文版 | [English](https://github.com/nl8590687/ASRT_SpeechRecognition/blob/master/README_EN.md) |
[**ASRT项目主页**](https://asrt.ailemon.net/) |
[**发布版下载**](https://wiki.ailemon.net/docs/asrt-doc/download) |
[**查看本项目的Wiki文档**](https://wiki.ailemon.net/docs/asrt-doc) |
[**实用效果体验Demo**](https://asrt.ailemon.net/demo) |
[**打赏作者**](https://wiki.ailemon.net/docs/asrt-doc/asrt-doc-1deo9u61unti9)
如果程序运行期间或使用中有什么问题,可以及时在issue中提出来,我将尽快做出答复。本项目作者交流QQ群:**894112051** ,加微信群请先加AI柠檬微信号:**ailemon-me** ,并备注“ASRT语音识别”
<center><img src="https://res.ailemon.net/common/ailemon-me-wechat-qrcode.jpg?x-oss-process=style/ailemon-blog-webp" height="100rem"/></center>
提问前请仔细查看[项目文档](https://wiki.ailemon.net/docs/asrt-doc)、
[FAQ常见问题](https://wiki.ailemon.net/docs/asrt-doc/asrt-doc-1deoeud494h4f)
以及[Issues](https://github.com/nl8590687/ASRT_SpeechRecognition/issues) 避免重复提问
如果程序运行时有任何异常情况,在提问时请发出完整截图,并注明所使用的CPU架构,GPU型号,操作系统、Python,TensorFlow和CUDA版本,以及是否修改过任何代码或增删数据集等。
## Introduction 简介
本项目使用tensorFlow.keras基于深度卷积神经网络和长短时记忆神经网络、注意力机制以及CTC实现。
## 训练模型的最低软硬件要求
### 硬件
* CPU: 4核 (x86_64, amd64) +
* RAM: 16 GB +
* GPU: NVIDIA, Graph Memory 11GB+ (1080ti起步)
* 硬盘: 500 GB 机械硬盘(或固态硬盘)
### 软件
* Linux: Ubuntu 20.04+ / CentOS 7+ (训练+推理) 或 Windows: 10/11(仅推理)
* Python: 3.9 - 3.11 及后续版本
* TensorFlow: 2.5 - 2.11 及后续版本
## 快速开始
以在Linux系统下的操作为例:
首先通过Git将本项目克隆到您的计算机上,然后下载本项目训练所需要的数据集,下载链接详见[文档末尾部分](https://github.com/nl8590687/ASRT_SpeechRecognition#data-sets-%E6%95%B0%E6%8D%AE%E9%9B%86)。
```shell
$ git clone https://github.com/nl8590687/ASRT_SpeechRecognition.git
```
或者您也可以通过 "Fork" 按钮,将本项目Copy一份副本,然后通过您自己的SSH密钥克隆到本地。
通过git克隆仓库以后,进入项目根目录;并创建一个存储数据的子目录, 例如 `/data/speech_data` (可使用软链接代替),然后将下载好的数据集直接解压进去
注意,当前版本中,在配置文件里,默认添加了Thchs30、ST-CMDS、Primewords、aishell-1、aidatatang200、MagicData 六个数据集,如果不需要请自行删除。如果要使用其他数据集需要自行添加数据配置,并提前使用ASRT支持的标准格式整理数据。
```shell
$ cd ASRT_SpeechRecognition
$ mkdir /data/speech_data
$ tar zxf <数据集压缩文件名> -C /data/speech_data/
```
下载默认数据集的拼音标签文件:
```shell
$ python download_default_datalist.py
```
目前可用的模型有24、25、251和251bn
运行本项目之前,请安装必要的[Python3版依赖库](https://github.com/nl8590687/ASRT_SpeechRecognition#python-import)
本项目开始训练请执行:
```shell
$ python3 train_speech_model.py
```
本项目开始测试请执行:
```shell
$ python3 evaluate_speech_model.py
```
测试之前,请确保代码中填写的模型文件路径存在。
预测单条音频文件的语音识别文本:
```shell
$ python3 predict_speech_file.py
```
启动ASRT HTTP协议的API服务器启动请执行:
```shell
$ python3 asrserver_http.py
```
本地测试调用HTTP协议API服务是否成功:
```shell
$ python3 client_http.py
```
启动ASRT GRPC协议的API服务器启动请执行:
```shell
$ python3 asrserver_grpc.py
```
本地测试调用GRPC协议API服务是否成功:
```shell
$ python3 client_grpc.py
```
请注意,开启API服务器之后,需要使用本ASRT项目对应的客户端软件来进行语音识别,详见Wiki文档[下载ASRT语音识别客户端SDK和Demo](https://wiki.ailemon.net/docs/asrt-doc/download)。
如果要训练和使用非251bn版模型,请在代码中 `from speech_model.xxx import xxx` 的相应位置做修改。
使用docker直接部署ASRT:
```shell
$ docker pull ailemondocker/asrt_service:1.3.0
$ docker run --rm -it -p 20001:20001 -p 20002:20002 --name asrt-server -d ailemondocker/asrt_service:1.3.0
```
仅CPU运行推理识别,不作训练
## Model 模型
### Speech Model 语音模型
DCNN + CTC
其中,输入的音频的最大时间长度为16秒,输出为对应的汉语拼音序列
* 关于下载已经训练好的模型的问题
已经训练好的模型包含在发布版服务端程序压缩包里面,发布版成品服务端程序可以在此下载:[ASRT下载页面](https://wiki.ailemon.net/docs/asrt-doc/download)。
Github本仓库下[Releases](https://github.com/nl8590687/ASRT_SpeechRecognition/releases)页面里面还包括各个不同版本的介绍信息,每个版本下方的zip压缩包也是包含已经训练好的模型的发布版服务端程序压缩包。
### Language Model 语言模型
基于概率图的最大熵隐马尔可夫模型
输入为汉语拼音序列,输出为对应的汉字文本
## About Accuracy 关于准确率
当前,最好的模型在测试集上基本能达到85%的汉语拼音正确率
## Python依赖库
* tensorFlow (2.5-2.11+)
* numpy
* wave
* matplotlib
* scipy
* requests
* flask
* waitress
* grpcio / grpcio-tools / protobuf
不会安装环境的同学请直接运行以下命令(前提是有GPU且已经安装好 Python3.9、CUDA 11.2 和 cudnn 8.1):
```shell
$ pip install -r requirements.txt
```
[依赖环境和性能配置要求](https://wiki.ailemon.net/docs/asrt-doc/asrt-doc-1deobk7bmlgd6)
## Data Sets 数据集
完整内容请查看:[几个最新免费开源的中文语音数据集](https://blog.ailemon.net/2018/11/21/free-open-source-chinese-speech-datasets/)
|数据集|时长|大小|国内下载|国外下载|
|-|-|-|-|-|
|THCHS30|40h|6.01G|[data_thchs30.tgz](<http://openslr.magicdatatech.com/resources/18/data_thchs30.tgz>)|[data_thchs30.tgz](<http://www.openslr.org/resources/18/data_thchs30.tgz>)|
|ST-CMDS|100h|7.67G|[ST-CMDS-20170001_1-OS.tar.gz](<http://openslr.magicdatatech.com/resources/38/ST-CMDS-20170001_1-OS.tar.gz>)|[ST-CMDS-20170001_1-OS.tar.gz](<http://www.openslr.org/resources/38/ST-CMDS-20170001_1-OS.tar.gz>)|
|AIShell-1|178h|14.51G|[data_aishell.tgz](<http://openslr.magicdatatech.com/resources/33/data_aishell.tgz>)|[data_aishell.tgz](<http://www.openslr.org/resources/33/data_aishell.tgz>)|
|Primewords|100h|8.44G|[primewords_md_2018_set1.tar.gz](<http://openslr.magicdatatech.com/resources/47/primewords_md_2018_set1.tar.gz>)|[primewords_md_2018_set1.tar.gz](<http://www.openslr.org/resources/47/primewords_md_2018_set1.tar.gz>)|
|MagicData|755h|52G/1.0G/2.2G| [train_set.tar.gz](<http://openslr.magicdatatech.com/resources/68/train_set.tar.gz>) / [dev_set.tar.gz](<http://openslr.magicdatatech.com/resources/68/dev_set.tar.gz>) / [test_set.tar.gz](<http://openslr.magicdatatech.com/resources/68/test_set.tar.gz>)|[train_set.tar.gz](<http://www.openslr.org/resources/68/train_set.tar.gz>) / [dev_set.tar.gz](<http://www.openslr.org/resources/68/dev_set.tar.gz>) / [test_set.tar.gz](<http://www.openslr.org/resources/68/test_set.tar.gz>)|
注:AISHELL-1 数据集解压方法
```
$ tar xzf data_aishell.tgz
$ cd data_aishell/wav
$ for tar in *.tar.gz; do tar xvf $tar; done
```
特别鸣谢!感谢前辈们的公开语音数据集
如果提供的数据集链接无法打开和下载,请点击该链接 [OpenSLR](http://www.openslr.org)
## ASRT语音识别API客户端调用SDK
ASRT为客户端通过RPC方式调用开发语音识别功能提供了不同平台和编程语言的SDK接入能力,对于其他平台,可直接通过调用通用RESTful Open API方式进行语音识别功能接入。具体接入步骤请看ASRT项目文档。
|客户端平台|项目仓库链接|
|-|-|
|Windows客户端SDK和Demo|[ASRT_SDK_WinClient](https://github.com/nl8590687/ASRT_SDK_WinClient)|
|跨平台Python3客户端SDK和Demo|[ASRT_SDK_Python3](https://github.com/nl8590687/ASRT_SDK_Python3)|
|跨平台Golang客户端SDK和Demo|[asrt-sdk-go](https://github.com/nl8590687/asrt-sdk-go)|
|Java客户端SDK和Demo|[ASRT_SDK_Java](https://github.com/nl8590687/ASRT_SDK_Java)|
## ASRT相关资料
* [查看ASRT项目的Wiki文档](https://wiki.ailemon.net/docs/asrt-doc)
ASRT的原理请查看本文:
* [ASRT:一个中文语音识别系统](https://blog.ailemon.net/2018/08/29/asrt-a-chinese-speech-recognition-system/)
ASRT训练和部署教程请看:
* [教你如何使用ASRT训练中文语音识别模型](<https://blog.ailemon.net/2020/08/20/teach-you-how-use-asrt-train-chinese-asr-model/>)
* [教你如何使用ASRT部署中文语音识别API服务器](<https://blog.ailemon.net/2020/08/27/teach-you-how-use-asrt-deploy-chinese-asr-api-server/>)
关于经常被问到的统计语言模型原理的问题,请看:
* [统计语言模型:从中文拼音到文本](https://blog.ailemon.net/2017/04/27/statistical-language-model-chinese-pinyin-to-words/)
* [统计N元语言模型生成算法:简单中文词频统计](https://blog.ailemon.net/2017/02/20/simple-words-frequency-statistic-without-segmentation-algorithm/)
关于CTC的问题请看:
* [[翻译]使用CTC进行序列建模](<https://blog.ailemon.net/2019/07/18/sequence-modeling-with-ctc/>)
更多内容请访问作者的博客:[AI柠檬博客](https://blog.ailemon.net/)
或使用[AI柠檬站内搜索引擎](https://s.ailemon.net/)进行相关信息的搜索
## License 开源许可协议
[GPL v3.0](LICENSE) © [nl8590687](https://github.com/nl8590687) 作者:[AI柠檬](https://www.ailemon.net/)
## 参考引用本项目
[DOI: 10.5281/zenodo.5808434](https://doi.org/10.5281/zenodo.5808434)
## Contributors 贡献者们
[贡献者页面](https://github.com/nl8590687/ASRT_SpeechRecognition/graphs/contributors)
@nl8590687 (repo owner)
================================================
FILE: README_EN.md
================================================

[](https://opensource.org/licenses/GPL-3.0)
[](https://github.com/nl8590687/ASRT_SpeechRecognition)
[](https://www.tensorflow.org/)
[](https://www.python.org/)
[](https://doi.org/10.5281/zenodo.5808434)
ASRT is A Deep-Learning-Based Chinese Speech Recognition System. If you like this project, please **star** it.
**ReadMe Language** | [中文版](https://github.com/nl8590687/ASRT_SpeechRecognition/blob/master/README.md) | English |
[**ASRT Project Home Page**](https://asrt.ailemon.net/) |
[**Released Download**](https://wiki.ailemon.net/docs/asrt-doc/download) |
[**View this project's wiki document (Chinese)**](https://wiki.ailemon.net/docs/asrt-doc) |
[**Experience Demo**](https://asrt.ailemon.net/demo) |
[**Donate**](https://wiki.ailemon.net/docs/asrt-doc/asrt-doc-1deo9u61unti9)
If you have any questions in your works with this project, welcome to put up issues in this repo and I will response as soon as possible.
You can check the [FAQ Page (Chinese)](https://wiki.ailemon.net/docs/asrt-doc/asrt-doc-1deoeud494h4f) first before asking questions to avoid repeating questions.
If there is any abnormality when the program is running, please send a complete screenshot when asking questions, and indicate the CPU architecture, GPU model, operating system, Python, TensorFlow and CUDA versions used, and whether any code has been modified or data sets have been added or deleted, etc. .
## Introduction
This project uses tensorFlow.keras based on deep convolutional neural network and long-short memory neural network, attention mechanism and CTC to implement.
## Minimum requirements for training
### Hardware
* CPU: 4 Core (x86_64, amd64) +
* RAM: 16 GB +
* GPU: NVIDIA, Graph Memory 11GB+ (>1080ti)
* 硬盘: 500 GB HDD(or SSD)
### Software
* Linux: Ubuntu 20.04+ / CentOS 7+ (train & predict) or Windows: 10/11 (only to predict)
* Python: 3.9 - 3.11 and later
* TensorFlow: 2.5 - 2.11 and later
## Quick Start
Take the operation under the Linux system as an example:
First, clone the project to your computer through Git, and then download the data sets needed for the training of this project. For the download links, please refer to [End of Document](https://github.com/nl8590687/ASRT_SpeechRecognition/blob/master/README_EN.md#data-sets)
```shell
$ git clone https://github.com/nl8590687/ASRT_SpeechRecognition.git
```
Or you can use the "Fork" button to copy a copy of the project and then clone it locally with your own SSH key.
After cloning the repository via git, go to the project root directory; create a subdirectory `/data/speech_data` (you can use a soft link instead) for datasets, and then extract the downloaded datasets directly into it.
```shell
$ cd ASRT_SpeechRecognition
$ mkdir /data/speech_data
$ tar zxf <dataset zip files name> -C /data/speech_data/
```
Note that in the current version, in the configuration file, six data sets, Thchs30, ST-CMDS, Primewords, aishell-1, aidatatang200, MagicData, are added by default, please delete them if you don’t need them. If you want to use other data sets, you need to add data configuration yourself, and use the standard format supported by ASRT to organize the data in advance.
To download pinyin syllable list files for default dataset:
```shell
$ python download_default_datalist.py
```
Currently available models are 24, 25, 251 and 251bn
Before running this project, please install the necessary [Python3 version dependent library](https://github.com/nl8590687/ASRT_SpeechRecognition#python-import)
To start training this project, please execute:
```shell
$ python3 train_speech_model.py
```
To start the test of this project, please execute:
```shell
$ python3 evaluate_speech_model.py
```
Before testing, make sure the model file path filled in the code files exists.
To predict one wave audio file for speech recognition:
```shell
$ python3 predict_speech_file.py
```
To startup ASRT API Server with HTTP protocol please execute:
```shell
$ python3 asrserver_http.py
```
Please note that after opening the API server, you need to use the client software corresponding to this ASRT project for voice recognition. For details, see the Wiki documentation to [download ASRT Client SDK & Demo](https://wiki.ailemon.net/docs/asrt-doc/download).
To test whether it is successful or not that calls api service interface with HTTP protocol:
```shell
$ python3 client_http.py
```
To startup ASRT API Server with GRPC protocol please execute:
```shell
$ python3 asrserver_grpc.py
```
To test whether it is successful or not that calls api service interface with GRPC protocol:
```shell
$ python3 client_grpc.py
```
If you want to train and use other model(not Model 251bn), make changes in the corresponding position of the `from speech_model.xxx import xxx` in the code files.
If there is any problem during the execution of the program or during use, it can be promptly put forward in the issue, and I will reply as soon as possible.
Deploy ASRT by docker:
```shell
$ docker pull ailemondocker/asrt_service:1.3.0
$ docker run --rm -it -p 20001:20001 -p 20002:20002 --name asrt-server -d ailemondocker/asrt_service:1.3.0
```
It will start a api server for recognition rather than training.
## Model
### Speech Model
DCNN + CTC
The maximum length of the input audio is 16 seconds, and the output is the corresponding Chinese pinyin sequence.
* Questions about downloading trained models
The released finished software that includes trained model weights can be downloaded from [ASRT download page](https://wiki.ailemon.net/docs/asrt-doc/download).
Github [Releases](https://github.com/nl8590687/ASRT_SpeechRecognition/releases) page includes the archives of the various versions of the software released and it's introduction. Under each version module, there is a zip file that includes trained model weights files.
### Language Model
Maximum Entropy Hidden Markov Model Based on Probability Graph.
The input is a Chinese pinyin sequence, and the output is the corresponding Chinese character text.
## About Accuracy
At present, the best model can basically reach 85% of Pinyin correct rate on the test set.
## Python Dependency Library
* tensorFlow (2.5-2.11+)
* numpy
* wave
* matplotlib
* math
* scipy
* requests
* flask
* waitress
* grpcio / grpcio-tools / protobuf
If you have trouble when install those packages, please run the following script to do it as long as you have a GPU and python 3.9, CUDA 11.2 and cudnn 8.1 have been installed:
```shell
$ pip install -r requirements.txt
```
[Dependent Environment Details and Hardware Requirement](https://wiki.ailemon.net/docs/asrt-doc/asrt-doc-1deobk7bmlgd6)
## ASRT Client SDK for Calling Speech Recognition API
ASRT provides the abilities to import client SDKs for several platform and programing language for client develop speech recognition features , which work by RPC. Please refer ASRT project documents for detail.
|Client Platform|Project Repos Link|
|-|-|
|Windows Client SDK & Demo|[ASRT_SDK_WinClient](https://github.com/nl8590687/ASRT_SDK_WinClient)|
|Python3 Client SDK & Demo (Any Platform)|[ASRT_SDK_Python3](https://github.com/nl8590687/ASRT_SDK_Python3)|
|Golang Client SDK & Demo|[asrt-sdk-go](https://github.com/nl8590687/asrt-sdk-go)|
|Java Client SDK & Demo|[ASRT_SDK_Java](https://github.com/nl8590687/ASRT_SDK_Java)|
## Data Sets
For full content please refer: [Some free Chinese speech datasets (Chinese)](https://blog.ailemon.net/2018/11/21/free-open-source-chinese-speech-datasets/)
|Dataset|Time|Size|Download (CN Mirrors)|Download (Source)|
|-|-|-|-|-|
|THCHS30|40h|6.01G|[data_thchs30.tgz](<http://openslr.magicdatatech.com/resources/18/data_thchs30.tgz>)|[data_thchs30.tgz](<http://www.openslr.org/resources/18/data_thchs30.tgz>)|
|ST-CMDS|100h|7.67G|[ST-CMDS-20170001_1-OS.tar.gz](<http://openslr.magicdatatech.com/resources/38/ST-CMDS-20170001_1-OS.tar.gz>)|[ST-CMDS-20170001_1-OS.tar.gz](<http://www.openslr.org/resources/38/ST-CMDS-20170001_1-OS.tar.gz>)|
|AIShell-1|178h|14.51G|[data_aishell.tgz](<http://openslr.magicdatatech.com/resources/33/data_aishell.tgz>)|[data_aishell.tgz](<http://www.openslr.org/resources/33/data_aishell.tgz>)|
|Primewords|100h|8.44G|[primewords_md_2018_set1.tar.gz](<http://openslr.magicdatatech.com/resources/47/primewords_md_2018_set1.tar.gz>)|[primewords_md_2018_set1.tar.gz](<http://www.openslr.org/resources/47/primewords_md_2018_set1.tar.gz>)|
|MagicData|755h|52G/1.0G/2.2G| [train_set.tar.gz](<http://openslr.magicdatatech.com/resources/68/train_set.tar.gz>) / [dev_set.tar.gz](<http://openslr.magicdatatech.com/resources/68/dev_set.tar.gz>) / [test_set.tar.gz](<http://openslr.magicdatatech.com/resources/68/test_set.tar.gz>)|[train_set.tar.gz](<http://www.openslr.org/resources/68/train_set.tar.gz>) / [dev_set.tar.gz](<http://www.openslr.org/resources/68/dev_set.tar.gz>) / [test_set.tar.gz](<http://www.openslr.org/resources/68/test_set.tar.gz>)|
Note:The way to unzip AISHELL-1 dataset
```
$ tar xzf data_aishell.tgz
$ cd data_aishell/wav
$ for tar in *.tar.gz; do tar xvf $tar; done
```
Special thanks! Thanks to the predecessors' public voice data set.
If the provided dataset link cannot be opened and downloaded, click this link [OpenSLR](http://www.openslr.org)
## ASRT Docuemnts
* [ASRT project's Wiki document](https://wiki.ailemon.net/docs/asrt-doc)
A post about ASRT's introduction
* [ASRT: Chinese Speech Recognition System (Chinese)](https://blog.ailemon.net/2018/08/29/asrt-a-chinese-speech-recognition-system/)
About how to use ASRT to train and deploy:
* [Teach you how to use ASRT to train Chinese ASR model (Chinese)](<https://blog.ailemon.net/2020/08/20/teach-you-how-use-asrt-train-chinese-asr-model/>)
* [Teach you how to use ASRT to deploy Chinese ASR API Server (Chinese)](<https://blog.ailemon.net/2020/08/27/teach-you-how-use-asrt-deploy-chinese-asr-api-server/>)
For questions about the principles of the statistical language model that are often asked, see:
* [Simple Chinese word frequency statistics to generate N-gram language model (Chinese)](https://blog.ailemon.net/2017/02/20/simple-words-frequency-statistic-without-segmentation-algorithm/)
* [Statistical Language Model: Chinese Pinyin to Words (Chinese)](https://blog.ailemon.net/2017/04/27/statistical-language-model-chinese-pinyin-to-words/)
For questions about CTC, see:
* [[Translation] Sequence Modeling with CTC (Chinese)](<https://blog.ailemon.net/2019/07/18/sequence-modeling-with-ctc/>)
For more infomation please refer to author's blog website: [AILemon Blog](https://blog.ailemon.net/) (Chinese)
## License
[GPL v3.0](LICENSE) © [nl8590687](https://github.com/nl8590687) Author: [ailemon](https://www.ailemon.net/)
## Cite this project
[DOI: 10.5281/zenodo.5808434](https://doi.org/10.5281/zenodo.5808434)
## Contributors
[Contributors Page](https://github.com/nl8590687/ASRT_SpeechRecognition/graphs/contributors)
@nl8590687 (repo owner)
================================================
FILE: asrserver_grpc.py
================================================
# !/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2016-2099 Ailemon.net
#
# This file is part of ASRT Speech Recognition Tool.
#
# ASRT is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# ASRT is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with ASRT. If not, see <https://www.gnu.org/licenses/>.
# ============================================================================
"""
@author: nl8590687
ASRT语音识别基于gRPC协议的API服务器程序
"""
import argparse
import time
from concurrent import futures
import grpc
from assets.asrt_pb2_grpc import AsrtGrpcServiceServicer, add_AsrtGrpcServiceServicer_to_server
from assets.asrt_pb2 import SpeechResponse, TextResponse
from speech_model import ModelSpeech
from model_zoo.speech_model.keras_backend import SpeechModel251BN
from speech_features import Spectrogram
from language_model3 import ModelLanguage
from utils.ops import decode_wav_bytes
API_STATUS_CODE_OK = 200000 # OK
API_STATUS_CODE_OK_PART = 206000 # 部分结果OK,用于stream
API_STATUS_CODE_CLIENT_ERROR = 400000
API_STATUS_CODE_CLIENT_ERROR_FORMAT = 400001 # 请求数据格式错误
API_STATUS_CODE_CLIENT_ERROR_CONFIG = 400002 # 请求数据配置不支持
API_STATUS_CODE_SERVER_ERROR = 500000
API_STATUS_CODE_SERVER_ERROR_RUNNING = 500001 # 服务器运行中出错
parser = argparse.ArgumentParser(description='ASRT gRPC Protocol API Service')
parser.add_argument('--listen', default='0.0.0.0', type=str, help='the network to listen')
parser.add_argument('--port', default='20002', type=str, help='the port to listen')
args = parser.parse_args()
AUDIO_LENGTH = 1600
AUDIO_FEATURE_LENGTH = 200
CHANNELS = 1
# 默认输出的拼音的表示大小是1428,即1427个拼音+1个空白块
OUTPUT_SIZE = 1428
sm251bn = SpeechModel251BN(
input_shape=(AUDIO_LENGTH, AUDIO_FEATURE_LENGTH, CHANNELS),
output_size=OUTPUT_SIZE
)
feat = Spectrogram()
ms = ModelSpeech(sm251bn, feat, max_label_length=64)
ms.load_model('save_models/' + sm251bn.get_model_name() + '.model.h5')
ml = ModelLanguage('model_language')
ml.load_model()
_ONE_DAY_IN_SECONDS = 60 * 60 * 24
class ApiService(AsrtGrpcServiceServicer):
"""
继承AsrtGrpcServiceServicer,实现hello方法
"""
def __init__(self):
pass
def Speech(self, request, context):
"""
具体实现Speech的方法, 并按照pb的返回对象构造SpeechResponse返回
:param request:
:param context:
:return:
"""
wav_data = request.wav_data
wav_samples = decode_wav_bytes(samples_data=wav_data.samples,
channels=wav_data.channels, byte_width=wav_data.byte_width)
result = ms.recognize_speech(wav_samples, wav_data.sample_rate)
print("语音识别声学模型结果:", result)
return SpeechResponse(status_code=API_STATUS_CODE_OK, status_message='',
result_data=result)
def Language(self, request, context):
"""
具体实现Language的方法, 并按照pb的返回对象构造TextResponse返回
:param request:
:param context:
:return:
"""
print('Language收到了请求:', request)
result = ml.pinyin_to_text(list(request.pinyins))
print('Language结果:', result)
return TextResponse(status_code=API_STATUS_CODE_OK, status_message='',
text_result=result)
def All(self, request, context):
"""
具体实现All的方法, 并按照pb的返回对象构造TextResponse返回
:param request:
:param context:
:return:
"""
wav_data = request.wav_data
wav_samples = decode_wav_bytes(samples_data=wav_data.samples,
channels=wav_data.channels, byte_width=wav_data.byte_width)
result_speech = ms.recognize_speech(wav_samples, wav_data.sample_rate)
result = ml.pinyin_to_text(result_speech)
print("语音识别结果:", result)
return TextResponse(status_code=API_STATUS_CODE_OK, status_message='',
text_result=result)
def Stream(self, request_iterator, context):
"""
具体实现Stream的方法, 并按照pb的返回对象构造TextResponse返回
:param request_iterator:
:param context:
:return:
"""
result = list()
tmp_result_last = list()
beam_size = 100
for request in request_iterator:
wav_data = request.wav_data
wav_samples = decode_wav_bytes(samples_data=wav_data.samples,
channels=wav_data.channels,
byte_width=wav_data.byte_width)
result_speech = ms.recognize_speech(wav_samples, wav_data.sample_rate)
for item_pinyin in result_speech:
tmp_result = ml.pinyin_stream_decode(tmp_result_last, item_pinyin, beam_size)
if len(tmp_result) == 0 and len(tmp_result_last) > 0:
result.append(tmp_result_last[0][0])
print("流式语音识别结果:", ''.join(result))
yield TextResponse(status_code=API_STATUS_CODE_OK, status_message='',
text_result=''.join(result))
result = list()
tmp_result = ml.pinyin_stream_decode([], item_pinyin, beam_size)
tmp_result_last = tmp_result
yield TextResponse(status_code=API_STATUS_CODE_OK_PART, status_message='',
text_result=''.join(tmp_result[0][0]))
if len(tmp_result_last) > 0:
result.append(tmp_result_last[0][0])
print("流式语音识别结果:", ''.join(result))
yield TextResponse(status_code=API_STATUS_CODE_OK, status_message='',
text_result=''.join(result))
def run(host, port):
"""
gRPC API服务启动
:return:
"""
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
add_AsrtGrpcServiceServicer_to_server(ApiService(), server)
server.add_insecure_port(''.join([host, ':', port]))
server.start()
print("start service...")
try:
while True:
time.sleep(_ONE_DAY_IN_SECONDS)
except KeyboardInterrupt:
server.stop(0)
if __name__ == '__main__':
run(host=args.listen, port=args.port)
================================================
FILE: asrserver_http.py
================================================
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2016-2099 Ailemon.net
#
# This file is part of ASRT Speech Recognition Tool.
#
# ASRT is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# ASRT is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with ASRT. If not, see <https://www.gnu.org/licenses/>.
# ============================================================================
"""
@author: nl8590687
ASRT语音识别基于HTTP协议的API服务器程序
"""
import argparse
import base64
import json
from flask import Flask, Response, request
from speech_model import ModelSpeech
from model_zoo.speech_model.keras_backend import SpeechModel251BN
from speech_features import Spectrogram
from language_model3 import ModelLanguage
from utils.ops import decode_wav_bytes
API_STATUS_CODE_OK = 200000 # OK
API_STATUS_CODE_CLIENT_ERROR = 400000
API_STATUS_CODE_CLIENT_ERROR_FORMAT = 400001 # 请求数据格式错误
API_STATUS_CODE_CLIENT_ERROR_CONFIG = 400002 # 请求数据配置不支持
API_STATUS_CODE_SERVER_ERROR = 500000
API_STATUS_CODE_SERVER_ERROR_RUNNING = 500001 # 服务器运行中出错
parser = argparse.ArgumentParser(description='ASRT HTTP+Json RESTful API Service')
parser.add_argument('--listen', default='0.0.0.0', type=str, help='the network to listen')
parser.add_argument('--port', default='20001', type=str, help='the port to listen')
args = parser.parse_args()
app = Flask("ASRT API Service")
AUDIO_LENGTH = 1600
AUDIO_FEATURE_LENGTH = 200
CHANNELS = 1
# 默认输出的拼音的表示大小是1428,即1427个拼音+1个空白块
OUTPUT_SIZE = 1428
sm251bn = SpeechModel251BN(
input_shape=(AUDIO_LENGTH, AUDIO_FEATURE_LENGTH, CHANNELS),
output_size=OUTPUT_SIZE
)
feat = Spectrogram()
ms = ModelSpeech(sm251bn, feat, max_label_length=64)
ms.load_model('save_models/' + sm251bn.get_model_name() + '.model.h5')
ml = ModelLanguage('model_language')
ml.load_model()
class AsrtApiResponse:
"""
ASRT语音识别基于HTTP协议的API接口响应类
"""
def __init__(self, status_code, status_message='', result=''):
self.status_code = status_code
self.status_message = status_message
self.result = result
def to_json(self):
"""
类转json
"""
return json.dumps(self, default=lambda o: o.__dict__, sort_keys=True)
# api接口根url:GET
@app.route('/', methods=["GET"])
def index_get():
"""
根路径handle GET方法
"""
buffer = ''
with open('assets/default.html', 'r', encoding='utf-8') as file_handle:
buffer = file_handle.read()
return Response(buffer, mimetype='text/html; charset=utf-8')
# api接口根url:POST
@app.route('/', methods=["POST"])
def index_post():
"""
根路径handle POST方法
"""
json_data = AsrtApiResponse(API_STATUS_CODE_OK, 'ok')
buffer = json_data.to_json()
return Response(buffer, mimetype='application/json')
# 获取分类列表
@app.route('/<level>', methods=["POST"])
def recognition_post(level):
"""
其他路径 POST方法
"""
# 读取json文件内容
try:
if level == 'speech':
request_data = request.get_json()
samples = request_data['samples']
wavdata_bytes = base64.urlsafe_b64decode(bytes(samples, encoding='utf-8'))
sample_rate = request_data['sample_rate']
channels = request_data['channels']
byte_width = request_data['byte_width']
wavdata = decode_wav_bytes(samples_data=wavdata_bytes,
channels=channels, byte_width=byte_width)
result = ms.recognize_speech(wavdata, sample_rate)
json_data = AsrtApiResponse(API_STATUS_CODE_OK, 'speech level')
json_data.result = result
buffer = json_data.to_json()
print('output:', buffer)
return Response(buffer, mimetype='application/json')
elif level == 'language':
request_data = request.get_json()
seq_pinyin = request_data['sequence_pinyin']
result = ml.pinyin_to_text(seq_pinyin)
json_data = AsrtApiResponse(API_STATUS_CODE_OK, 'language level')
json_data.result = result
buffer = json_data.to_json()
print('output:', buffer)
return Response(buffer, mimetype='application/json')
elif level == 'all':
request_data = request.get_json()
samples = request_data['samples']
wavdata_bytes = base64.urlsafe_b64decode(samples)
sample_rate = request_data['sample_rate']
channels = request_data['channels']
byte_width = request_data['byte_width']
wavdata = decode_wav_bytes(samples_data=wavdata_bytes,
channels=channels, byte_width=byte_width)
result_speech = ms.recognize_speech(wavdata, sample_rate)
result = ml.pinyin_to_text(result_speech)
json_data = AsrtApiResponse(API_STATUS_CODE_OK, 'all level')
json_data.result = result
buffer = json_data.to_json()
print('ASRT Result:', result, 'output:', buffer)
return Response(buffer, mimetype='application/json')
else:
request_data = request.get_json()
print('input:', request_data)
json_data = AsrtApiResponse(API_STATUS_CODE_CLIENT_ERROR, '')
buffer = json_data.to_json()
print('output:', buffer)
return Response(buffer, mimetype='application/json')
except Exception as except_general:
request_data = request.get_json()
# print(request_data['sample_rate'], request_data['channels'],
# request_data['byte_width'], len(request_data['samples']),
# request_data['samples'][-100:])
json_data = AsrtApiResponse(API_STATUS_CODE_SERVER_ERROR, str(except_general))
buffer = json_data.to_json()
# print("input:", request_data, "\n", "output:", buffer)
print("output:", buffer, "error:", except_general)
return Response(buffer, mimetype='application/json')
if __name__ == '__main__':
# for development env
# app.run(host='0.0.0.0', port=20001)
# for production env
import waitress
waitress.serve(app, host=args.listen, port=args.port)
================================================
FILE: asrt_config.json
================================================
{
"dict_filename": "dict.txt",
"dataset":{
"train":[
{
"name": "thchs30_train",
"data_list": "datalist/thchs30/train.wav.lst",
"data_path": "/data/speech_data",
"label_list": "datalist/thchs30/train.syllable.txt"
},
{
"name": "stcmds_train",
"data_list": "datalist/st-cmds/train.wav.txt",
"data_path": "/data/speech_data",
"label_list": "datalist/st-cmds/train.syllable.txt"
},
{
"name": "primewords_train",
"data_list": "datalist/primewords/train.wav.lst",
"data_path": "/data/speech_data",
"label_list": "datalist/primewords/train.syllable.txt"
},
{
"name": "aishell_train",
"data_list": "datalist/aishell/train.wav.lst",
"data_path": "/data/speech_data",
"label_list": "datalist/aishell/train.syllable.txt"
},
{
"name": "aidatatang_train",
"data_list": "datalist/aidatatang_lst/train.wav.lst",
"data_path": "/data/speech_data",
"label_list": "datalist/aidatatang_lst/train.syllable.txt"
},
{
"name": "magicdata_train",
"data_list": "datalist/magicdata_lst/train.wav.lst",
"data_path": "/data/speech_data/magicdata",
"label_list": "datalist/magicdata_lst/train.syllable.txt"
}
],
"dev":[
{
"name": "thchs30_dev",
"data_list": "datalist/thchs30/cv.wav.lst",
"data_path": "/data/speech_data",
"label_list": "datalist/thchs30/cv.syllable.txt"
},
{
"name": "stcmds_dev",
"data_list": "datalist/st-cmds/dev.wav.txt",
"data_path": "/data/speech_data",
"label_list": "datalist/st-cmds/dev.syllable.txt"
},
{
"name": "primewords_dev",
"data_list": "datalist/primewords/dev.wav.lst",
"data_path": "/data/speech_data",
"label_list": "datalist/primewords/dev.syllable.txt"
},
{
"name": "aishell_dev",
"data_list": "datalist/aishell/dev.wav.lst",
"data_path": "/data/speech_data",
"label_list": "datalist/aishell/dev.syllable.txt"
},
{
"name": "aidatatang_dev",
"data_list": "datalist/aidatatang_lst/dev.wav.lst",
"data_path": "/data/speech_data",
"label_list": "datalist/aidatatang_lst/dev.syllable.txt"
},
{
"name": "magicdata_dev",
"data_list": "datalist/magicdata_lst/dev.wav.lst",
"data_path": "/data/speech_data/magicdata",
"label_list": "datalist/magicdata_lst/dev.syllable.txt"
}
],
"test":[
{
"name": "thchs30_test",
"data_list": "datalist/thchs30/test.wav.lst",
"data_path": "/data/speech_data",
"label_list": "datalist/thchs30/test.syllable.txt"
},
{
"name": "stcmds_test",
"data_list": "datalist/st-cmds/test.wav.txt",
"data_path": "/data/speech_data",
"label_list": "datalist/st-cmds/test.syllable.txt"
},
{
"name": "primewords_test",
"data_list": "datalist/primewords/test.wav.lst",
"data_path": "/data/speech_data",
"label_list": "datalist/primewords/test.syllable.txt"
},
{
"name": "aishell_test",
"data_list": "datalist/aishell/test.wav.lst",
"data_path": "/data/speech_data",
"label_list": "datalist/aishell/test.syllable.txt"
},
{
"name": "aidatatang_test",
"data_list": "datalist/aidatatang_lst/test.wav.lst",
"data_path": "/data/speech_data",
"label_list": "datalist/aidatatang_lst/test.syllable.txt"
},
{
"name": "magicdata_test",
"data_list": "datalist/magicdata_lst/test.wav.lst",
"data_path": "/data/speech_data/magicdata",
"label_list": "datalist/magicdata_lst/test.syllable.txt"
}
]
}
}
================================================
FILE: assets/asrt.proto
================================================
/* Copyright 2016-2099 Ailemon.net
This file is part of ASRT Speech Recognition Tool.
ASRT is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ASRT is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with ASRT. If not, see <https://www.gnu.org/licenses/>.
============================================================================ */
syntax = "proto3";
package asrt;
//定义服务接口
service AsrtGrpcService {
rpc Speech (SpeechRequest) returns (SpeechResponse) {} //一个服务中可以定义多个接口,也就是多个函数功能
rpc Language (LanguageRequest) returns (TextResponse) {}
rpc All (SpeechRequest) returns (TextResponse) {}
rpc Stream (stream SpeechRequest) returns (stream TextResponse) {}
}
message SpeechRequest {
WavData wav_data = 1;
}
message SpeechResponse {
int32 status_code = 1;
string status_message = 2;
repeated string result_data = 3; // 拼音结果
}
message LanguageRequest {
repeated string pinyins = 1;
}
message TextResponse {
int32 status_code = 1;
string status_message = 2;
string text_result = 3;
}
message WavData{
bytes samples = 1; // wav样本点字节
int32 sample_rate = 2; // wav采样率
int32 channels = 3; // wav通道数
int32 byte_width = 4; // wav样本字节宽度
}
================================================
FILE: assets/asrt_pb2.py
================================================
# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: asrt.proto
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor.FileDescriptor(
name='asrt.proto',
package='asrt',
syntax='proto3',
serialized_options=None,
create_key=_descriptor._internal_create_key,
serialized_pb=b'\n\nasrt.proto\x12\x04\x61srt\"0\n\rSpeechRequest\x12\x1f\n\x08wav_data\x18\x01 \x01(\x0b\x32\r.asrt.WavData\"R\n\x0eSpeechResponse\x12\x13\n\x0bstatus_code\x18\x01 \x01(\x05\x12\x16\n\x0estatus_message\x18\x02 \x01(\t\x12\x13\n\x0bresult_data\x18\x03 \x03(\t\"\"\n\x0fLanguageRequest\x12\x0f\n\x07pinyins\x18\x01 \x03(\t\"P\n\x0cTextResponse\x12\x13\n\x0bstatus_code\x18\x01 \x01(\x05\x12\x16\n\x0estatus_message\x18\x02 \x01(\t\x12\x13\n\x0btext_result\x18\x03 \x01(\t\"U\n\x07WavData\x12\x0f\n\x07samples\x18\x01 \x01(\x0c\x12\x13\n\x0bsample_rate\x18\x02 \x01(\x05\x12\x10\n\x08\x63hannels\x18\x03 \x01(\x05\x12\x12\n\nbyte_width\x18\x04 \x01(\x05\x32\xec\x01\n\x0f\x41srtGrpcService\x12\x35\n\x06Speech\x12\x13.asrt.SpeechRequest\x1a\x14.asrt.SpeechResponse\"\x00\x12\x37\n\x08Language\x12\x15.asrt.LanguageRequest\x1a\x12.asrt.TextResponse\"\x00\x12\x30\n\x03\x41ll\x12\x13.asrt.SpeechRequest\x1a\x12.asrt.TextResponse\"\x00\x12\x37\n\x06Stream\x12\x13.asrt.SpeechRequest\x1a\x12.asrt.TextResponse\"\x00(\x01\x30\x01\x62\x06proto3'
)
_SPEECHREQUEST = _descriptor.Descriptor(
name='SpeechRequest',
full_name='asrt.SpeechRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
create_key=_descriptor._internal_create_key,
fields=[
_descriptor.FieldDescriptor(
name='wav_data', full_name='asrt.SpeechRequest.wav_data', index=0,
number=1, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
],
extensions=[
],
nested_types=[],
enum_types=[
],
serialized_options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=20,
serialized_end=68,
)
_SPEECHRESPONSE = _descriptor.Descriptor(
name='SpeechResponse',
full_name='asrt.SpeechResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
create_key=_descriptor._internal_create_key,
fields=[
_descriptor.FieldDescriptor(
name='status_code', full_name='asrt.SpeechResponse.status_code', index=0,
number=1, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
_descriptor.FieldDescriptor(
name='status_message', full_name='asrt.SpeechResponse.status_message', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=b"".decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
_descriptor.FieldDescriptor(
name='result_data', full_name='asrt.SpeechResponse.result_data', index=2,
number=3, type=9, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
],
extensions=[
],
nested_types=[],
enum_types=[
],
serialized_options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=70,
serialized_end=152,
)
_LANGUAGEREQUEST = _descriptor.Descriptor(
name='LanguageRequest',
full_name='asrt.LanguageRequest',
filename=None,
file=DESCRIPTOR,
containing_type=None,
create_key=_descriptor._internal_create_key,
fields=[
_descriptor.FieldDescriptor(
name='pinyins', full_name='asrt.LanguageRequest.pinyins', index=0,
number=1, type=9, cpp_type=9, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
],
extensions=[
],
nested_types=[],
enum_types=[
],
serialized_options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=154,
serialized_end=188,
)
_TEXTRESPONSE = _descriptor.Descriptor(
name='TextResponse',
full_name='asrt.TextResponse',
filename=None,
file=DESCRIPTOR,
containing_type=None,
create_key=_descriptor._internal_create_key,
fields=[
_descriptor.FieldDescriptor(
name='status_code', full_name='asrt.TextResponse.status_code', index=0,
number=1, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
_descriptor.FieldDescriptor(
name='status_message', full_name='asrt.TextResponse.status_message', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=b"".decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
_descriptor.FieldDescriptor(
name='text_result', full_name='asrt.TextResponse.text_result', index=2,
number=3, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=b"".decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
],
extensions=[
],
nested_types=[],
enum_types=[
],
serialized_options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=190,
serialized_end=270,
)
_WAVDATA = _descriptor.Descriptor(
name='WavData',
full_name='asrt.WavData',
filename=None,
file=DESCRIPTOR,
containing_type=None,
create_key=_descriptor._internal_create_key,
fields=[
_descriptor.FieldDescriptor(
name='samples', full_name='asrt.WavData.samples', index=0,
number=1, type=12, cpp_type=9, label=1,
has_default_value=False, default_value=b"",
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
_descriptor.FieldDescriptor(
name='sample_rate', full_name='asrt.WavData.sample_rate', index=1,
number=2, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
_descriptor.FieldDescriptor(
name='channels', full_name='asrt.WavData.channels', index=2,
number=3, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
_descriptor.FieldDescriptor(
name='byte_width', full_name='asrt.WavData.byte_width', index=3,
number=4, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key),
],
extensions=[
],
nested_types=[],
enum_types=[
],
serialized_options=None,
is_extendable=False,
syntax='proto3',
extension_ranges=[],
oneofs=[
],
serialized_start=272,
serialized_end=357,
)
_SPEECHREQUEST.fields_by_name['wav_data'].message_type = _WAVDATA
DESCRIPTOR.message_types_by_name['SpeechRequest'] = _SPEECHREQUEST
DESCRIPTOR.message_types_by_name['SpeechResponse'] = _SPEECHRESPONSE
DESCRIPTOR.message_types_by_name['LanguageRequest'] = _LANGUAGEREQUEST
DESCRIPTOR.message_types_by_name['TextResponse'] = _TEXTRESPONSE
DESCRIPTOR.message_types_by_name['WavData'] = _WAVDATA
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
SpeechRequest = _reflection.GeneratedProtocolMessageType('SpeechRequest', (_message.Message,), {
'DESCRIPTOR': _SPEECHREQUEST,
'__module__': 'asrt_pb2'
# @@protoc_insertion_point(class_scope:asrt.SpeechRequest)
})
_sym_db.RegisterMessage(SpeechRequest)
SpeechResponse = _reflection.GeneratedProtocolMessageType('SpeechResponse', (_message.Message,), {
'DESCRIPTOR': _SPEECHRESPONSE,
'__module__': 'asrt_pb2'
# @@protoc_insertion_point(class_scope:asrt.SpeechResponse)
})
_sym_db.RegisterMessage(SpeechResponse)
LanguageRequest = _reflection.GeneratedProtocolMessageType('LanguageRequest', (_message.Message,), {
'DESCRIPTOR': _LANGUAGEREQUEST,
'__module__': 'asrt_pb2'
# @@protoc_insertion_point(class_scope:asrt.LanguageRequest)
})
_sym_db.RegisterMessage(LanguageRequest)
TextResponse = _reflection.GeneratedProtocolMessageType('TextResponse', (_message.Message,), {
'DESCRIPTOR': _TEXTRESPONSE,
'__module__': 'asrt_pb2'
# @@protoc_insertion_point(class_scope:asrt.TextResponse)
})
_sym_db.RegisterMessage(TextResponse)
WavData = _reflection.GeneratedProtocolMessageType('WavData', (_message.Message,), {
'DESCRIPTOR': _WAVDATA,
'__module__': 'asrt_pb2'
# @@protoc_insertion_point(class_scope:asrt.WavData)
})
_sym_db.RegisterMessage(WavData)
_ASRTGRPCSERVICE = _descriptor.ServiceDescriptor(
name='AsrtGrpcService',
full_name='asrt.AsrtGrpcService',
file=DESCRIPTOR,
index=0,
serialized_options=None,
create_key=_descriptor._internal_create_key,
serialized_start=360,
serialized_end=596,
methods=[
_descriptor.MethodDescriptor(
name='Speech',
full_name='asrt.AsrtGrpcService.Speech',
index=0,
containing_service=None,
input_type=_SPEECHREQUEST,
output_type=_SPEECHRESPONSE,
serialized_options=None,
create_key=_descriptor._internal_create_key,
),
_descriptor.MethodDescriptor(
name='Language',
full_name='asrt.AsrtGrpcService.Language',
index=1,
containing_service=None,
input_type=_LANGUAGEREQUEST,
output_type=_TEXTRESPONSE,
serialized_options=None,
create_key=_descriptor._internal_create_key,
),
_descriptor.MethodDescriptor(
name='All',
full_name='asrt.AsrtGrpcService.All',
index=2,
containing_service=None,
input_type=_SPEECHREQUEST,
output_type=_TEXTRESPONSE,
serialized_options=None,
create_key=_descriptor._internal_create_key,
),
_descriptor.MethodDescriptor(
name='Stream',
full_name='asrt.AsrtGrpcService.Stream',
index=3,
containing_service=None,
input_type=_SPEECHREQUEST,
output_type=_TEXTRESPONSE,
serialized_options=None,
create_key=_descriptor._internal_create_key,
),
])
_sym_db.RegisterServiceDescriptor(_ASRTGRPCSERVICE)
DESCRIPTOR.services_by_name['AsrtGrpcService'] = _ASRTGRPCSERVICE
# @@protoc_insertion_point(module_scope)
================================================
FILE: assets/asrt_pb2_grpc.py
================================================
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc
import assets.asrt_pb2 as asrt__pb2
class AsrtGrpcServiceStub(object):
"""定义服务接口
"""
def __init__(self, channel):
"""Constructor.
Args:
channel: A grpc.Channel.
"""
self.Speech = channel.unary_unary(
'/asrt.AsrtGrpcService/Speech',
request_serializer=asrt__pb2.SpeechRequest.SerializeToString,
response_deserializer=asrt__pb2.SpeechResponse.FromString,
)
self.Language = channel.unary_unary(
'/asrt.AsrtGrpcService/Language',
request_serializer=asrt__pb2.LanguageRequest.SerializeToString,
response_deserializer=asrt__pb2.TextResponse.FromString,
)
self.All = channel.unary_unary(
'/asrt.AsrtGrpcService/All',
request_serializer=asrt__pb2.SpeechRequest.SerializeToString,
response_deserializer=asrt__pb2.TextResponse.FromString,
)
self.Stream = channel.stream_stream(
'/asrt.AsrtGrpcService/Stream',
request_serializer=asrt__pb2.SpeechRequest.SerializeToString,
response_deserializer=asrt__pb2.TextResponse.FromString,
)
class AsrtGrpcServiceServicer(object):
"""定义服务接口
"""
def Speech(self, request, context):
"""Missing associated documentation comment in .proto file."""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def Language(self, request, context):
"""Missing associated documentation comment in .proto file."""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def All(self, request, context):
"""Missing associated documentation comment in .proto file."""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def Stream(self, request_iterator, context):
"""Missing associated documentation comment in .proto file."""
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
def add_AsrtGrpcServiceServicer_to_server(servicer, server):
rpc_method_handlers = {
'Speech': grpc.unary_unary_rpc_method_handler(
servicer.Speech,
request_deserializer=asrt__pb2.SpeechRequest.FromString,
response_serializer=asrt__pb2.SpeechResponse.SerializeToString,
),
'Language': grpc.unary_unary_rpc_method_handler(
servicer.Language,
request_deserializer=asrt__pb2.LanguageRequest.FromString,
response_serializer=asrt__pb2.TextResponse.SerializeToString,
),
'All': grpc.unary_unary_rpc_method_handler(
servicer.All,
request_deserializer=asrt__pb2.SpeechRequest.FromString,
response_serializer=asrt__pb2.TextResponse.SerializeToString,
),
'Stream': grpc.stream_stream_rpc_method_handler(
servicer.Stream,
request_deserializer=asrt__pb2.SpeechRequest.FromString,
response_serializer=asrt__pb2.TextResponse.SerializeToString,
),
}
generic_handler = grpc.method_handlers_generic_handler(
'asrt.AsrtGrpcService', rpc_method_handlers)
server.add_generic_rpc_handlers((generic_handler,))
# This class is part of an EXPERIMENTAL API.
class AsrtGrpcService(object):
"""定义服务接口
"""
@staticmethod
def Speech(request,
target,
options=(),
channel_credentials=None,
call_credentials=None,
insecure=False,
compression=None,
wait_for_ready=None,
timeout=None,
metadata=None):
return grpc.experimental.unary_unary(request, target, '/asrt.AsrtGrpcService/Speech',
asrt__pb2.SpeechRequest.SerializeToString,
asrt__pb2.SpeechResponse.FromString,
options, channel_credentials,
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@staticmethod
def Language(request,
target,
options=(),
channel_credentials=None,
call_credentials=None,
insecure=False,
compression=None,
wait_for_ready=None,
timeout=None,
metadata=None):
return grpc.experimental.unary_unary(request, target, '/asrt.AsrtGrpcService/Language',
asrt__pb2.LanguageRequest.SerializeToString,
asrt__pb2.TextResponse.FromString,
options, channel_credentials,
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@staticmethod
def All(request,
target,
options=(),
channel_credentials=None,
call_credentials=None,
insecure=False,
compression=None,
wait_for_ready=None,
timeout=None,
metadata=None):
return grpc.experimental.unary_unary(request, target, '/asrt.AsrtGrpcService/All',
asrt__pb2.SpeechRequest.SerializeToString,
asrt__pb2.TextResponse.FromString,
options, channel_credentials,
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@staticmethod
def Stream(request_iterator,
target,
options=(),
channel_credentials=None,
call_credentials=None,
insecure=False,
compression=None,
wait_for_ready=None,
timeout=None,
metadata=None):
return grpc.experimental.stream_stream(request_iterator, target, '/asrt.AsrtGrpcService/Stream',
asrt__pb2.SpeechRequest.SerializeToString,
asrt__pb2.TextResponse.FromString,
options, channel_credentials,
insecure, call_credentials, compression, wait_for_ready, timeout,
metadata)
================================================
FILE: assets/default.html
================================================
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ASRT Speech Recognition API</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>ASRT Speech Recognition API</h1>
<h3>framework version: 1.0</h3>
<p>If you see this page, the ASRT api server is successfully installed and working. </p>
<p>For online documentation and support please refer to <a href="https://asrt.ailemon.net">ASRT Project Page</a>.</p>
<p>Please call this web api by post menthod. </p>
<em>Thank you for using ASRT.</em>
<footer>
<p style="text-align: center;">Copyright © <a href="https://www.ailemon.net">ailemon.net</a></p>
</footer>
</body>
</html>
================================================
FILE: client_grpc.py
================================================
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2016-2099 Ailemon.net
#
# This file is part of ASRT Speech Recognition Tool.
#
# ASRT is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# ASRT is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with ASRT. If not, see <https://www.gnu.org/licenses/>.
# ============================================================================
"""
@author: nl8590687
ASRT语音识别asrserver grpc协议测试专用客户端
"""
import grpc
import time
from assets.asrt_pb2_grpc import AsrtGrpcServiceStub
from assets.asrt_pb2 import SpeechRequest, LanguageRequest, WavData
from utils.ops import read_wav_bytes
def run_speech():
"""
请求ASRT服务Speech方法
:return:
"""
conn = grpc.insecure_channel('127.0.0.1:20002')
client = AsrtGrpcServiceStub(channel=conn)
wav_bytes, sample_rate, channels, sample_width = read_wav_bytes('assets/A11_0.wav')
print('sample_width:', sample_width)
wav_data = WavData(samples=wav_bytes, sample_rate=sample_rate,
channels=channels, byte_width=sample_width)
request = SpeechRequest(wav_data=wav_data)
time_stamp0 = time.time()
response = client.Speech(request)
time_stamp1 = time.time()
print('time:', time_stamp1 - time_stamp0, 's')
print("received:", response.result_data)
def run_lan():
"""
请求ASRT服务Language方法
:return:
"""
conn = grpc.insecure_channel('127.0.0.1:20002')
client = AsrtGrpcServiceStub(channel=conn)
pinyin_data = ['ni3', 'hao3', 'ya5']
request = LanguageRequest(pinyins=pinyin_data)
time_stamp0 = time.time()
response = client.Language(request)
time_stamp1 = time.time()
print('time:', time_stamp1 - time_stamp0, 's')
print("received:", response.text_result)
def run_all():
"""
请求ASRT服务All方法
:return:
"""
conn = grpc.insecure_channel('127.0.0.1:20002')
client = AsrtGrpcServiceStub(channel=conn)
wav_bytes, sample_rate, channels, sample_width = read_wav_bytes('assets/A11_0.wav')
print('sample_width:', sample_width)
wav_data = WavData(samples=wav_bytes, sample_rate=sample_rate,
channels=channels, byte_width=sample_width)
request = SpeechRequest(wav_data=wav_data)
time_stamp0 = time.time()
response = client.All(request)
time_stamp1 = time.time()
print("received:", response.text_result)
print('time:', time_stamp1 - time_stamp0, 's')
def run_stream():
"""
请求ASRT服务Stream方法
:return:
"""
conn = grpc.insecure_channel('127.0.0.1:20002')
client = AsrtGrpcServiceStub(channel=conn)
wav_bytes, sample_rate, channels, sample_width = read_wav_bytes('assets/A11_0.wav')
print('sample_width:', sample_width)
wav_data = WavData(samples=wav_bytes, sample_rate=sample_rate,
channels=channels, byte_width=sample_width)
# 先制造一些客户端能发送的数据
def make_some_data():
for _ in range(1):
time.sleep(1)
yield SpeechRequest(wav_data=wav_data)
try:
status_response = client.Stream(make_some_data())
for ret in status_response:
print("received:", ret.text_result, " , status:", ret.status_code)
time.sleep(0.1)
except Exception as any_exception:
print(f'err in send_status:{any_exception}')
return
if __name__ == '__main__':
# run_all()
run_stream()
================================================
FILE: client_http.py
================================================
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2016-2099 Ailemon.net
#
# This file is part of ASRT Speech Recognition Tool.
#
# ASRT is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# ASRT is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with ASRT. If not, see <https://www.gnu.org/licenses/>.
# ============================================================================
'''
@author: nl8590687
ASRT语音识别asrserver http协议测试专用客户端
'''
import base64
import json
import time
import requests
from utils.ops import read_wav_bytes
URL = 'http://127.0.0.1:20001/all'
wav_bytes, sample_rate, channels, sample_width = read_wav_bytes('assets/A11_0.wav')
datas = {
'channels': channels,
'sample_rate': sample_rate,
'byte_width': sample_width,
'samples': str(base64.urlsafe_b64encode(wav_bytes), encoding='utf-8')
}
headers = {'Content-Type': 'application/json'}
t0=time.time()
r = requests.post(URL, headers=headers, data=json.dumps(datas))
t1=time.time()
r.encoding='utf-8'
result = json.loads(r.text)
print(result)
print('time:', t1-t0, 's')
================================================
FILE: data_loader.py
================================================
# !/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2016-2099 Ailemon.net
#
# This file is part of ASRT Speech Recognition Tool.
#
# ASRT is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# ASRT is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with ASRT. If not, see <https://www.gnu.org/licenses/>.
# ============================================================================
"""
@author: nl8590687
加载语音数据集用的数据加载器的定义
"""
import os
import random
import numpy as np
from utils.config import load_config_file, DEFAULT_CONFIG_FILENAME, load_pinyin_dict
from utils.ops import read_wav_data
class DataLoader:
"""
数据加载器
参数:\\
config: 配置信息字典
dataset_type: 要加载的数据集类型,包含('train', 'dev', 'test')三种
"""
def __init__(self, dataset_type:str):
self.dataset_type = dataset_type
self.data_list = list()
self.wav_dict = dict()
self.label_dict = dict()
self.pinyin_list = list()
self.pinyin_dict = dict()
self._load_data()
def _load_data(self):
config = load_config_file(DEFAULT_CONFIG_FILENAME)
self.pinyin_list, self.pinyin_dict = load_pinyin_dict(config['dict_filename'])
for index in range(len(config['dataset'][self.dataset_type])):
filename_datalist = config['dataset'][self.dataset_type][index]['data_list']
filename_datapath = config['dataset'][self.dataset_type][index]['data_path']
with open(filename_datalist, 'r', encoding='utf-8') as file_pointer:
lines = file_pointer.read().split('\n')
for line in lines:
if len(line) == 0:
continue
tokens = line.split(' ')
self.data_list.append(tokens[0])
self.wav_dict[tokens[0]] = os.path.join(filename_datapath, tokens[1])
filename_labellist = config['dataset'][self.dataset_type][index]['label_list']
with open(filename_labellist, 'r', encoding='utf-8') as file_pointer:
lines = file_pointer.read().split('\n')
for line in lines:
if len(line) == 0:
continue
tokens = line.split(' ')
self.label_dict[tokens[0]] = tokens[1:]
def get_data_count(self) -> int:
"""
获取数据集总数量
"""
return len(self.data_list)
def get_data(self, index: int) -> tuple:
"""
按下标获取一条数据
"""
mark = self.data_list[index]
wav_signal, sample_rate, _, _ = read_wav_data(self.wav_dict[mark])
labels = list()
for item in self.label_dict[mark]:
if len(item) == 0:
continue
labels.append(self.pinyin_dict[item])
data_label = np.array(labels)
return wav_signal, sample_rate, data_label
def shuffle(self) -> None:
"""
随机打乱数据
"""
random.shuffle(self.data_list)
================================================
FILE: dict.txt
================================================
a1 阿啊呵腌吖锕
a2 啊呵嗄
a3 啊
a4 啊呵
a5 阿啊呵
ai1 哀挨埃唉哎捱锿诶
ai2 挨癌皑呆捱矮
ai3 矮蔼哎霭嗳
ai4 爱碍艾唉哎隘暧嗳瑷嗌嫒砹
an1 安谙鞍氨庵桉鹌
an3 俺铵揞埯
an4 案按暗岸黯胺犴
ang1 肮
ang2 昂
ang4 盎
ao1 凹熬
ao2 熬敖嚣嗷鏖鳌翱獒聱螯廒遨
ao3 袄拗媪
ao4 奥澳傲懊坳拗骜岙鏊
ba1 八巴吧叭芭扒疤笆粑岜
ba2 拔跋八茇菝魃
ba3 把靶钯
ba4 爸罢霸坝把耙灞鲅壩
ba5 吧罢叭
bai1 掰
bai2 白百
bai3 百摆伯柏佰捭
bai4 败拜呗稗
ban1 般班搬斑颁扳瘢癍
ban3 版板阪坂钣舨
ban4 办半伴扮瓣拌绊
bang1 帮邦浜梆
bang3 膀榜绑
bang4 棒膀傍磅谤镑蚌蒡
bao1 包胞炮剥褒苞孢煲龅
bao2 薄雹保
bao3 保宝饱堡葆褓鸨
bao4 报暴抱爆鲍曝刨瀑豹趵
bei1 背悲杯碑卑陂埤萆鹎
bei3 北
bei4 被备背辈倍贝蓓惫悖狈焙邶钡孛碚褙鐾鞴
bei5 臂呗
ben1 奔贲锛
ben3 本苯畚
ben4 奔笨夯坌
beng1 崩绷嘣
beng2 甭
beng3 绷
beng4 绷蹦迸甏泵蚌
bi1 逼
bi2 鼻荸匕比
bi3 比笔彼鄙匕俾妣吡秕舭
bi4 必毕币秘避闭壁臂弊辟碧拂毙蔽庇璧敝泌陛弼篦婢愎痹铋裨髀哔
bian1 编边鞭砭
bian3 贬扁匾碥褊
bian4 便变遍辩辨辫卞苄汴忭弁缏
bian5 边
biao1 标彪镖膘骠镳杓飚飑飙瘭髟
biao3 表裱婊
biao4 鳔
bie1 憋瘪鳖
bie2 别蹩
bie3 瘪
bie4 别
bin1 宾滨彬斌缤濒槟傧玢豳镔
bin4 鬓殡摈膑髌
bing1 兵冰并槟
bing3 饼屏丙柄秉炳禀邴
bing4 并病摒
bo1 波播拨剥玻饽菠钵趵鲅
bo2 博伯勃薄泊柏驳魄脖搏膊舶礴帛铂箔渤钹孛亳鹁踣饽
bo3 簸跛
bo4 薄柏簸擘檗
bo5 卜啵膊
bu1 逋晡钸
bu2 不醭补
bu3 补捕堡卜哺卟
bu4 不部布步怖簿埔埠瓿钚
ca1 擦拆嚓
ca3 礤
cai1 猜
cai2 才财材裁
cai3 采彩踩睬
cai4 采菜蔡
can1 参餐骖
can2 残惭蚕
can3 惨黪
can4 灿掺璨孱粲
cang1 苍仓沧舱伧
cang2 藏
cao1 操糙
cao2 曹槽嘈漕螬艚草
cao3 草
ce4 策测侧厕册恻
cen1 参
cen2 岑涔
ceng1 噌
ceng2 曾层
ceng4 蹭
cha1 差插叉碴喳嚓杈馇锸
cha2 查察茶叉茬碴楂猹搽槎檫
cha3 叉衩镲
cha4 差刹叉诧岔衩杈汊姹
chai1 差拆钗
chai2 柴豺侪
chai4 虿瘥
chan1 搀掺觇
chan2 缠禅蝉馋潺蟾婵谗廛孱镡澶躔产单
chan3 产铲阐谄冁蒇骣
chan4 颤忏羼
chang1 昌娼猖伥阊菖鲳
chang2 长场常尝肠偿倘裳嫦徜苌厂
chang3 场厂敞氅昶惝
chang4 唱畅倡怅鬯
chao1 超抄吵钞绰剿焯怊
chao2 朝潮嘲巢晁
chao3 炒吵
chao4 耖
che1 车砗
che3 扯
che4 彻撤澈掣坼辙
chen1 郴琛嗔抻
chen2 陈沉晨沈尘臣辰橙忱谌宸陳
chen3 碜
chen4 称趁衬谶榇龀
chen5 伧
cheng1 称撑秤瞠噌铛柽蛏
cheng2 成城程承诚盛乘呈惩澄橙丞埕枨塍铖裎酲
cheng3 逞骋裎
cheng4 称秤
chi1 吃痴哧嗤蚩笞鸱媸螭眵魑
chi2 持迟池驰匙弛踟墀茌篪坻
chi3 尺齿耻侈褫豉
chi4 赤斥翅啻炽敕叱饬傺彳瘛眙
chong1 冲充涌憧忡艟舂茺衝
chong2 重崇虫
chong3 宠
chong4 冲铳
chou1 抽瘳
chou2 愁仇筹酬绸踌惆畴稠帱俦雠
chou3 丑瞅
chou4 臭
chu1 出初樗
chu2 除厨躇橱雏锄蜍刍滁蹰处
chu3 处楚储础杵褚楮
chu4 处触畜矗怵搐绌黜亍憷
chuai1 揣搋
chuai3 揣
chuai4 揣啜踹嘬膪
chuan1 穿川巛氚
chuan2 传船遄椽舡
chuan3 喘舛
chuan4 串钏
chuang1 创窗疮
chuang2 床幢
chuang3 闯
chuang4 创怆
chui1 吹炊
chui2 垂锤捶陲椎槌棰
chun1 春椿蝽
chun2 纯唇醇淳鹑莼
chun3 蠢
chuo1 戳踔
chuo4 绰啜辍龊
ci1 差刺疵呲
ci2 词辞慈磁瓷兹茨雌祠茈鹚糍
ci3 此
ci4 次刺赐伺蚝
cong1 匆聪葱囱苁骢璁枞
cong2 从丛琮淙
cou4 凑辏腠
cu1 粗
cu2 徂殂
cu4 促簇醋卒猝蹴蹙蔟酢
cuan1 蹿撺汆镩
cuan2 攒
cuan4 窜篡爨
cui1 衰催摧崔隹榱
cui3 璀
cui4 脆粹萃翠瘁悴淬毳啐
cun1 村皴
cun2 存蹲
cun3 忖
cun4 寸
cuo1 搓撮磋蹉
cuo2 嵯矬痤瘥鹾
cuo3 脞
cuo4 错措挫厝锉
da1 答搭嗒耷褡哒
da2 打达答瘩沓鞑怛笪靼妲
da3 打
da4 大
da5 塔疸瘩
dai1 待呆呔
dai3 逮歹傣
dai4 大代带待戴袋贷逮殆黛怠玳岱迨骀绐埭甙帶
dan1 单担丹耽眈殚箪儋瘅聃郸
dan3 担胆掸赕疸
dan4 但担石弹淡旦蛋诞惮啖澹氮萏瘅
dang1 当裆铛當
dang3 党挡谠档
dang4 当荡档挡宕菪凼砀
dao1 刀叨忉氘
dao2 叨导
dao3 导倒岛蹈捣祷
dao4 到道倒悼盗稻
de2 得德锝嘚
de4 嘚
de5 的地得
dei3 得
deng1 登灯蹬噔簦
deng3 等戥
deng4 邓凳瞪澄蹬磴镫嶝
di1 提低滴堤嘀氐镝羝
di2 敌笛的迪涤嘀狄嫡翟荻籴觌镝
di3 底抵诋邸砥坻柢氐骶
di4 地第帝弟递蒂缔谛睇棣娣碲
di5 弟
dia3 嗲
dian1 颠滇掂癫巅
dian3 点典碘踮丶點
dian4 电店甸淀垫殿奠惦佃玷簟坫靛钿癜阽
diao1 雕刁凋叼貂碉鲷
diao3 鸟屌
diao4 调掉吊钓铫铞調
die1 爹跌
die2 叠迭碟谍蝶喋佚牒耋蹀堞瓞揲垤鲽
ding1 丁盯钉叮町酊疔仃耵玎
ding3 顶鼎酊
ding4 定订钉铤腚锭碇啶
diu1 丢铥丟
dong1 东冬咚岽氡鸫
dong3 懂董
dong4 动洞冻栋恫侗垌峒胨胴硐動
dou1 都兜蔸篼
dou3 斗抖陡蚪
dou4 读斗豆逗窦痘
du1 都督嘟
du2 读独顿毒渎牍犊黩髑椟
du3 肚睹堵赌笃
du4 度渡肚杜妒镀芏蠹
duan1 端
duan3 短
duan4 断段锻缎煅椴簖
dui1 堆
dui4 对队兑敦碓憝怼镦對
dun1 吨敦蹲墩礅镦
dun3 盹趸
dun4 顿盾钝炖遁沌囤砘
duo1 多咄哆掇裰
duo2 度夺踱铎掇
duo3 朵躲垛哚缍
duo4 舵堕跺剁惰垛驮柁
e1 阿婀屙
e2 额俄哦鹅娥峨蛾讹莪锇
e3 恶
e4 恶饿扼愕遏噩呃厄鄂轭颚鳄谔锷萼腭垩鹗苊阏惡
e5 呃
ei2 诶
ei3 诶
ei4 诶
en1 恩蒽
en4 摁嗯
er2 而儿鸸鲕耳
er3 尔耳迩饵洱珥铒
er4 二佴
fa1 发
fa2 罚乏伐阀筏垡
fa3 法砝
fa4 发珐
fan1 翻番帆藩幡蕃
fan2 凡烦繁樊蕃燔矾蘩钒蹯
fan3 反返
fan4 饭犯范贩泛梵畈飯
fang1 方芳妨坊邡枋钫
fang2 房防妨坊肪鲂
fang3 访仿纺彷舫紡
fang4 放
fang5 坊
fei1 非飞啡菲扉霏妃绯蜚鲱
fei2 肥腓淝
fei3 菲匪诽斐蜚翡悱篚榧
fei4 费废沸肺吠痱狒镄芾砩
fen1 分纷氛芬吩酚玢
fen2 坟焚汾棼鼢
fen3 粉
fen4 分份奋愤粪忿偾瀵鲼
feng1 风封丰峰疯锋蜂枫烽酆葑沣砜鋒
feng2 逢缝冯
feng3 讽唪
feng4 奉缝凤俸葑鳳
fo2 佛
fou3 否缶
fu1 夫肤敷孵呋稃麸趺跗
fu2 夫服福佛幅伏符浮扶弗拂袱俘芙孚匐辐涪氟桴蜉苻茯莩菔幞怫艴郛绂绋凫祓砩黻罘稃蚨芾蝠
fu3 府父腐抚辅甫俯斧脯釜腑拊滏黼符莆
fu4 服复父负副富付妇附赴腹覆赋傅缚咐阜讣驸赙馥蝮鲋鳆負
fu5 咐服袱夫腐复
ga1 咖嘎胳伽旮
ga2 嘎噶轧尜钆
ga3 嘎尕
ga4 尬
gai1 该赅垓陔
gai3 改
gai4 概盖丐钙芥溉戤
gan1 干甘肝杆尴乾竿坩苷柑泔矸疳酐
gan2 赶敢
gan3 感敢赶杆橄秆擀澉
gan4 干赣淦绀旰
gang1 刚钢纲缸扛杠冈肛罡剛
gang3 港岗
gang4 钢杠戆筻
gao1 高糕膏皋羔睾篙槔
gao3 稿搞藁槁缟镐杲
gao4 告膏诰郜锆
ge1 歌格哥戈割胳搁疙咯鸽屹仡圪纥袼
ge2 革格隔葛阁胳搁蛤嗝骼颌搿膈镉塥鬲噶
ge3 个各合盖葛哿舸
ge4 个各铬硌虼個
gei3 给給
gen1 根跟
gen2 哏
gen3 艮
gen4 亘艮茛
geng1 更耕庚羹赓
geng3 耿颈梗哽鲠埂绠
geng4 更
gong1 工公共红供功攻宫恭躬龚弓肱蚣觥
gong3 巩拱汞珙
gong4 共供贡
gou1 句沟勾钩篝佝枸缑鞲
gou3 狗苟岣枸笱
gou4 够购构勾觏垢诟媾遘彀
gu1 姑骨孤估辜咕呱箍沽菇轱鸪毂菰蛄酤觚
gu2 骨古鼓谷
gu3 古股鼓骨谷贾汩蛊毂鹄牯臌诂瞽罟钴嘏蛄鹘
gu4 故顾固估雇锢梏牿崮痼鲴
gua1 括瓜刮呱栝胍鸹
gua3 寡呱剐
gua4 挂褂卦诖
guai1 乖掴
guai3 拐
guai4 怪
guan1 关观官冠棺矜莞倌纶鳏
guan3 管馆莞
guan4 观惯冠贯罐灌掼盥涫鹳
guang1 光咣胱桄
guang3 广犷
guang4 逛桄
gui1 规归瑰龟硅闺皈傀圭妫鲑
gui3 鬼轨诡癸匦庋宄晷簋
gui4 贵桂跪柜刽炔刿桧炅鳜匮
gun3 滚鲧衮绲磙辊
gun4 棍
guo1 过锅郭涡聒蝈崞埚呙
guo2 国帼掴馘虢
guo3 果裹猓椁蜾
guo4 过過
ha1 哈铪
ha2 虾蛤
ha3 哈
ha4 哈
hai1 嘿咳嗨
hai2 还孩骸海還
hai3 海胲醢
hai4 害亥骇氦
han1 酣憨顸鼾蚶
han2 含寒汗韩涵函晗焓邯邗
han3 喊罕阚
han4 汉汗憾翰撼旱捍悍瀚焊颔菡撖
hang1 夯
hang2 行航吭杭绗珩颃
hang4 行巷沆
hao1 蒿薅嚆
hao2 号毫豪嚎壕貉嗥濠蚝好
hao3 好郝
hao4 好号浩耗皓昊灏镐颢
he1 喝呵诃嗬
he2 和何合河核盒禾荷阂涸阖貉曷颌劾菏盍纥蚵翮
he4 和何喝赫吓贺荷鹤壑褐
hei1 黑嘿嗨
hen2 痕很
hen3 很狠
hen4 恨
heng1 哼亨
heng2 横衡恒蘅珩桁
heng4 横
heng5 哼
hong1 轰哄烘薨訇
hong2 红洪鸿宏虹弘泓闳蕻黉荭
hong3 哄
hong4 哄讧蕻
hou2 侯喉猴瘊篌糇骺
hou3 吼
hou4 后候後厚侯逅堠鲎
hu1 乎呼戏忽糊惚唿滹轷烀
hu2 和胡湖糊核壶狐葫弧蝴囫瑚斛鹄醐猢槲鹕觳煳鹘
hu3 虎浒唬琥
hu4 护户互糊虎沪祜扈戽笏岵怙瓠鹱冱
hua1 华化花哗砉
hua2 华划滑哗豁猾骅铧
hua4 话华化划画桦
huai2 怀徊淮槐踝
huai4 坏
huai5 划
huan1 欢獾
huan2 还环寰鬟桓圜洹郇缳锾萑
huan3 缓
huan4 换患幻唤宦焕痪涣浣奂擐豢漶逭鲩
huang1 荒慌肓
huang2 黄皇煌惶徨璜簧凰潢蝗蟥遑隍磺癀湟篁鳇黃
huang3 晃恍谎幌
huang4 晃
hui1 挥辉灰恢徽堕诙晖麾珲咴虺隳
hui2 回徊蛔茴洄
hui3 毁悔虺
hui4 会汇惠慧溃绘讳贿晦秽诲彗烩荟卉喙恚浍哕缋桧蕙蟪
hun1 婚昏荤阍
hun2 混魂浑馄珲
hun4 混诨溷
huo1 豁劐攉锪耠
huo2 和活火
huo3 火伙夥钬
huo4 和或获货祸惑霍豁藿嚯镬蠖
ji1 其几期机基击奇激积鸡迹绩饥缉圾姬矶肌讥叽稽畸跻羁嵇唧畿齑箕屐剞玑赍犄墼芨丌咭笄乩績
ji2 及即辑级极集急籍吉疾嫉藉脊棘汲岌笈瘠诘亟楫蒺殛佶戢嵴蕺给圾
ji3 几给己革济纪挤脊戟虮掎麂
ji4 记系计济寄际技纪继既齐季寂祭忌剂冀妓骥蓟悸伎暨霁稷偈鲫髻觊荠跽哜鲚洎芰迹绩
jia1 家加佳夹嘉茄挟枷珈迦伽浃痂笳葭镓袈跏
jia2 夹颊戛荚郏恝铗袷蛱浃
jia3 假甲贾胛岬钾嘏瘕
jia4 价假架驾嫁稼
jia5 家
jian1 间坚监渐兼艰肩浅尖奸溅煎歼缄笺菅蒹搛湔缣戋犍鹣鲣鞯
jian3 简减检剪捡拣俭碱茧柬蹇謇硷睑锏枧戬谫囝裥笕翦趼
jian4 见间件建监渐健剑键荐鉴践舰箭贱溅槛谏僭涧饯毽锏楗腱牮踺
jiang1 将江疆姜浆僵缰茳礓豇
jiang3 讲奖蒋桨耩蔣
jiang4 将强降酱浆虹匠犟绛洚糨
jiao1 教交焦骄郊胶椒娇浇姣跤蕉礁鲛僬鹪蛟艽茭
jiao2 嚼矫脚
jiao3 角脚搅缴绞饺矫佼狡剿侥皎挢徼湫敫铰
jiao4 教觉校叫较轿嚼窖酵噍峤徼醮
jie1 接结节街阶皆揭楷嗟秸疖喈
jie2 结节杰捷截洁劫竭睫桔拮孑诘桀碣偈颉讦婕羯鲒解結
jie3 解姐
jie4 界解价介借戒届藉诫芥疥蚧骱
jie5 姐
jin1 今金禁津斤筋巾襟矜衿
jin3 尽仅紧谨锦瑾馑卺廑堇槿
jin4 进近尽仅禁劲晋浸靳缙烬噤觐荩赆妗
jing1 经京精惊睛晶荆兢鲸泾旌茎腈菁粳
jing3 警景井颈憬阱儆刭肼
jing4 经境竟静敬镜劲竞净径靖痉迳胫弪婧獍靓
jiong1 扃
jiong3 窘炯迥炅囧
jiu1 究纠揪鸠赳啾阄鬏
jiu3 九酒久韭灸玖
jiu4 就旧救疚舅咎臼鹫僦厩桕柩
ju1 车据且居俱拘驹鞠锯趄掬疽裾苴椐锔狙琚雎鞫蜛沮
ju2 局菊桔橘锔举
ju3 举柜矩咀沮踽龃榉莒枸
ju4 据句具剧巨聚拒距俱惧沮瞿锯炬飓踞遽倨钜犋屦榘窭讵醵苣
juan1 捐圈娟鹃涓镌蠲
juan3 卷锩
juan4 圈卷倦眷隽绢狷桊鄄劵
jue1 嗟撅噘
jue2 觉绝决角脚嚼掘诀崛爵抉倔獗厥蹶攫谲矍孓橛噱珏桷劂爝镢蕨觖
jue3 蹶
jue4 倔
jun1 军均君钧筠龟菌皲麇
jun4 俊峻隽菌郡骏竣捃浚
ka1 咖喀咔
ka3 卡咯咔佧胩
kai1 开揩锎
kai3 慨凯铠楷恺蒈剀垲锴
kai4 忾
kan1 看刊堪勘龛戡
kan3 侃砍坎槛莰
kan4 看嵌瞰阚磡
kang1 康慷糠闶
kang2 扛
kang4 抗炕亢伉闶钪
kao1 尻
kao3 考烤拷栲
kao4 靠铐犒
ke1 科颗柯呵棵苛磕坷嗑瞌轲稞疴蝌钶窠颏珂髁
ke2 咳壳颏可
ke3 可渴坷轲岢
ke4 克客刻课恪嗑溘骒缂氪锞蚵科可
ken3 肯恳啃垦龈
ken4 裉
keng1 坑吭铿
kong1 空倥崆箜
kong3 恐孔倥
kong4 空控
kou1 抠芤眍
kou3 口
kou4 扣寇叩蔻筘
ku1 哭枯窟骷刳堀
ku3 苦
ku4 库裤酷喾绔
kua1 夸
kua3 垮侉
kua4 跨挎胯
kuai3 蒯
kuai4 快块筷脍会哙侩狯浍郐
kuan1 宽髋
kuan3 款
kuang1 框筐匡哐诓
kuang2 狂诳
kuang3 夼
kuang4 况矿框旷眶邝圹纩贶況
kui1 亏窥盔岿悝
kui2 魁睽逵葵奎馗夔喹隗暌揆蝰
kui3 傀跬
kui4 愧溃馈匮喟聩篑蒉愦
kun1 昆坤鲲锟醌琨髡
kun3 捆悃阃
kun4 困
kuo4 括适阔扩廓栝蛞
la1 拉啦喇垃邋
la2 拉喇旯砬
la3 拉喇
la4 落拉辣腊蜡剌瘌
la5 啦
lai2 来莱徕涞崃铼來
lai4 赖睐癞籁赉濑
lan2 兰蓝栏拦篮澜婪岚斓阑褴镧谰
lan3 懒览揽榄缆漤罱懶
lan4 烂滥
lang1 啷
lang2 狼郎廊琅螂榔锒稂阆
lang3 朗
lang4 浪郎莨蒗阆
lao1 捞
lao2 劳牢唠崂铹痨醪老
lao3 老姥佬潦栳铑
lao4 落络唠烙酪涝耢
lao5 姥
le1 肋
le4 乐勒仂叻泐鳓
le5 了
lei1 勒擂
lei2 累雷擂羸镭嫘缧檑蕾
lei3 累蕾垒磊儡诔耒
lei4 类泪累擂肋酹
lei5 嘞
leng1 棱
leng2 楞棱塄冷
leng3 冷
leng4 愣
li1 哩
li2 离丽黎璃漓狸梨篱犁厘罹藜骊蜊黧缡喱鹂嫠蠡鲡蓠理礼離嚟
li3 里理李礼哩鲤俚逦娌悝澧锂蠡醴鳢裡
li4 力利立历例丽励厉莉笠粒俐栗隶吏沥雳莅戾俪砺痢郦詈荔枥呖唳猁溧砾栎轹傈坜苈疠疬蛎鬲篥粝跞
li5 璃哩莉里
lia3 俩
lian2 联连怜莲廉帘涟镰裢濂臁奁蠊鲢
lian3 脸敛琏蔹裣
lian4 练恋炼链殓楝潋
liang2 量良梁凉粮粱踉莨椋墚两
liang3 两俩魉
liang4 量亮辆凉谅晾踉靓
liao1 撩撂
liao2 聊疗辽僚寥撩撂缭寮燎嘹獠鹩了
liao3 了潦燎蓼钌
liao4 了料廖镣撩撂尥钌
lie1 咧
lie3 裂咧
lie4 列烈裂劣猎趔冽洌捩埒躐鬣
lie5 咧
lin2 林临邻琳淋霖麟鳞磷嶙辚粼遴啉瞵
lin3 凛懔檩廪
lin4 淋吝躏赁蔺膦
lin1 拎
ling2 令灵零龄凌玲铃陵伶聆囹棱菱苓翎棂瓴绫酃泠羚蛉柃鲮领岭
ling3 领令岭
ling4 令另呤
liu1 溜熘
liu2 留流刘瘤榴浏硫琉遛馏镏旒骝鎏柳
liu3 柳绺锍
liu4 六溜碌遛馏镏鹨
lo5 咯
long1 隆
long2 龙隆笼胧咙聋珑窿茏栊泷砻癃
long3 笼拢垄陇垅
long4 弄
lou1 搂
lou2 楼喽偻娄髅蝼蒌耧
lou3 搂篓嵝
lou4 露陋漏镂瘘
lou5 喽
lu1 噜撸
lu2 卢炉庐芦颅泸轳鲈垆胪鸬舻栌
lu3 鲁芦卤虏掳橹镥
lu4 六路陆录露绿鹿碌禄辘麓赂漉戮簏鹭潞璐辂渌蓼逯
lu5 轳氇噜
lv3 旅履屡侣缕吕捋铝偻褛膂稆
lv4 律绿率虑滤氯緑
lv5 驴榈闾率
luan2 峦挛孪栾銮滦鸾娈脔
luan3 卵
luan4 乱
lve3 掠
lve4 略掠锊
lun1 抡
lun2 论轮伦沦仑抡囵纶
lun4 论
luo1 落罗捋啰
luo2 罗逻萝螺锣箩骡猡椤脶镙
luo3 裸倮蠃瘰
luo4 落络洛骆咯摞烙珞泺漯荦硌雒
luo5 罗
m2 呒
ma1 妈麻摩抹蚂嬷
ma2 吗麻蟆马玛
ma3 马吗码玛蚂犸
ma4 骂蚂唛杩犸
ma5 么吗嘛妈嗎
mai2 埋霾
mai3 买荬買
mai4 卖麦迈脉劢
man1 颟
man2 蛮馒瞒埋蔓谩鳗鞔满
man3 满螨
man4 慢漫曼蔓谩墁幔缦熳镘
mang2 忙茫盲芒氓邙硭
mang3 莽蟒漭
mao1 猫貓
mao2 毛猫矛茅髦锚牦旄蝥蟊茆
mao3 卯铆峁泖昴
mao4 冒贸帽貌茂耄瑁懋袤瞀貿
me5 么麽麼
mei2 没眉梅媒枚煤霉玫糜酶莓嵋湄楣猸镅鹛美每沒
mei3 美每镁浼
mei4 妹魅昧谜媚寐袂
men1 闷
men2 门扪钔
men4 闷懑焖
men5 们們
meng1 蒙
meng2 蒙盟朦氓萌檬瞢甍礞虻艨濛
meng3 蒙猛勐懵蠓蜢锰艋
meng4 梦孟
mi1 眯咪
mi2 迷弥谜靡糜醚麋猕祢縻蘼米
mi3 米眯靡弭敉脒芈
mi4 密秘觅蜜谧泌汨宓幂嘧
mian2 棉眠绵
mian3 免缅勉腼冕娩渑湎沔眄黾
mian4 面
miao1 喵
miao2 描苗瞄鹋
miao3 秒渺藐缈淼杪邈眇
miao4 妙庙缪
mie1 乜咩
mie4 灭蔑篾蠛
min2 民珉岷缗玟苠
min3 敏悯闽泯皿抿闵愍黾鳘
ming2 名明鸣盟铭冥茗溟瞑暝螟
ming3 酩
ming4 命
miu4 谬缪
mo1 摸
mo2 无模麽磨摸摩魔膜蘑馍摹
mo3 抹
mo4 莫陌磨末默沫漠寞没墨茉
mo5 寞沫
mu3 拇牡亩姆母姥
mu4 墓暮幕募慕木目睦牧穆沐
na2 拿哪
na3 哪
na4 呐钠那娜纳衲
na5 呐
nai3 氖乃奶妳
nai4 耐奈
nan2 南男难楠喃
nan3 腩蝻赧
nan4 难
nang2 囊
nao1 孬
nao2 挠
nao3 脑恼
nao4 闹淖
ne2 哪
ne5 呢
nei3 馁
nei4 内
nen4 嫩
neng2 能
ni1 妮
ni2 霓倪泥尼
ni3 拟你
ni4 匿腻逆溺昵
nian1 蔫拈
nian2 年粘黏拈鲶
nian3 碾撵捻
nian4 念
niang2 娘
niang4 酿
niao3 鸟袅嬲
niao4 尿
nie1 捏㖏
nie4 聂孽啮镊镍涅
nin2 您
ning2 柠狞凝宁拧咛
ning3 拧
ning4 拧泞宁
niu2 牛
niu3 扭钮纽
niu4 拗
nong1 浓脓
nong2 浓农侬
nong4 弄
nu2 奴孥
nu3 努弩
nu4 怒
nv3 女钕
nuan3 暖
nue4 虐疟
nuo2 挪傩娜
nuo4 懦糯诺
o2 哦
o5 哦
ou1 欧鸥殴瓯呕歐
ou3 藕呕偶
ou4 沤
pa1 啪趴爬葩
pa2 爬琶杷
pa4 帕怕
pa5 琶杷
pai1 拍
pai2 排牌徘
pai4 湃派
pan1 攀潘
pan2 盘胖磐
pan4 盼畔判叛
pang1 乓
pang2 庞旁螃彷
pang3 耪
pang4 胖
pao1 抛
pao2 咆袍刨庖
pao3 跑
pao4 炮泡
pei1 呸胚
pei2 培裴赔陪
pei4 配佩沛
pen1 喷
pen2 盆
peng1 砰抨烹
peng2 澎彭蓬棚硼篷膨朋鹏芃
peng3 捧
peng4 碰
peng5 篷蓬
pi1 坯砒霹批披劈丕
pi2 皮琵毗啤脾疲枇铍貔
pi3 匹痞癖
pi4 僻屁譬辟媲
pian1 篇偏片翩
pian2 骈
pian4 片骗
piao1 飘漂
piao2 瓢朴嫖漂
piao3 瞟
piao4 漂票嫖
pie1 撇瞥
pie3 撇瞥
pin1 拼拚
pin2 频贫品嫔
pin3 品
pin4 聘
ping1 乒娉
ping2 坪苹萍平凭瓶评屏
po1 坡泼颇
po2 婆鄱
po3 颇叵
po4 破魄迫粕朴珀
pou1 剖
pu1 扑铺仆噗
pu2 仆莆葡菩蒲谱濮璞
pu3 普谱埔朴圃浦
pu4 铺曝瀑
qi1 期七欺栖漆妻凄柒沏戚桼
qi2 其旗琪骑骐棋歧岐琦齐奇祁祺麒起祈淇芪锜脐綦鳍圻
qi3 起启企岂祈乞绮杞
qi4 弃气器汽戚泣砌契讫
qia1 掐葜袷恰
qia3 卡
qia4 恰洽髂
qian1 千签牵迁谦铅骞悭芊愆阡仟岍扦佥搴褰钎
qian2 前钱潜乾虔钳掮黔荨钤犍箝
qian3 浅遣谴缱肷
qian4 欠歉纤嵌倩堑茜芡慊椠
qiang1 将枪抢腔呛锵跄羌戕戗镪蜣锖
qiang2 强墙蔷樯嫱
qiang3 强抢襁镪羟
qiang4 呛跄炝戗
qiao1 悄敲雀锹跷橇缲硗劁
qiao2 桥乔侨瞧翘蕉憔樵峤谯荞鞒
qiao3 悄巧雀愀
qiao4 翘俏窍壳峭撬鞘诮谯
qie1 切
qie3 且
qie4 切窃怯趄妾砌惬锲挈郄箧慊
qin1 亲钦侵衾
qin2 琴秦勤芹擒矜覃禽噙廑溱檎嗪芩螓
qin3 寝
qin4 沁揿吣
qing1 青清轻倾卿氢蜻圊鲭
qing2 情晴擎氰檠黥
qing3 请顷謦苘
qing4 亲庆罄磬箐綮
qiong2 穷琼穹茕邛蛩筇跫銎
qiu1 秋邱丘龟蚯鳅楸湫
qiu2 求球仇囚酋裘虬俅遒赇泅逑犰蝤巯鼽
qiu3 糗
qu1 区曲屈趋驱躯觑岖蛐祛蛆麴诎黢
qu2 渠瞿衢癯劬璩氍朐磲鸲蕖蠼蘧取佢
qu3 取曲娶龋苣
qu4 去趣觑阒
qu5 戌去
quan1 圈悛
quan2 全权泉拳诠颧蜷荃铨痊醛辁筌鬈權
quan3 犬绻畎
quan4 劝券
que1 缺阙炔
que2 瘸
que4 却确雀榷鹊阕阙悫
qun1 逡
qun2 群裙麇
ran2 然燃髯蚺
ran3 染冉苒
rang1 嚷
rang2 瓤禳穰
rang3 嚷攘壤
rang4 让
rao2 饶娆桡荛
rao3 扰绕娆
rao4 绕
re3 若惹喏
re4 热
ren2 人任仁壬
ren3 忍稔荏
ren4 任认韧刃纫饪仞葚妊轫衽恁
ren5 人
reng1 扔
reng2 仍
ri4 日
rong2 容荣融蓉溶绒熔榕戎嵘茸狨肜蝾
rong3 冗
rou2 柔揉蹂糅鞣
rou4 肉
ru2 如儒茹嚅濡孺蠕薷铷襦颥乳
ru3 辱乳汝
ru4 入褥缛洳溽蓐
ruan3 软阮朊
rui2 蕤
rui3 蕊
rui4 瑞锐芮睿枘蚋
run4 润闰
ruo4 若弱偌箬
sa1 撒仨挲
sa3 洒撒
sa4 萨卅飒脎
sai1 思塞腮鳃噻
sai4 赛塞
san1 三毵
san3 散伞馓糁霰
san4 散
sang1 丧桑
sang3 嗓搡磉颡
sang4 丧
sao1 骚搔臊缲缫鳋
sao3 扫嫂
sao4 扫梢臊埽瘙
se4 色塞涩瑟啬铯穑
sen1 森
seng1 僧
sha1 杀沙刹纱杉莎煞砂挲鲨痧裟铩
sha3 傻
sha4 沙啥厦煞霎嗄歃唼
shai1 筛酾
shai3 色
shai4 晒
shan1 山衫删煽扇珊杉栅跚姗潸膻芟埏钐舢苫髟
shan3 闪陕掺
shan4 单善扇禅擅膳讪汕赡缮嬗掸骟剡苫鄯钐疝蟮鳝
shang1 商伤汤殇觞熵墒
shang3 上赏晌垧
shang4 上尚绱
shang5 裳上
shao1 烧稍梢捎鞘蛸筲艄
shao2 勺韶苕杓芍
shao3 少
shao4 少绍召稍哨邵捎潲劭
she1 奢赊猞畲
she2 折舌蛇佘
she3 舍
she4 社设舍涉射摄赦慑麝滠歙厍
shei2 谁
shen1 身深参申伸绅呻莘娠诜砷糁珅
shen2 什神
shen3 审沈婶谂哂渖矧
shen4 甚慎渗肾蜃葚胂椹
sheng1 生声胜升牲甥笙
sheng2 绳渑
sheng3 省眚
sheng4 胜圣盛乘剩嵊晟
shi1 师诗失施尸湿狮嘘虱蓍酾鲺
shi2 十时实什识食石拾蚀埘莳炻鲥
shi3 使始史驶屎矢豕
shi4 是事世市士式视似示室势试释适氏饰逝誓嗜侍峙仕恃柿轼拭噬弑谥莳贳铈螫舐筮识
shi5 殖匙识
shou1 收
shou2 熟手首
shou3 手首守艏
shou4 受授售瘦寿兽狩绶
shu1 书输殊舒叔疏抒淑梳枢蔬倏菽摅姝纾毹殳疋
shu2 熟孰赎塾秫
shu3 数属署鼠薯暑蜀黍曙
shu4 数术树述束竖恕墅漱俞戍庶澍沭腧
shua1 刷唰
shua3 耍
shua4 刷
shuai1 衰摔
shuai3 甩
shuai4 率帅蟀
shuan1 栓拴闩
shuan4 涮
shuang1 双霜孀泷
shuang3 爽
shui2 谁水
shui3 水
shui4 税睡说
shun3 吮
shun4 顺舜瞬
shuo1 说
shuo4 数朔硕烁铄妁蒴槊搠
si1 思斯司私丝撕厮嘶鸶咝澌缌锶蛳
si3 死
si4 四似食寺肆伺饲嗣巳祀驷泗俟汜兕姒耜笥
si5 司思
song1 松忪淞崧嵩凇菘
song3 耸悚怂竦
song4 送宋诵颂讼
sou1 搜艘馊嗖溲飕锼螋
sou3 擞叟薮嗾瞍
sou4 嗽擞
su1 苏稣酥
su2 俗
su4 诉速素肃宿缩塑溯粟簌夙嗉谡僳愫涑蔌觫
suan1 酸狻
suan4 算蒜
sui1 虽尿荽睢眭濉
sui2 随遂隋绥
sui3 髓
sui4 岁碎遂祟隧邃穗燧谇
sun1 孙荪狲飧
sun3 损笋榫隼
suo1 缩莎梭嗦唆挲娑睃桫嗍蓑羧
suo2 所索
suo3 所索锁琐唢
suo5 嗦
ta1 他她它踏塌遢溻铊趿
ta3 塔鳎獭
ta4 踏拓榻嗒蹋沓挞闼漯遢
tai1 台胎苔
tai2 台抬苔邰薹骀炱跆鲐
tai3 呔
tai4 太态泰汰酞肽钛
tan1 摊贪滩瘫坍
tan2 谈弹坛谭潭覃痰澹檀昙锬镡郯
tan3 坦毯忐袒钽
tan4 探叹炭碳
tan5 弹
tang1 汤趟铴镗耥羰
tang2 堂唐糖膛塘棠搪溏螳瑭樘镗螗饧醣
tang3 躺倘淌傥帑
tang4 趟烫
tao1 涛掏滔叨焘韬饕绦
tao2 逃陶桃淘萄啕洮鼗
tao3 讨
tao4 套
te4 特忑忒慝铽
tei1 忒
teng2 腾疼藤誊滕
ti1 体踢梯剔锑
ti2 提题啼蹄醍绨缇鹈荑
ti3 体
ti4 替涕剃惕屉嚏悌倜逖绨裼
tian1 天添
tian2 田填甜恬佃阗畋钿嗔
tian3 腆舔忝殄
tian4 掭
tiao1 挑佻祧
tiao2 条调迢鲦苕髫龆蜩笤
tiao3 挑窕
tiao4 跳眺粜
tie1 贴帖萜
tie3 铁帖
tie4 帖餮
ting1 听厅汀烃
ting2 停庭亭婷廷霆蜓葶莛
ting3 挺艇町铤梃
ting4 梃
tong1 通恫嗵
tong2 同童彤铜桐瞳佟酮侗仝垌茼峒潼砼硐
tong3 统筒桶捅侗
tong4 同通痛恸
tou1 偷
tou2 头投骰
tou3 钭
tou4 透
tu1 突秃凸
tu2 图途徒屠涂荼菟酴凃
tu3 土吐钍
tu4 吐兔堍菟
tuan1 湍
tuan2 团抟
tuan3 疃
tuan4 彖
tui1 推忒
tui2 颓
tui3 腿
tui4 退褪蜕煺
tun1 吞暾
tun2 屯饨臀囤豚炖
tun3 氽
tun4 饨
tuo1 托脱拖乇
tuo2 陀舵驼砣驮沱跎坨鸵橐佗铊酡柁鼍
tuo3 妥椭庹
tuo4 魄拓唾柝箨
wa1 挖哇凹娲蛙洼
wa2 娃瓦
wa3 瓦佤
wa4 瓦袜腽
wa5 哇娃
wai1 歪
wai3 崴
wai4 外
wan1 湾弯蜿剜豌灣
wan2 完玩顽丸纨芄烷碗婉
wan3 晚碗挽婉惋宛莞娩畹皖绾琬脘菀
wan4 万腕蔓
wang1 汪
wang2 王亡芒往网
wang3 往网枉惘罔辋魍
wang4 望王往忘旺妄
wei1 威微危巍萎偎薇逶煨崴葳隈委
wei2 为维围唯违韦惟帷帏圩囗潍桅嵬闱沩涠位薇
wei3 委伟唯尾玮伪炜纬萎娓苇猥痿韪洧隗诿艉鲔
wei4 为位未味卫谓遗慰魏蔚畏胃喂尉渭猬軎
wen1 温瘟
wen2 文闻纹蚊雯璺阌稳炆
wen3 稳吻紊刎
wen4 问纹汶璺紊搵
weng1 翁嗡
weng3 蓊
weng4 瓮蕹
wo1 窝涡蜗喔倭挝莴
wo2 哦我
wo3 我
wo4 握卧渥沃斡幄肟硪龌
wu1 於恶屋污乌巫呜诬兀钨邬圬
wu2 无亡吴吾捂毋梧唔芜浯蜈五舞無
wu3 五武午舞伍侮捂妩忤鹉牾迕庑怃仵
wu4 物务误恶悟乌雾勿坞戊兀晤鹜痦寤骛芴杌焐阢婺鋈
xi1 西息希吸惜稀悉析夕牺腊昔熙兮溪嘻锡晰樨熄膝栖郗犀曦奚羲唏蹊淅皙汐嬉茜熹烯翕蟋歙浠僖穸蜥螅菥舾矽粞硒醯欷鼷
xi2 席习袭媳檄隰觋
xi3 喜洗禧徙玺屣葸蓰铣
xi4 系细戏隙饩阋禊舄
xia1 瞎虾呷
xia2 峡侠狭霞暇辖遐匣黠瑕狎硖柙
xia4 下夏吓厦唬
xian1 先鲜仙掀纤暹莶锨氙祆籼酰跹
xian2 闲贤嫌咸弦娴衔涎舷鹇痫閑
xian3 显险鲜洗跣猃藓铣燹蚬筅冼癣
xian4 现见线限县献宪陷羡馅腺岘苋霰
xiang1 相香乡箱厢湘镶襄骧葙芗缃
xiang2 降详祥翔庠想
xiang3 想响享飨饷鲞
xiang4 相向象像项巷橡蟓
xiao1 消销潇肖萧宵削嚣逍硝霄哮枭骁箫枵哓蛸绡魈銷
xiao2 淆崤小
xiao3 小晓筱
xiao4 笑校效肖孝啸哮
xie1 些歇楔蝎
xie2 叶协鞋携斜胁谐邪挟偕撷勰颉缬写
xie3 写血
xie4 写解谢泄契械屑卸懈泻亵蟹邂榭瀣薤燮躞廨绁渫榍獬
xin1 心新欣辛薪馨鑫芯昕忻歆锌
xin2 寻镡
xin4 信芯衅
xing1 兴星腥惺猩
xing2 行形型刑邢陉荥饧硎
xing3 省醒擤
xing4 性兴姓幸杏悻荇
xiong1 兄胸凶匈汹芎
xiong2 雄熊
xiu1 修休羞咻馐庥鸺貅髹貅
xiu3 宿朽
xiu4 秀袖宿臭绣锈嗅岫溴
xu1 需须虚吁嘘墟戌胥砉圩盱顼虛
xu2 徐
xu3 许浒栩诩糈醑
xu4 续序绪蓄叙畜恤絮旭婿酗煦洫溆勖
xu5 蓿
xuan1 宣喧轩萱暄谖揎儇煊瑄
xuan2 旋悬玄漩璇痃选玹
xuan3 选癣
xuan4 旋券炫渲绚眩铉泫碹楦镟
xue1 削靴薛
xue2 学穴噱踅泶
xue3 雪鳕
xue4 血谑
xun1 熏勋荤醺薰埙曛窨獯
xun2 寻询巡循旬驯荀峋洵恂郇浔鲟荨
xun4 训迅讯逊熏殉巽徇汛蕈浚
ya1 压雅呀押鸦哑鸭丫垭桠
ya2 牙涯崖芽衙睚伢岈琊蚜
ya3 雅痖疋哑
ya4 亚压讶轧娅迓揠氩砑
ya5 呀
yan1 烟燕咽殷焉淹阉腌嫣胭湮阏鄢菸崦恹
yan2 言严研延沿颜炎阎盐岩蜒檐妍筵芫闫阽眼
yan3 眼演掩衍奄俨偃魇鼹兖郾琰罨厣剡
yan4 验厌燕宴咽雁焰艳谚彦研沿焱晏唁砚堰赝餍滟酽谳
yang1 央泱秧鸯殃鞅
yang2 洋阳杨扬羊疡佯烊徉炀蛘养仰
yang3 养仰痒氧
yang4 样漾恙烊怏鞅
yao1 要约邀腰夭妖吆幺么
yao2 摇遥姚陶尧谣瑶窑肴侥铫珧轺爻徭繇鳐垚
yao3 咬杳窈舀崾
yao4 要药耀钥鹞曜疟
ye1 耶噎椰掖
ye2 爷耶邪揶铘也野
ye3 也野冶
ye4 业夜叶页液咽曳拽烨掖腋谒邺靥晔
yi1 一医衣依椅伊漪咿揖噫猗铱欹黟
yi2 移疑遗宜仪蛇姨夷怡颐彝咦贻迤痍胰沂饴圯荑诒眙嶷一以谊
yi3 以已衣尾椅矣乙蚁倚迤蛾旖苡钇舣酏
yi4 意义议易衣艺译异益亦亿忆谊抑翼役艾溢毅裔逸轶弈翌疫绎佚奕熠诣弋驿懿呓屹薏噫镒缢邑臆刈羿仡峄怿悒肄佾殪挹埸劓镱瘗癔翊蜴嗌翳一
yin1 因音阴姻殷茵荫喑湮氤堙洇铟
yin2 银吟寅淫垠鄞霪狺夤圻龈饮引隐
yin3 引隐饮瘾殷尹蚓吲
yin4 印饮荫胤茚窨
ying1 应英鹰婴樱膺莺罂鹦缨瑛璎撄嘤
ying2 营迎赢盈蝇莹荧萤萦瀛楹嬴茔滢潆荥蓥影盁
ying3 影颖颍瘿郢
ying4 应硬映媵
yo1 育哟唷
yo5 哟
yong1 拥庸佣雍臃邕镛墉慵痈壅鳙饔
yong2 喁勇永
yong3 永勇涌踊泳咏俑恿甬蛹
yong4 用佣
you1 优幽忧悠攸呦
you2 由游油邮尤犹柚鱿莸尢铀猷疣蚰蝣蝤繇莜有友
you3 有友黝酉莠牖铕
you4 有又右幼诱佑柚囿鼬宥侑蚴釉祐
yu1 於吁迂淤纡瘀
yu2 于与余予鱼愚舆娱愉馀逾渔渝俞萸瑜隅揄榆虞禺谀腴竽妤臾欤觎盂窬蝓嵛狳舁雩於雨
yu3 雨与语予宇羽禹圄屿龉伛圉庾瘐窳俣禺
yu4 与语育遇狱雨欲预玉愈谷域誉吁蔚寓豫粥郁喻裕浴御驭尉谕毓妪峪芋昱煜熨燠菀蓣饫阈鬻聿钰鹆鹬蜮彧
yuan1 冤渊鸳眢鸢箢
yuan2 员元原园源圆缘援袁猿垣辕沅媛芫橼圜塬爰螈鼋远
yuan3 远
yuan4 院愿怨苑媛掾垸瑗
yue1 约曰
yue4 月越阅跃乐悦岳粤说钥刖瀹栎樾龠钺玥
yun1 晕氲
yun2 云匀筠芸耘纭昀郧允
yun3 允陨殒狁
yun4 运均韵晕孕蕴酝愠熨郓韫恽
za1 扎咂匝拶
za2 杂咱砸
za3 咋
zai1 灾哉栽
zai3 载仔宰崽
zai4 在再载
zan1 簪糌
zan2 咱
zan3 攒拶昝趱
zan4 赞暂瓒錾
zan5 咱
zang1 赃臧脏
zang3 驵
zang4 藏脏葬奘
zao1 遭糟
zao2 凿早
zao3 早澡枣蚤藻
zao4 造灶躁噪皂燥唣
ze2 则责泽择咋啧迮帻赜笮箦舴
ze4 侧仄昃
zei2 贼
zen3 怎
zen4 谮
zeng1 曾增憎缯罾
zeng4 赠缯甑锃
zha1 查扎咋渣喳揸楂哳吒齄
zha2 炸扎札喋轧闸铡
zha3 眨砟
zha4 炸咋诈乍蜡栅榨柞吒咤痄蚱
zhai1 摘侧斋
zhai2 宅翟择窄
zhai3 窄
zhai4 债祭寨砦瘵
zhan1 占沾粘瞻詹毡谵旃
zhan3 展斩辗盏崭搌
zhan4 战站占颤绽湛蘸栈
zhang1 张章彰璋蟑樟漳嫜鄣獐
zhang3 长掌涨仉
zhang4 丈涨帐障账胀仗杖瘴嶂幛
zhao1 着招朝嘲昭钊啁
zhao2 着著
zhao3 找爪沼
zhao4 照赵召罩兆肇诏棹笊
zhe1 折遮蜇
zhe2 折哲辙辄谪蛰摺磔蜇喆
zhe3 者褶锗赭
zhe4 这浙蔗鹧柘
zhe5 着
zhei4 这
zhen1 真针珍斟贞侦甄臻箴砧桢溱蓁椹榛胗祯浈禛
zhen3 诊枕疹缜畛轸稹
zhen4 阵镇震圳振赈朕鸩
zheng1 正争征丁挣症睁徵蒸怔筝铮峥狰钲鲭
zheng3 整拯
zheng4 政正证挣郑症怔铮诤帧
zhi1 之只知指支织氏枝汁掷芝吱肢脂蜘栀卮胝祗
zhi2 直指职值执植殖侄踯摭絷跖埴只纸
zhi3 只指纸止址旨徵趾咫芷枳祉轵黹酯
zhi4 知至制识治志致质智置秩滞帜稚挚掷峙窒炙痔栉桎帙轾贽痣豸陟忮彘膣雉鸷骘蛭踬郅觯
zhong1 中终钟忠衷锺盅忪螽舯
zhong2 种
zhong3 种肿踵冢
zhong4 中种重众仲
zhou1 周州洲粥舟诌啁
zhou2 轴妯碡
zhou3 肘帚
zhou4 皱骤轴宙咒昼胄纣绉荮籀繇酎
zhu1 诸朱珠猪株蛛洙诛铢茱邾潴槠橥侏
zhu2 术逐筑竹烛躅竺舳瘃主
zhu3 主属煮嘱瞩拄褚渚麈
zhu4 住注助著驻祝筑柱铸伫贮箸炷蛀杼翥苎疰
zhua1 抓挝
zhua3 爪
zhuai1 拽
zhuai3 拽
zhuai4 拽
zhuan1 专砖颛
zhuan3 转
zhuan4 传转赚撰沌篆啭馔
zhuang1 装庄妆桩
zhuang3 奘
zhuang4 状壮撞幢僮戆壵
zhui1 追锥隹椎骓
zhui4 坠缀赘惴缒
zhun1 屯谆肫窀
zhun3 准
zhuo1 桌捉卓拙涿焯倬
zhuo2 着著琢缴灼酌浊濯茁啄斫镯诼禚擢浞卓
zi1 资咨滋仔姿吱兹孜谘呲龇锱辎淄髭赀孳粢趑觜訾缁鲻嵫
zi3 子紫仔梓姊籽滓秭笫耔茈訾
zi4 自字渍恣眦
zong1 宗踪综棕鬃枞腙
zong3 总偬
zong4 纵粽
zou1 邹诹陬鄹驺鲰
zou3 走
zou4 奏揍
zu1 租菹
zu2 足族卒镞祖组
zu3 组祖阻诅俎
zuan1 钻躜
zuan3 纂缵
zuan4 赚钻攥
zui1 堆
zui3 嘴咀觜
zui4 最罪醉蕞
zun1 尊遵樽鳟
zun3 撙
zuo1 作嘬
zuo2 作昨琢笮左
zuo3 左佐撮
zuo4 作做坐座怍胙阼唑祚
zi5 子
ge5 个歌
gu5 顾咕
biao2 表
sha2 啥
er5 儿
fan5 烦
tou5 头
jing2 井
ji5 记计疾积
guo5 过
zhi5 置质制指脂
niao2 袅
xi5 息系
ying5 蝇盈
jing5 睛
liang5 量亮粮粱
mou3 某
shan2 闪
lang5 朗
fen5 分
xiong5 兄
bu5 不部
hou5 候侯
ben2 本
zong2 总
tai5 太
mou2 谋牟眸缪
lai5 来
niang5 娘
jian2 减柬
you5 友
guan2 管馆
yue5 月
diao5 掉
wu5 物务
xing5 猩
bing5 病饼
ruo5 弱
mu2 亩母
zuo5 坐做
chui5 吹
yun5 晕
nve4 疟虐
qie2 茄伽
zui2 嘴
rong5 溶
mei5 妹
kan5 看
kao2 考
he5 合
sheng5 生
yang5 鸯扬阳
cheng5 诚
lv2 驴榈旅侣
dai5 袋待
jin2 紧
yao5 药
wang5 望枉王
jiu2 九
jun3 菌
gei2 给
zheng2 整
nao5 闹
gun2 滚
tong5 同筒
dian2 点典
gui2 鬼
bei2 北
tao5 桃
lia2 俩
yi5 易议一意义
shen5 神
ling5 龄
weng5 嗡
qi5 气
qin5 亲
nai2 奶
heng5 哼
nv2 女
ju5 矩
ye5 爷
mian5 面
rou5 柔
qia5 恰
pie2 撇
guang2 广
ka2 卡
ken2 恳
si2 死
dang2 党
yu5 育裕
wo5 窝
deng2 等
fa5 发
po5 婆
kong2 孔
zhen2 诊
gai2 改
pin5 频
wan5 玩
jiang2 讲奖
nai5 奶耐
mu5 目
shun5 顺
ne4 讷呐
dao5 到
nuan2 暖
piao5 飘
su5 诉
nang5 囊
long5 咙
zhu5 住
pian5 片
yong5 用
ou2 偶
hu5 乎
zou2 走
bai5 白
zhang2 长
bang2 榜
zhan2 展
huo5 活火
tie2 铁
du5 度
zhuan2 转
chou5 酬
gan5 杆
sou5 嗽
hai5 害
jiong2 炯
jiu5 舅
duo5 朵
o1 噢喔
niu1 妞
sai5 噻
pou2 锫
================================================
FILE: download_default_datalist.py
================================================
# !/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2016-2099 Ailemon.net
#
# This file is part of ASRT Speech Recognition Tool.
#
# ASRT is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# ASRT is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with ASRT. If not, see <https://www.gnu.org/licenses/>.
# ============================================================================
"""
@author: nl8590687
用于下载ASRT语音识别系统声学模型训练默认用的数据集列表程序
"""
import os
import logging
import json
import requests
import zipfile
logging.basicConfig(
format='%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s',
level=logging.INFO)
DEFAULT_DATALIST_PATH = 'datalist/'
if not os.path.exists(DEFAULT_DATALIST_PATH):
os.makedirs(DEFAULT_DATALIST_PATH)
URL_DATALIST_INDEX = "https://d.ailemon.net/asrt_assets/datalist/index.json"
rsp_index = requests.get(URL_DATALIST_INDEX)
rsp_index.encoding = 'utf-8'
if rsp_index.ok:
logging.info('Has connected to ailemon\'s download server...')
else:
logging.error('%s%s', 'Can not connected to ailemon\'s download server.',
'please check your network connection.')
index_json = json.loads(rsp_index.text)
if index_json['status_code'] != 200:
raise Exception(index_json['status_message'])
body = index_json['body']
logging.info('start to download datalist from ailemon\'s download server...')
url_prefix = body['url_prefix']
for i in range(len(body['datalist'])):
print(i, body['datalist'][i]['name'])
print(len(body['datalist']), 'all datalist')
num = input('Please choose which you select: (default all)')
if len(num) == 0:
num = len(body['datalist'])
else:
num = int(num)
def deal_download(datalist_item, url_prefix_str, datalist_path):
"""
to deal datalist file download
"""
logging.info('%s%s', 'start to download datalist ', datalist_item['name'])
save_path = datalist_path
if not os.path.exists(save_path):
os.makedirs(save_path)
logging.info('%s`%s`', 'Created directory ', save_path)
zipfilename = datalist_item['zipfile']
tmp_url = url_prefix_str + zipfilename
save_filename = os.path.join(save_path, zipfilename)
rsp = requests.get(tmp_url)
with open(save_filename, "wb") as file_pointer:
file_pointer.write(rsp.content)
if rsp.ok:
logging.info('%s `%s` %s', 'Download', zipfilename, 'complete')
else:
logging.error('%s%s%s%s%s', 'Can not download ', zipfilename,
' from ailemon\'s download server. ',
'http status ok is ', str(rsp.ok))
f = zipfile.ZipFile(save_filename, 'r') # 压缩文件位置
f.extractall(save_path)
f.close()
logging.info('%s `%s` %s', 'unzip', zipfilename, 'complete')
if num == len(body['datalist']):
for i in range(len(body['datalist'])):
deal_download(body['datalist'][i], body['url_prefix'], DEFAULT_DATALIST_PATH)
else:
deal_download(body['datalist'][num], body['url_prefix'], DEFAULT_DATALIST_PATH)
logging.info('%s%s%s', 'Datalist files download complete. ',
'Please remember to download these datasets from ',
body['dataset_download_page_url'])
================================================
FILE: evaluate_speech_model.py
================================================
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2016-2099 Ailemon.net
#
# This file is part of ASRT Speech Recognition Tool.
#
# ASRT is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# ASRT is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with ASRT. If not, see <https://www.gnu.org/licenses/>.
# ============================================================================
"""
@author: nl8590687
用于测试语音识别系统语音模型的程序
"""
import os
from speech_model import ModelSpeech
from model_zoo.speech_model.keras_backend import SpeechModel251BN
from data_loader import DataLoader
from speech_features import Spectrogram
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
AUDIO_LENGTH = 1600
AUDIO_FEATURE_LENGTH = 200
CHANNELS = 1
# 默认输出的拼音的表示大小是1428,即1427个拼音+1个空白块
OUTPUT_SIZE = 1428
sm251bn = SpeechModel251BN(
input_shape=(AUDIO_LENGTH, AUDIO_FEATURE_LENGTH, CHANNELS),
output_size=OUTPUT_SIZE
)
feat = Spectrogram()
evalue_data = DataLoader('dev')
ms = ModelSpeech(sm251bn, feat, max_label_length=64)
ms.load_model('save_models/' + sm251bn.get_model_name() + '.model.h5')
ms.evaluate_model(data_loader=evalue_data, data_count=-1,
out_report=True, show_ratio=True, show_per_step=100)
================================================
FILE: language_model3.py
================================================
# !/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2016-2099 Ailemon.net
#
# This file is part of ASRT Speech Recognition Tool.
#
# ASRT is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# ASRT is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with ASRT. If not, see <https://www.gnu.org/licenses/>.
# ============================================================================
"""
@author: nl8590687
ASRT语音识别的语言模型
基于N-Gram的语言模型
"""
import os
from utils.ops import get_symbol_dict, get_language_model
class ModelLanguage:
"""
ASRT专用N-Gram语言模型
"""
def __init__(self, model_path: str):
self.model_path = model_path
self.dict_pinyin = dict()
self.model1 = dict()
self.model2 = dict()
def load_model(self):
"""
加载N-Gram语言模型到内存
"""
self.dict_pinyin = get_symbol_dict('dict.txt')
self.model1 = get_language_model(os.path.join(self.model_path, 'language_model1.txt'))
self.model2 = get_language_model(os.path.join(self.model_path, 'language_model2.txt'))
model = (self.dict_pinyin, self.model1, self.model2)
return model
def pinyin_to_text(self, list_pinyin: list, beam_size: int = 100) -> str:
"""
拼音转文本,一次性取得全部结果
"""
result = list()
tmp_result_last = list()
for item_pinyin in list_pinyin:
tmp_result = self.pinyin_stream_decode(tmp_result_last, item_pinyin, beam_size)
if len(tmp_result) == 0 and len(tmp_result_last) > 0:
result.append(tmp_result_last[0][0])
tmp_result = self.pinyin_stream_decode([], item_pinyin, beam_size)
if len(tmp_result) > 0:
result.append(tmp_result[0][0])
tmp_result = []
tmp_result_last = tmp_result
if len(tmp_result_last) > 0:
result.append(tmp_result_last[0][0])
return ''.join(result)
def pinyin_stream_decode(self, temple_result: list,
item_pinyin: str,
beam_size: int = 100) -> list:
"""
拼音流式解码,逐字转换,每次返回中间结果
"""
# 如果这个拼音不在汉语拼音字典里的话,直接返回空列表,不做decode
if item_pinyin not in self.dict_pinyin:
return []
# 获取拼音下属的字的列表,cur_words包含了该拼音对应的所有的字
cur_words = self.dict_pinyin[item_pinyin]
# 第一个字做初始处理
if len(temple_result) == 0:
lst_result = list()
for word in cur_words:
# 添加该字到可能的句子列表,设置初始概率为1.0
lst_result.append([word, 1.0])
return lst_result
# 开始处理已经至少有一个字的中间结果情况
new_result = list()
for sequence in temple_result:
for cur_word in cur_words:
# 得到2-gram的汉字子序列
tuple2_word = sequence[0][-1] + cur_word
if tuple2_word not in self.model2:
# 如果2-gram子序列不存在
continue
# 计算状态转移概率
prob_origin = sequence[1] # 原始概率
count_two_word = float(self.model2[tuple2_word]) # 二字频数
count_one_word = float(self.model1[tuple2_word[-2]]) # 单字频数
cur_probility = prob_origin * count_two_word / count_one_word
new_result.append([sequence[0] + cur_word, cur_probility])
new_result = sorted(new_result, key=lambda x: x[1], reverse=True)
if len(new_result) > beam_size:
return new_result[0:beam_size]
return new_result
if __name__ == '__main__':
ml = ModelLanguage('model_language')
ml.load_model()
_str_pinyin = ['zhe4', 'zhen1', 'shi4', 'ji2', 'hao3', 'de5']
_RESULT = ml.pinyin_to_text(_str_pinyin)
print('语音转文字结果:\n', _RESULT)
================================================
FILE: model_language/language_model1.txt
================================================
3941753
的 213994
一 72404
是 69047
在 63563
不 61699
了 60856
有 59005
人 52706
中 52005
国 50797
我 48825
大 45439
上 39507
年 37962
为 35373
日 34764
和 34386
个 33555
你 32699
网 31057
这 30804
会 30280
新 30104
来 29692
时 29282
公 28564
发 28408
以 28300
生 27753
要 27273
业 27124
行 26852
出 26498
到 26489
能 25061
对 24333
下 23178
作 23163
家 23126
就 22752
可 22633
成 22287
用 22093
们 21609
信 21375
分 21249
多 21249
后 21091
月 20948
经 20808
于 20536
方 20097
动 20036
市 20010
者 19994
也 19903
全 19557
地 19486
学 19286
天 18970
过 18839
现 18730
他 18655
机 18457
好 18418
本 18266
报 18105
进 17950
自 17942
都 17939
| 17935
高 17912
考 17686
还 17516
场 17343
前 17327
体 17173
开 17170
车 17162
子 16765
关 16739
面 16739
最 16319
务 16141
去 16139
将 16101
力 15732
得 15534
金 15473
看 15460
电 15372
合 15351
说 15327
点 15278
资 15195
主 15175
小 15141
工 15051
部 14941
实 14817
产 14750
与 14722
司 14679
美 14551
手 14526
品 14454
比 14444
游 14057
加 14056
同 14040
而 13944
内 13931
之 13826
等 13818
联 13778
明 13741
长 13699
定 13485
法 13367
事 13354
所 13284
外 13221
理 13216
心 13150
通 13094
区 13081
文 12982
球 12976
备 12972
赛 12781
其 12732
里 12593
台 12491
没 12463
重 12370
那 12343
表 12286
道 12273
化 12249
名 12236
军 12147
期 12100
安 12079
目 12054
间 11882
海 11878
准 11769
试 11729
更 11725
第 11653
提 11624
么 11623
入 11588
万 11519
员 11509
次 11448
如 11405
民 11400
数 11353
系 11349
度 11080
院 10887
展 10865
建 10850
三 10848
元 10808
位 10720
保 10648
政 10645
平 10633
计 10538
服 10500
相 10466
起 10399
限 10343
意 10213
及 10148
性 10049
广 10041
两 10021
情 10013
当 9828
号 9805
女 9802
传 9801
息 9782
线 9724
从 9714
制 9665
北 9578
利 9571
题 9556
交 9556
任 9510
但 9471
京 9438
特 9422
二 9378
证 9330
打 9320
队 9313
很 9282
西 9218
着 9217
已 9209
然 9193
量 9191
正 9172
或 9046
据 9041
此 9017
版 8996
并 8969
视 8946
老 8925
战 8923
科 8909
价 8898
给 8861
设 8737
黄 8733
今 8657
示 8566
水 8560
被 8552
站 8549
无 8522
许 8468
式 8438
总 8416
果 8384
记 8343
单 8342
权 8297
东 8284
推 8258
专 8242
商 8237
因 8203
身 8163
强 8158
约 8129
应 8116
想 8075
图 8070
问 7972
省 7948
影 7893
路 7884
代 7858
投 7837
让 7833
基 7770
管 7766
导 7726
戏 7705
托 7679
做 7679
南 7668
儿 7627
技 7613
回 7602
群 7556
活 7544
样 7516
布 7454
友 7447
华 7413
解 7396
收 7390
接 7378
告 7360
件 7343
型 7341
首 7269
知 7246
注 7218
卡 7218
些 7215
消 7175
创 7168
玩 7168
参 7162
马 7152
持 7149
际 7104
级 7079
师 7070
增 7069
物 7059
房 7049
选 7039
门 6997
格 6970
种 6965
近 6926
直 6892
乐 6857
责 6852
股 6847
别 6831
调 6829
英 6813
户 6780
城 6768
教 6742
向 6726
标 6701
运 6681
各 6676
育 6667
达 6656
程 6641
至 6622
费 6600
局 6585
尔 6568
常 6562
社 6560
色 6516
话 6472
斯 6467
受 6434
周 6430
原 6417
山 6381
立 6379
微 6368
结 6365
转 6330
世 6323
界 6304
项 6287
少 6227
造 6211
统 6208
医 6202
感 6201
只 6189
领 6183
片 6162
张 6162
需 6152
啊 6129
款 6114
源 6101
均 6065
气 6062
带 6059
指 6047
买 6043
己 6032
风 6018
真 6007
认 5981
购 5975
研 5973
雪 5944
论 5921
放 5885
节 5867
复 5846
超 5846
查 5825
取 5776
规 5761
容 5734
该 5715
十 5714
空 5713
江 5711
求 5684
她 5675
头 5656
由 5649
再 5636
观 5622
术 5610
完 5606
招 5590
快 5585
亚 5582
深 5553
职 5551
组 5543
请 5524
把 5512
热 5481
处 5461
营 5455
星 5444
流 5436
未 5433
改 5430
演 5427
办 5418
先 5413
怀 5412
类 5378
州 5378
质 5369
变 5362
口 5355
吗 5346
易 5289
使 5270
才 5259
预 5249
排 5236
客 5223
永 5221
四 5211
续 5201
供 5184
闻 5177
济 5177
共 5175
众 5165
爱 5159
男 5158
支 5157
整 5157
配 5131
精 5107
播 5088
光 5074
讯 5065
企 5058
称 4990
每 4967
非 4940
宣 4929
圈 4925
什 4887
王 4885
值 4861
速 4840
太 4832
互 4812
红 4758
包 4749
升 4739
何 4738
集 4737
亿 4736
份 4736
德 4722
校 4718
确 4705
优 4702
团 4693
宝 4688
吧 4656
几 4638
足 4633
云 4627
媒 4611
装 4599
博 4598
拉 4566
娃 4557
远 4551
又 4548
议 4523
击 4502
财 4470
案 4462
允 4459
融 4418
条 4414
翁 4409
始 4385
显 4359
见 4336
词 4334
李 4314
克 4309
载 4305
获 4281
编 4277
声 4273
步 4270
决 4262
花 4248
环 4240
势 4238
较 4236
率 4232
牌 4226
具 4219
难 4148
委 4131
评 4130
银 4128
功 4122
住 4114
愿 4114
置 4087
效 4086
神 4068
剧 4056
录 4051
富 4042
究 4037
防 4012
官 4004
林 4001
引 3999
举 3991
细 3988
书 3986
警 3980
走 3961
兄 3960
构 3942
五 3937
反 3935
低 3926
态 3919
享 3909
连 3895
春 3893
维 3888
普 3875
治 3844
白 3831
照 3826
销 3815
险 3810
策 3781
季 3771
像 3769
听 3763
助 3760
况 3754
士 3734
验 3733
望 3726
器 3724
且 3721
划 3710
清 3700
边 3700
监 3683
识 3670
形 3654
吃 3636
百 3632
候 3618
跟 3618
佳 3600
习 3598
频 3594
随 3578
络 3562
护 3549
模 3531
晚 3521
施 3499
觉 3491
测 3455
仅 3447
呢 3443
段 3436
域 3413
越 3408
则 3405
字 3400
即 3391
奖 3386
料 3386
航 3385
历 3354
健 3352
湾 3347
龙 3347
党 3342
盖 3342
双 3337
福 3322
汽 3304
律 3275
养 3275
宁 3275
朋 3255
售 3254
协 3238
米 3222
它 3214
范 3209
音 3209
读 3208
青 3195
核 3184
欢 3165
府 3151
失 3142
河 3140
采 3134
算 3133
页 3120
阳 3114
奥 3113
弟 3111
负 3110
智 3097
班 3093
存 3082
罗 3074
控 3050
火 3048
响 3045
言 3031
苏 3030
拥 3027
致 3025
找 3022
落 3010
除 2997
某 2996
列 2987
哪 2976
简 2974
钱 2972
终 2970
根 2967
食 2959
港 2954
巴 2953
语 2952
益 2947
刚 2946
怎 2937
紧 2931
念 2926
勇 2923
干 2918
旅 2908
检 2901
介 2900
景 2894
极 2893
早 2886
争 2868
拍 2855
满 2832
座 2831
练 2828
歌 2825
依 2820
疑 2798
雄 2792
离 2790
思 2786
喜 2778
村 2769
底 2768
韩 2763
必 2762
登 2747
缺 2747
志 2740
盘 2736
胸 2736
素 2733
象 2723
训 2721
帮 2715
竞 2712
角 2712
积 2709
板 2707
付 2706
免 2703
希 2703
境 2690
聘 2686
冠 2682
农 2678
属 2678
半 2678
端 2669
波 2649
眼 2639
详 2633
飞 2627
店 2621
妈 2616
破 2614
卫 2599
孩 2595
稳 2590
园 2589
康 2581
断 2580
陆 2579
审 2578
往 2575
便 2575
阿 2575
陈 2569
绩 2568
初 2564
降 2561
按 2555
轻 2541
够 2541
床 2539
材 2538
居 2533
却 2531
继 2529
套 2518
刘 2512
县 2506
君 2501
甲 2498
岁 2495
减 2480
扫 2477
黑 2472
欧 2467
亲 2464
死 2463
拿 2461
严 2456
香 2448
访 2437
浪 2434
批 2430
适 2426
送 2424
独 2418
例 2416
码 2404
石 2402
违 2393
讲 2389
胜 2387
婚 2375
病 2370
纪 2369
充 2366
择 2345
辞 2337
曾 2336
留 2336
补 2336
略 2334
章 2329
围 2326
命 2321
攻 2316
彩 2309
层 2307
票 2306
叫 2304
届 2302
阅 2299
移 2298
承 2293
轮 2286
签 2284
辑 2282
义 2282
换 2279
艺 2258
哈 2254
熊 2252
含 2249
占 2249
奇 2249
否 2246
兰 2228
母 2224
千 2222
短 2208
突 2204
担 2189
货 2180
尼 2176
额 2175
杨 2175
左 2170
铁 2170
史 2164
丽 2162
迎 2152
古 2151
课 2149
牙 2136
荐 2135
午 2131
油 2129
腾 2128
滑 2128
血 2127
皮 2127
孕 2126
察 2114
询 2110
谈 2095
副 2094
穿 2091
钟 2084
威 2084
泳 2083
币 2082
错 2081
待 2077
另 2076
湖 2074
洲 2068
爆 2067
药 2063
衣 2063
尽 2058
良 2058
背 2058
哥 2056
楼 2049
武 2049
印 2048
兴 2044
索 2037
税 2027
密 2020
临 2020
坛 2017
松 2017
您 2017
写 2016
止 2001
键 2000
诉 1999
画 1996
状 1992
执 1989
耍 1987
姐 1986
冰 1983
切 1981
雅 1978
亮 1977
余 1963
睡 1959
停 1958
温 1952
粉 1949
差 1947
八 1944
雷 1941
跑 1932
织 1931
室 1931
申 1928
启 1923
涨 1921
坚 1921
综 1916
丝 1916
庆 1901
括 1900
夫 1898
酒 1891
追 1889
久 1889
笔 1888
假 1886
虽 1883
革 1882
秀 1881
岛 1876
弹 1867
础 1864
土 1864
搭 1861
汇 1861
培 1855
析 1846
幅 1845
答 1838
邮 1830
皇 1824
朗 1817
族 1817
故 1800
伤 1796
善 1782
须 1774
席 1770
压 1768
授 1767
券 1766
贸 1763
盟 1757
镇 1757
退 1757
谁 1749
迷 1736
右 1725
绝 1723
露 1722
藏 1719
鱼 1718
修 1717
贷 1709
妹 1708
订 1706
激 1699
似 1698
街 1698
迪 1693
贵 1691
纳 1684
陪 1681
沙 1673
卖 1672
遇 1661
挑 1658
川 1657
央 1651
六 1637
射 1631
探 1627
仍 1617
舰 1612
悉 1601
礼 1599
梦 1592
丰 1579
娱 1575
吸 1561
曲 1559
疗 1555
夏 1549
牛 1546
摄 1543
述 1538
库 1534
损 1531
尚 1530
篮 1524
杀 1522
令 1521
裙 1519
惠 1509
庭 1508
箱 1508
津 1507
婆 1506
刷 1503
竟 1501
木 1501
啦 1494
脑 1492
绍 1488
障 1485
典 1479
穷 1479
榜 1478
禁 1478
输 1476
靠 1476
荣 1476
潜 1472
毕 1471
署 1462
透 1462
梅 1456
判 1455
倍 1446
派 1442
峰 1438
困 1437
绿 1436
娟 1430
秘 1427
伦 1426
谷 1423
灵 1422
乡 1417
诺 1414
巨 1409
幕 1403
味 1402
跌 1401
鸡 1401
七 1397
谢 1395
鲁 1394
摸 1385
雨 1384
蛋 1381
夜 1378
熟 1376
森 1375
涉 1371
顾 1368
泰 1366
册 1358
镜 1355
昨 1353
借 1350
脸 1350
苹 1343
萨 1343
暴 1331
附 1330
毛 1328
链 1327
顺 1327
馆 1327
抱 1326
唱 1323
澳 1318
督 1318
贝 1317
笑 1316
扩 1314
倒 1314
厅 1313
蓝 1312
害 1311
哦 1310
舞 1307
守 1306
寻 1306
田 1304
匀 1302
逐 1299
兵 1297
聚 1296
救 1292
汉 1287
辆 1286
征 1279
阵 1270
浙 1268
洋 1268
甚 1267
菜 1263
阶 1262
恐 1261
概 1259
滚 1258
驾 1256
趣 1255
促 1253
块 1251
厂 1246
卷 1236
赵 1234
肉 1233
览 1232
魔 1232
盛 1228
乖 1228
顶 1227
搜 1223
乎 1221
冲 1221
抓 1221
途 1219
诚 1217
侧 1215
旗 1209
润 1207
归 1202
袭 1197
针 1195
狂 1195
童 1193
脚 1190
贴 1188
延 1186
惊 1186
挂 1186
架 1186
岸 1185
异 1185
隐 1183
序 1180
毒 1176
刻 1173
伴 1172
操 1165
嘛 1161
般 1160
肥 1159
赶 1159
朝 1154
耳 1153
休 1151
呼 1149
伟 1149
估 1148
颜 1147
稿 1145
杯 1145
饭 1141
晓 1135
斗 1133
俄 1124
啥 1122
翻 1119
予 1118
急 1118
抗 1118
呀 1114
鲜 1113
坐 1110
塞 1109
妇 1108
剂 1104
轩 1098
屏 1095
九 1094
豪 1092
献 1091
掉 1091
吴 1090
野 1087
恩 1087
尤 1086
挥 1084
瑞 1075
疆 1070
旧 1070
曼 1067
址 1065
篇 1063
遭 1058
赞 1058
聊 1057
静 1053
距 1050
句 1050
跳 1049
净 1047
硬 1044
剑 1043
犯 1042
截 1040
若 1040
努 1038
伙 1036
饰 1031
抢 1029
软 1028
幻 1021
淮 1018
捐 1017
肯 1015
描 1014
慢 1014
齐 1012
束 1006
船 1001
辽 1000
凡 999
父 999
赢 996
败 994
嘉 994
虑 993
脱 993
帅 993
累 991
幸 989
塔 986
援 984
封 982
徐 982
怕 980
符 976
孙 975
梁 972
扬 970
敏 967
裁 966
零 966
吉 963
草 961
措 959
贫 959
龄 957
痛 957
纸 950
洗 946
曝 945
患 944
映 940
筑 938
危 934
讨 934
赏 933
猫 932
冤 932
罪 927
堂 924
窗 922
沉 922
丹 921
凤 921
励 917
咨 913
偏 911
宽 911
亡 910
罚 909
敢 908
召 907
拟 903
纷 896
伊 895
莱 891
胡 891
递 881
蒙 881
乱 881
驶 880
嗡 878
肤 876
震 869
兽 867
冷 866
圳 863
蒂 861
刺 861
磁 860
锋 859
夺 858
巡 858
著 857
释 854
惹 849
储 845
肌 838
杰 837
厦 835
奶 833
固 832
宗 831
账 829
琼 829
烈 827
恋 827
霞 826
渐 824
宏 824
仪 819
暗 818
赚 817
桥 816
沃 815
跃 815
纯 815
捷 814
侠 814
跨 813
敦 813
慈 813
档 812
醒 811
艇 809
餐 809
舒 809
坏 809
胎 808
丁 807
遗 805
怪 803
喝 803
趋 802
触 800
避 799
莫 799
私 797
弱 796
焦 795
沿 795
掌 795
劳 789
辣 787
折 786
慧 786
凶 785
宜 782
握 780
覆 780
鼓 779
末 778
摩 778
苦 778
爸 777
租 776
宇 775
潮 774
郑 773
树 772
刊 770
玉 770
弃 769
迅 768
骗 765
忘 765
蔡 763
锦 762
枉 759
歪 757
嫌 756
灯 756
刀 752
邀 751
既 751
暖 751
污 749
桃 748
误 748
搞 748
宅 746
吻 745
夹 740
硕 734
勒 734
俊 733
饮 732
遍 732
戴 731
凯 731
鞋 730
酷 729
洛 727
宫 726
债 725
暂 725
耀 725
秒 724
沈 722
拜 722
董 721
漫 721
萌 721
扶 720
染 720
恒 718
爽 717
劲 715
唯 715
虎 713
腿 712
狗 711
懂 710
冒 709
辅 708
钢 708
散 703
岗 702
菲 702
欣 700
唐 700
撞 699
煤 699
驱 698
寸 694
甩 693
杂 692
甘 691
尊 689
猪 689
纽 688
摔 687
呈 685
横 685
籍 685
晨 685
扯 685
顿 684
池 682
渠 680
祝 680
枪 678
锁 677
麻 677
杆 676
凭 676
庄 676
抽 675
姆 670
衡 670
宾 668
偶 665
秦 665
畅 664
忙 664
疾 663
坦 662
缘 658
驻 656
茨 656
仁 655
豆 652
虚 650
屋 650
泽 649
厚 647
混 647
兼 646
拐 640
拆 639
洁 639
替 638
残 638
艾 637
甜 636
填 635
纺 634
圆 632
瓷 631
挺 630
杭 629
募 628
糖 628
壁 625
瓦 622
茶 620
骑 619
浏 618
仙 618
默 613
缓 612
麦 612
幼 611
阴 611
妻 610
泛 609
楚 609
俱 607
扣 607
珠 606
仔 606
骨 605
辉 605
绕 604
忍 604
郭 604
拼 602
卓 599
琳 597
晋 595
冬 595
敌 594
恶 593
症 591
瓜 589
沟 588
妆 586
携 585
筹 585
奔 585
磊 583
羊 583
缩 582
贯 582
淘 581
谓 578
巧 578
圣 578
帝 578
紫 577
烟 577
盗 575
羽 575
洪 575
佛 573
娜 573
逼 572
彻 571
赴 570
炫 570
返 569
摆 569
姓 568
矿 567
猛 565
尾 565
叶 565
朱 563
娘 563
徽 562
酸 561
役 560
撑 560
哭 560
拓 559
霸 559
炮 559
淡 558
悬 557
勤 557
乘 556
揭 556
剩 554
坡 551
佩 550
隔 549
乔 548
烧 548
刑 546
挖 545
诗 545
乌 542
闲 542
宋 540
颖 538
逆 537
阻 533
眠 531
扎 530
闭 529
忠 529
塑 528
迹 528
秋 524
殊 521
艳 521
葛 521
伍 518
疯 518
缴 517
忆 517
锐 515
珍 515
怖 514
侵 512
陕 511
墨 511
乏 511
抵 507
倾 507
凰 506
拔 505
匹 504
液 504
杜 503
泉 501
拒 500
毫 498
逻 498
涌 495
媛 494
燃 493
繁 493
碰 493
添 492
欲 490
誉 489
植 488
迁 484
寒 484
耗 484
桂 484
鬼 484
框 483
伯 483
胃 481
炸 481
黎 481
押 480
洞 479
嘴 478
奋 476
渔 476
墙 476
唤 475
陷 475
惨 474
径 473
宿 473
弄 473
践 472
晒 472
舍 472
摘 470
奏 470
劝 470
呵 470
湿 469
瓶 469
旋 469
峡 469
鹏 468
吐 466
敬 466
肃 465
贡 465
隆 464
偿 462
爷 462
衰 459
赖 457
耐 455
惯 453
偷 453
振 452
赔 452
尝 451
愉 451
沪 450
轨 450
彭 450
荡 449
孔 449
乳 448
迈 447
涯 447
诊 445
旬 445
鳌 442
玛 442
昌 442
祥 441
凌 440
寿 439
诸 439
裤 439
浮 437
滨 435
喊 435
柱 434
滴 434
旦 433
鉴 433
咱 433
苑 433
稍 432
昆 432
逊 431
弗 430
俗 430
栏 430
胖 430
挡 429
悦 429
胞 428
怨 428
睛 426
圾 423
冯 423
垃 422
贺 421
芳 420
轿 418
疫 418
吨 417
闹 417
俩 417
庸 414
渴 414
壮 413
煌 413
尺 412
撒 412
柔 412
盈 410
扰 410
盾 409
炉 408
脂 407
浦 407
瘦 407
磨 407
亦 406
帕 404
斤 404
穆 403
汤 403
旁 403
浓 402
貌 401
肖 398
燕 398
涛 398
琴 398
辛 397
陶 397
涵 395
柳 395
拦 394
番 393
烦 393
掘 390
踪 389
尖 389
剪 389
驰 388
捕 388
扮 387
傅 387
豹 386
哲 386
梯 386
惜 386
亏 385
咋 383
幂 382
炼 382
溪 382
薄 381
踢 381
泡 381
拖 380
削 380
祖 379
嗯 379
脏 376
卢 376
迟 376
桌 376
雾 375
循 375
辖 374
埃 373
邦 373
薪 372
昂 372
披 371
蒋 371
晶 371
渊 371
艘 369
魅 369
蜜 369
袖 368
婷 368
绪 367
翘 366
毁 366
兹 364
酱 364
芯 363
踏 363
纹 360
恢 359
械 359
粮 359
姿 358
翔 358
卦 357
姚 357
胶 357
奉 355
婴 354
臀 352
苗 352
诀 350
纲 350
鸣 350
谋 349
逃 349
胆 348
灭 348
霍 347
胁 346
憾 344
桑 342
媳 342
熏 342
戈 341
浩 341
猎 340
忧 340
垫 340
拨 338
孤 337
摇 335
矩 334
柴 334
扑 334
拳 334
逸 334
辈 334
抹 334
廉 333
鹿 332
侦 331
歉 331
蹲 331
粤 330
腹 330
铺 330
扭 329
骂 329
伸 328
牢 327
翼 327
爪 327
荒 326
玲 326
腐 325
仓 325
寨 324
咖 323
漏 323
插 323
眉 323
仿 322
译 322
契 322
泥 322
兑 321
牵 320
喷 319
醉 319
肝 318
腰 318
傻 318
薛 318
纠 317
肩 317
棒 316
辰 315
朵 315
呗 315
姻 313
糕 311
劣 309
闽 309
忽 308
诈 307
凉 307
柯 306
旺 306
岩 306
氧 305
膜 305
躺 305
毅 302
鸿 302
遵 301
鸟 301
吓 300
骅 300
骷 299
髅 299
噢 299
癌 298
魂 298
槽 298
潘 297
漂 297
炒 296
袋 296
盒 295
灰 295
馈 294
撕 294
贾 294
斌 294
狮 293
伪 293
戒 293
井 292
狼 292
δ 291
? 291
耶 291
莲 291
廷 290
丢 290
翎 289
吊 289
欠 289
? 288
碑 288
颗 288
? 287
? 287
? 287
寄 287
琪 287
勋 287
帐 286
丸 286
废 286
疼 286
箭 285
瞬 285
姑 285
晖 284
谱 284
蓉 284
坑 284
蕾 283
稀 283
猜 283
? 282
? 282
? 282
樱 282
郎 282
疏 281
轴 281
? 280
? 280
怒 280
铭 279
吹 279
? 278
莞 278
乒 277
慎 277
颇 276
赠 276
玻 275
椅 274
裂 272
锅 272
碧 272
奠 271
厉 271
芒 271
萱 271
凄 269
赫 269
颁 269
御 269
尘 269
脉 269
聪 268
鑫 268
谣 267
绑 267
齿 267
狐 266
弯 266
镑 265
纤 265
闪 265
搬 265
毙 264
鼎 264
肚 264
彼 263
璃 262
廊 261
碎 261
堆 261
涂 261
履 260
柜 260
钻 260
宴 259
灾 259
妙 259
乃 259
逛 259
昭 258
? 257
愈 257
蒸 257
鼻 257
× 256
? 256
? 256
倡 256
迫 256
姜 256
叔 256
衔 255
玄 255
茂 255
寡 255
? 254
牧 254
堪 254
挤 254
咯 254
? 253
贩 253
氛 253
墓 253
袁 253
嫁 253
? 252
旨 252
矛 252
荷 252
? 251
碍 251
贤 251
郁 251
脾 251
删 251
浅 250
滋 250
炭 250
? 249
? 249
? 249
徒 248
竹 248
莎 248
? 247
? 247
坊 247
擦 247
? 246
肺 246
堡 246
壳 246
莉 246
蛮 246
? 245
? 245
锡 245
盐 245
莹 245
寝 245
? 244
? 244
尬 244
串 244
? 243
尴 243
虫 243
卵 243
烂 243
傲 243
绘 242
铜 242
尿 242
? 241
冀 241
晰 241
轰 241
肠 241
阔 240
汗 240
溜 240
? 239
卧 239
芝 238
纱 238
÷ 237
? 237
逾 237
伏 237
恰 237
函 237
乙 237
杠 236
? 235
? 235
骏 235
滩 235
. 234
? 234
耕 234
汰 234
犹 234
斑 234
疲 234
饱 233
晴 232
? 231
? 231
Э 229
? 229
曹 229
? 228
辨 227
泪 227
粗 227
剖 226
魏 226
湘 226
肿 226
邓 226
腔 226
窃 225
艰 225
丈 225
赤 225
? 224
蔬 224
卜 224
袜 224
锻 224
膝 224
卿 223
抖 223
渡 223
庞 223
? 222
? 221
? 221
? 221
滤 221
诱 221
勾 221
勿 220
坎 220
娇 220
? 218
辩 218
孟 217
á 216
妨 216
纵 216
5 215
ж 215
绰 215
骁 215
舟 215
琦 215
棋 215
悲 215
? 214
捍 214
棬 214
伞 214
妖 214
? 213
渝 213
盲 213
栋 213
踩 213
夸 213
裸 213
窝 213
哎 213
? 212
? 212
抑 211
奢 211
侣 211
汪 211
砖 211
胀 210
岳 210
萝 210
遥 209
炎 209
? 208
? 208
? 208
惑 208
垂 208
缆 207
裹 207
懒 207
暨 206
雕 206
吵 206
粒 205
泄 205
呆 205
? 204
捧 204
捞 204
侨 204
柏 204
馨 204
缝 204
妮 204
爬 204
厌 204
? 203
~ 203
? 203
凑 203
瑜 203
瓮 203
? 202
? 202
绎 202
悄 202
霜 202
? 201
? 201
6 201
洽 201
殖 201
碳 201
? 200
豫 200
撤 200
冻 200
? 199
? 199
? 199
谨 199
绣 199
姨 199
? 198
? 198
? 198
匠 198
盆 198
? 197
? 197
? 197
绸 197
煮 197
帽 197
奈 196
骚 196
陌 196
浴 196
芽 196
? 195
珀 195
碗 195
慕 195
抄 195
3 194
? 194
霆 194
? 193
秩 193
枚 193
寺 193
铠 193
п 192
д 192
з 192
溢 192
伐 192
铃 192
剥 192
鸳 192
彰 191
梳 191
堵 191
斜 191
旭 191
к 190
诞 190
? 189
叹 189
凝 189
飬 188
? 188
罩 188
欺 188
? 187
? 187
霾 187
撼 187
臂 187
渤 187
? 186
? 186
? 186
乓 186
抛 186
? 185
? 185
? 185
? 185
菌 185
鹰 185
坤 185
逗 185
鸯 185
狱 184
赋 184
飘 184
哇 184
? 183
? 183
亩 183
枣 183
闯 183
腻 183
棉 182
怡 182
? 181
? 181
? 181
凸 181
淀 181
厨 181
谊 181
吕 181
? 180
邻 180
仇 180
? 179
? 179
岭 179
鼠 179
晕 179
? 178
? 178
? 178
骤 178
擅 178
? 177
拘 177
? 176
衍 176
钙 176
葡 176
? 175
沧 175
宠 175
蜂 175
? 174
▲ 174
贪 174
巅 173
爵 173
窄 173
塘 173
恨 173
4 172
萄 172
慰 172
抚 172
钧 172
辕 172
? 171
剃 171
卸 171
蓬 171
仲 171
椒 171
? 170
腕 170
鹅 170
? 169
涅 169
叙 169
耿 169
● 168
? 168
? 168
屡 168
叉 168
悠 168
侯 168
в 167
? 167
愤 167
攀 167
抬 167
刮 167
妥 167
厢 167
靴 167
阎 166
逢 166
尹 166
昏 166
? 165
舆 165
掀 165
棚 165
忌 165
皆 165
? 164
? 164
? 164
敖 164
仰 164
屈 164
? 163
? 163
? 163
狠 163
巩 162
薇 162
8 161
槛 161
瘤 161
滥 161
咪 161
舌 161
? 160
9 160
弊 160
烤 160
暑 160
? 159
? 159
宪 159
佐 159
泊 159
钓 159
ó 158
? 158
娴 158
睿 158
丑 158
衫 158
? 157
γ 157
м 157
蜀 157
翰 157
囊 157
绵 157
瑟 157
垮 157
? 156
㎡ 156
? 156
弥 156
? 155
擎 155
詹 155
劫 155
珊 155
陵 155
悔 155
茅 154
唇 154
鄂 154
幽 154
? 153
? 153
曦 153
萍 153
俺 153
? 152
彗 152
祸 152
? 151
? 151
钞 151
坞 151
敲 151
俏 151
仑 151
伽 151
帆 151
菠 151
? 150
睐 150
砍 150
尸 150
昔 150
咏 150
? 149
? 149
酬 149
丧 149
谐 149
啡 149
夕 149
澡 149
? 148
涡 148
挽 148
炅 148
虹 148
鸭 148
肾 148
咬 148
泼 148
「 147
」 147
Υ 147
? 147
吁 147
歼 147
橘 147
? 146
κ 146
и 146
顣 146
璧 146
崔 146
孝 146
淑 146
眷 146
н 145
? 145
б 145
谦 145
叠 145
兆 145
勃 145
嫩 145
猴 145
巾 145
? 144
? 144
? 144
弘 144
僵 144
阁 144
叵 144
? 143
? 143
? 143
? 143
筛 143
铝 143
祭 143
笼 143
膏 143
7 142
∶ 142
? 142
蚁 142
曙 142
蓄 142
氏 142
邱 142
蠢 142
菱 141
讼 141
汁 141
俑 141
? 140
肪 140
韦 140
挣 140
亭 140
谭 140
瑶 140
? 139
? 139
Χ 139
秉 139
蚂 139
惩 139
掏 139
灿 139
? 138
? 138
? 138
迄 138
? 138
陇 138
纬 138
螺 138
崖 138
怜 138
颠 137
辐 137
禽 137
? 136
? 136
薯 136
寓 136
慌 136
桶 136
帖 136
莓 136
瑕 136
? 135
① 135
? 135
? 134
澎 134
鹤 134
廖 134
饼 134
? 133
μ 133
ε 133
衷 133
裕 133
竭 133
兔 133
闷 133
? 132
→ 132
ο 132
谍 132
祺 132
崇 132
搏 132
愁 132
掩 132
屁 132
ú 131
堰 131
潇 131
喂 131
晃 131
烨 131
瞎 131
? 130
② 130
ù 130
扁 130
斥 130
斩 130
媚 130
糊 130
坪 130
遮 130
瘾 130
拾 130
爹 130
? 129
汛 129
磅 129
扳 129
侬 129
牺 129
醇 129
砸 129
缅 129
苍 129
菊 129
? 128
茵 128
惧 128
割 128
麟 128
盼 128
? 127
? 127
? 127
? 127
仗 127
溃 127
瑰 127
浆 127
哑 127
霉 127
嘿 127
? 126
? 126
桩 126
蹈 126
潭 126
捉 126
洒 126
饿 126
玫 126
哒 126
滞 125
枝 125
催 125
雯 125
? 124
? 124
坠 124
痕 124
渗 123
舱 123
筱 123
刹 123
沦 123
萧 123
趁 123
埋 123
? 122
厕 122
脖 122
哟 122
? 121
Ρ 121
? 121
? 121
栅 121
颈 121
宙 121
醋 121
蝶 121
踝 121
? 120
? 120
? 120
绽 120
佬 120
脆 120
埔 120
ζ 119
? 119
? 119
? 119
赁 119
葩 119
沫 119
狭 119
倩 119
雌 119
? 118
? 118
狄 118
蒜 118
湃 118
犀 118
冕 118
蛇 118
羡 118
窟 118
郅 117
溯 117
崛 117
厘 117
骄 117
熬 117
呱 117
? 116
? 116
? 116
嘲 116
芬 116
汹 116
? 115
? 115
? 115
髦 115
捂 115
罕 115
芭 115
绒 115
淋 115
捡 115
臭 115
芦 115
? 114
? 114
? 114
峻 114
糟 114
匙 114
摊 114
衬 114
熙 114
丘 114
ι 113
? 113
雇 113
茄 113
啤 113
闺 113
? 112
? 112
浸 112
飙 112
腺 112
呐 112
拌 112
搅 112
? 111
? 111
? 111
? 111
? 111
揽 111
镀 111
愧 111
咳 111
璐 111
楠 111
? 110
ɡ 110
吾 110
杉 110
锤 110
挫 110
巷 110
? 109
? 108
诠 108
朴 108
腊 108
禹 108
灌 108
? 107
? 107
磬 107
铲 107
辱 107
吞 107
葬 107
杏 107
悟 107
1 106
瞻 106
? 106
玥 106
粥 106
酮 106
贱 106
? 105
? 105
芃 105
拯 105
甸 105
枢 105
鞍 105
柿 105
澜 105
殿 105
闫 105
砂 105
誓 105
陨 105
? 104
? 104
e 104
罢 104
嗨 104
饥 104
? 103
? 103
? 103
? 103
? 103
郊 103
趟 103
? 102
? 102
遏 102
隧 102
肇 102
泌 102
淫 102
哗 102
? 101
? 101
o 101
? 101
? 101
慨 101
燥 101
缠 101
粘 101
躲 101
疵 101
? 100
匪 100
钩 100
钥 100
壤 100
缸 100
郫 99
← 99
? 99
? 99
? 99
③ 99
歧 99
郡 99
粹 99
旱 99
焰 99
崩 99
臣 99
哄 99
娶 99
茴 98
? 98
? 98
а 98
? 98
籁 98
姬 98
彤 98
寂 98
? 97
? 97
? 97
彦 97
恭 97
? 96
? 96
? 96
? 96
? 96
滮 96
垒 96
邪 96
扔 96
? 95
瞩 95
? 95
? 95
侈 95
巢 95
勘 95
? 94
蕴 94
菁 94
筋 94
沁 94
彬 94
翠 94
? 93
? 93
? 93
? 93
? 93
? 93
酿 93
壬 93
宸 93
咕 93
绷 93
龚 93
戚 93
俞 93
菇 93
兜 93
靓 92
沂 92
谎 92
迭 91
凹 91
瞄 91
贬 91
邵 91
霖 91
芸 91
? 90
¥ 90
祛 90
蔓 90
辟 90
噪 90
韵 90
殴 90
挨 90
贼 90
ò 89
? 89
俯 89
焕 89
壶 89
昕 89
栖 89
钦 89
躁 89
恼 89
蝴 89
驴 89
? 88
? 88
? 88
? 88
? 88
膳 88
蔚 88
橙 88
虐 88
葱 88
婉 88
喧 88
雍 88
? 87
? 87
? 87
恺 87
撰 87
瞒 87
撮 87
茫 87
跪 87
窦 87
荆 87
羞 87
罐 87
? 86
④ 86
撩 86
沸 86
晗 86
β 85
ν 85
? 85
丨 85
? 85
麓 85
悍 85
牲 85
漆 85
奸 85
? 84
? 84
? 84
Я 84
? 84
/ 84
谌 84
荧 84
畏 84
遂 84
敞 84
倪 84
妍 84
哀 84
坝 84
渣 84
畜 84
嫂 84
? 83
宛 83
惕 83
磷 83
掐 83
聋 83
炜 83
溶 83
雀 83
赌 83
? 82
? 82
贿 82
柄 82
侃 82
逝 82
昊 82
梨 82
绚 82
肆 82
? 81
? 81
? 81
? 81
? 81
滕 81
睹 81
竖 81
闵 81
笨 81
? 80
? 80
? 80
? 80
仕 80
皓 80
尧 80
蟹 80
痴 80
倦 80
? 79
? 79
昧 79
丫 79
? 78
? 78
? 78
哨 78
弧 78
亨 78
盯 78
棍 78
舅 78
? 77
? 77
夯 77
谜 77
湛 77
捣 77
枕 77
邹 77
屯 77
虾 77
钉 77
葵 77
蚊 77
簧 77
′ 76
? 76
仯 76
? 76
篷 76
扒 76
辜 76
枫 76
佼 76
? 75
? 75
帷 75
? 75
? 75
犸 75
韧 75
沛 75
勉 75
阜 75
歇 75
绳 75
氓 75
讴 74
? 74
ü 74
? 74
苛 74
? 74
? 74
皖 74
渭 74
黏 74
遣 74
硅 74
婧 74
刃 74
甬 74
邕 74
隙 74
寞 74
晤 73
炽 73
? 73
? 73
? 73
? 73
鲸 73
懈 73
栽 73
漠 73
魄 73
脊 73
鲍 73
澄 73
椎 73
麒 73
娥 73
芹 73
焉 73
唧 73
邺 72
? 72
肢 72
玖 72
恤 72
弦 72
浑 72
咸 72
? 71
? 71
? 71
? 71
? 71
? 71
猿 71
髓 71
庚 71
牡 71
闸 71
喻 71
戳 71
咒 71
笋 71
? 70
棺 70
氨 70
垦 70
蔽 70
邢 70
槐 70
铬 69
? 69
? 69
裔 69
矶 69
驭 69
痰 69
讳 69
锣 69
琅 69
搁 69
憋 69
拢 69
郝 69
骆 69
桐 69
喉 69
儒 69
扇 69
屠 69
暇 69
钾 69
谅 69
踊 69
怂 69
★ 68
? 68
? 68
? 68
? 68
阐 68
俪 68
毯 68
匆 68
扛 68
黔 68
茜 68
妃 68
? 67
? 67
? 67
? 67
? 67
橱 67
阀 67
蹭 67
淄 67
坷 67
? 66
? 66
? 66
? 66
? 66
? 66
舶 66
衢 66
悼 66
姣 66
臻 66
铅 66
驳 66
叛 66
庙 66
捏 66
? 65
? 65
豸 65
掷 65
顽 65
喘 65
甄 65
锈 65
? 64
? 64
? 64
+ 64
? 64
? 64
咽 64
挪 64
啸 64
丛 64
煎 64
饲 64
暧 64
靖 64
筒 64
? 63
? 63
? 63
? 63
? 63
怼 63
° 63
诵 63
蝎 63
鲨 63
逮 63
巫 63
蕉 63
襄 63
罻 62
⑤ 62
? 62
漓 62
苇 62
囚 62
栈 62
毋 62
帘 62
肘 62
饶 62
? 61
珑 61
帜 61
佑 61
颂 61
壹 61
穴 61
沾 61
渲 61
? 60
赣 60
? 60
? 60
钮 60
榄 60
缔 60
摹 60
羯 60
梭 60
奎 60
耻 60
汾 60
卑 60
吼 60
醛 60
趴 60
恿 60
湉 59
? 59
慷 59
? 59
? 59
? 59
? 59
? 59
? 59
慑 59
盎 59
? 59
骸 59
酵 59
稻 59
膀 59
矮 59
喔 59
膊 59
? 58
? 58
? 58
? 58
烹 58
? 58
泻 58
翟 58
劈 58
嘻 58
葫 58
悚 57
橄 57
孵 57
酶 57
叨 57
枯 57
缉 57
漳 57
宰 57
雁 57
塌 57
玮 57
琐 57
霄 57
嚣 57
宵 57
胳 57
屌 57
? 56
? 56
? 56
? 56
? 56
厄 56
犁 56
殷 56
讽 56
睫 56
橡 56
嘎 56
妞 56
祠 56
? 55
? 55
? 55
α 55
? 55
遴 55
呕 55
涩 55
冉 55
愚 55
捆 55
廯 54
? 54
? 54
梗 54
娩 54
殡 54
砚 54
蒿 54
蚀 54
煞 54
矫 54
疡 54
丙 54
膛 54
烫 54
岂 54
裴 54
喽 54
? 53
? 53
跻 53
芜 53
喀 53
肋 53
邯 53
陀 53
栓 53
挚 53
耽 53
榆 53
蛛 53
觅 53
搂 53
ī 52
? 52
? 52
? 52
? 52
驿 52
剿 52
嗽 52
凳 52
墅 52
棕 52
妄 52
榴 52
栗 52
窘 52
狡 52
锚 51
? 51
2 51
郸 51
漾 51
罄 51
潍 51
彝 51
桓 51
泵 51
懿 51
黛 51
梓 51
曰 51
穹 51
炯 51
? 50
⑥ 50
? 50
? 50
? 50
玺 50
灶 50
垄 50
琥 50
刁 50
泸 50
煲 50
蝉 50
兮 50
颅 50
韬 50
喇 50
狸 50
蛙 50
翅 50
匈 50
茹 50
褶 50
? 49
顷 49
? 49
徊 49
拭 49
筐 49
嵌 49
绊 49
屿 49
呛 49
绅 49
柠 49
叮 49
炖 49
鹃 49
屎 49
猾 49
揉 49
跤 49
? 48
t 48
徘 48
? 48
妊 48
瀑 48
衅 48
棵 48
嚼 48
喵 48
汕 48
犬 48
甫 48
痘 48
禧 48
鲅 48
? 47
娠 47
? 47
? 47
? 47
? 47
? 47
? 47
? 47
? 47
沥 47
恳 47
哺 47
嗓 47
冈 47
樊 47
禾 47
皱 47
蘑 47
哼 47
? 46
廓 46
? 46
? 46
? 46
圭 46
θ 46
裬 46
? 46
鼾 46
磋 46
冶 46
锯 46
娅 46
弈 46
讶 46
拱 46
烘 46
朽 46
攒 46
碌 46
猥 46
啪 46
? 45
? 45
45
硒 45
秤 45
汐 45
囧 45
剔 45
酋 45
鸥 45
蚕 45
荔 45
镶 45
棠 45
瞧 45
祈 45
皂 45
痞 45
? 44
? 44
■ 44
礁 44
崎 44
敛 44
崭 44
亟 44
秆 44
藕 44
淼 44
寥 44
勺 44
孜 44
簇 44
淹 44
豚 44
鸽 44
斧 44
伺 44
慵 44
龟 44
? 43
? 43
薏 43
? 43
膨 43
撬 43
瘫 43
嫣 43
傍 43
覃 43
聆 43
磕 43
? 42
? 42
槿 42
? 42
? 42
? 42
秸 42
猝 42
诽 42
谤 42
淤 42
飚 42
摧 42
篡 42
窜 42
匿 42
隋 42
檬 42
撸 42
焊 42
钰 42
俭 42
浇 42
甯 41
颌 41
阚 41
惫 41
? 41
硢 41
? 41
? 41
? 41
? 41
? 41
捅 41
? 41
? 41
忴 41
? 41
? 41
? 41
氢 41
驯 41
沅 41
涿 41
缀 41
庐 41
弓 41
寅 41
稽 41
硫 41
韶 41
咧 41
潢 41
Ψ 40
? 40
? 40
僚 40
畴 40
钛 40
筝 40
祁 40
豁 40
坟 40
狙 40
聂 40
濮 40
埠 40
嘟 40
毂 39
诟 39
? 39
汲 39
菅 39
袱 39
夭 39
怠 39
嘱 39
阮 39
糙 39
晟 39
炳 39
叭 39
驼 39
棱 39
筷 39
袂 38
? 38
? 38
? 38
? 38
碱 38
? 38
? 38
? 38
? 38
? 38
‰ 38
膺 38
杞 38
糗 38
铸 38
瓢 38
窥 38
缤 38
鞭 38
懵 38
佣 38
敷 38
禅 38
擒 38
鳞 38
嘞 38
? 37
黯 37
? 37
郴 37
è 37
ヽ 37
汀 37
? 37
莺 37
乍 37
缭 37
? 37
羁 37
竣 37
夷 37
蜕 37
斐 37
厮 37
跆 37
梧 37
柚 37
躯 37
嗜 37
奕 37
稚 37
琛 37
杖 37
奴 37
η 36
梵 36
? 36
? 36
? 36
? 36
? 36
? 36
倔 36
瀚 36
诡 36
焚 36
娓 36
佰 36
乾 36
抠 36
恍 36
拽 36
盔 36
暮 36
瑾 36
? 35
飨 35
? 35
? 35
? 35
? 35
辡 35
↓ 35
? 35
珏 35
缪 35
畸 35
楷 35
袍 35
猩 35
诛 35
邸 35
戛 35
姗 35
隶 35
畔 35
蜘 35
姊 35
犊 35
唉 35
鳕 35
籭 34
骐 34
? 34
? 34
? 34
? 34
? 34
咘 34
媲 34
讪 34
梢 34
靡 34
靶 34
饽 34
嘘 34
旷 34
锌 34
笛 34
陡 34
芪 34
琢 34
眸 34
糯 34
朔 34
碾 34
淇 34
僻 34
舔 34
『 33
』 33
? 33
觑 33
? 33
? 33
? 33
? 33
? 33
? 33
? 33
? 33
濒 33
? 33
с 33
蟒 33
亵 33
翩 33
芮 33
荟 33
耘 33
僧 33
绮 33
抒 33
煜 33
眩 33
虞 33
岐 33
唠 33
颐 33
歹 33
溺 33
禄 33
啃 33
紊 33
馍 33
唔 33
珈 32
蠕 32
? 32
淶 32
? 32
? 32
? 32
? 32
ˉ 32
阪 32
洼 32
谴 32
帧 32
瞰 32
恙 32
臧 32
氮 32
妩 32
鳅 32
榨 32
茧 32
檀 32
幌 32
琊 32
鸦 32
娄 32
巍 32
惰 32
彪 32
榕 32
瞅 32
遐 32
颊 32
诶 32
呃 32
猷 31
灼 31
? 31
é 31
? 31
? 31
? 31
Ь 31
□ 31
裘 31
猕 31
淳 31
辫 31
徕 31
掠 31
郜 31
株 31
钳 31
绯 31
窖 31
胚 31
靳 31
冥 31
亢 31
搓 31
蹦 31
撅 31
? 30
腥 30
抉 30
? 30
? 30
| 30
? 30
? 30
嵥 30
? 30
? 30
▼ 30
溉 30
褚 30
倘 30
俨 30
屹 30
碟 30
峥 30
絮 30
汶 30
翡 30
贞 30
浊 30
吟 30
呦 30
缇 29
辄 29
皙 29
鏖 29
? 29
? 29
? 29
? 29
? 29
塣 29
顢 29
? 29
锂 29
赃 29
枸 29
烯 29
硝 29
曜 29
堤 29
仆 29
熄 29
滁 29
倚 29
揣 29
祷 29
鳝 29
赐 29
陋 29
侄 29
陂 29
崑 28
羺 28
? 28
? 28
棘 28
? 28
? 28
塢 28
萃 28
? 28
? 28
荼 28
? 28
? 28
酣 28
惋 28
昱 28
睁 28
蔗 28
峙 28
伶 28
蚌 28
脐 28
藤 28
蒲 28
趾 28
痒 28
疤 28
钠 27
孚 27
? 27
? 27
? 27
跷 27
毗 27
? 27
鄞 27
噱 27
炙 27
噩 27
栾 27
沽 27
椰 27
瓣 27
鳄 27
蝙 27
蝠 27
惶 27
岔 27
乞 27
蹄 27
荫 27
跛 27
? 26
☆ 26
± 26
? 26
? 26
? 26
烊 26
邃 26
侥 26
攘 26
? 26
轧 26
桢 26
矢 26
萎 26
魁 26
洵 26
蜗 26
蜡 26
璨 26
姝 26
穗 26
渺 26
惟 26
莆 26
泣 26
鄙 26
磺 26
暄 26
Τ 25
? 25
? 25
? 25
? 25
? 25
? 25
擂 25
? 25
斛 25
? 25
涞 25
汝 25
辗 25
殆 25
砌 25
邑 25
坂 25
峪 25
剁 25
窑 25
岚 25
芋 25
鹞 24
慜 24
? 24
镁 24
ī 24
? 24
A 24
? 24
? 24
睦 24
滇 24
B 24
饪 24
涝 24
辙 24
羹 24
莘 24
匮 24
拂 24
幢 24
熠 24
胺 24
璀 24
缕 24
辍 24
肴 24
澈 24
寇 24
嚷 24
洱 24
咎 24
褒 24
襟 24
涓 24
伢 24
? 23
愫 23
麾 23
佟 23
? 23
? 23
ì 23
鹈 23
鹕 23
砒 23
胰 23
? 23
ξ 23
呷 23
弛 23
俘 23
颓 23
娆 23
耸 23
嫉 23
侮 23
璇 23
牟 23
尉 23
驹 23
濑 23
? 22
匣 22
珲 22
? 22
鱦 22
Ц 22
? 22
昙 22
晾 22
沮 22
瞪 22
窍 22
藻 22
沐 22
秧 22
酝 22
飒 22
窒 22
羔 22
蓓 22
楞 22
馒 22
酥 22
芙 22
屑 22
啧 22
猖 22
吮 22
揍 22
吖 22
楂 21
宕 21
? 21
? 21
? 21
Ⅴ 21
? 21
缜 21
P 21
悖 21
罹 21
稠 21
柑 21
C 21
飩 21
? 21
? 21
腱 21
矣 21
酉 21
樟 21
釉 21
抨 21
韭 21
苟 21
堕 21
疸 21
烁 21
桔 21
烽 21
滔 21
庵 21
蝇 21
蕊 21
枭 21
? 20
? 20
钜 20
? 20
? 20
? 20
囤 20
? 20
? 20
? 20
? 20
? 20
? 20
` 20
阱 20
? 20
迸 20
? 20
? 20
瑛 20
― 20
? 20
? 20
蹿 20
迥 20
苓 20
籽 20
骋 20
崂 20
哮 20
诫 20
挠 20
粪 20
湄 20
嬉 20
卉 20
煽 20
晦 20
铂 20
漱 20
妒 20
掺 20
揪 20
龈 20
铌 19
戟 19
邬 19
硣 19
? 19
蹊 19
亳 19
譬 19
斡 19
淖 19
匝 19
? 19
峭 19
χ 19
痪 19
赎 19
喆 19
搀 19
酌 19
貂 19
癖 19
嵩 19
茬 19
礴 19
肽 19
寰 19
憨 19
隽 19
昼 19
铉 19
拎 19
鲤 19
瞿 19
饺 19
峨 19
剐 19
荚 19
鳖 19
? 18
岖 18
漕 18
珐 18
洢 18
贲 18
? 18
弋 18
嗅 18
? 18
? 18
? 18
蜥 18
腑 18
腭 18
─ 18
歆 18
骼 18
? 18
? 18
颤 18
赘 18
镰 18
旖 18
徙 18
煦 18
瑚 18
丞 18
惬 18
饷 18
嗦 18
晔 18
婿 18
秃 18
懦 18
逍 18
竿 18
啰 18
珂 18
癫 18
墩 18
浣 18
掰 18
醺 18
姥 18
臃 18
嬷 18
崽 18
妓 18
噶 18
? 17
? 17
? 17
氪 17
& 17
? 17
涪 17
? 17
? 17
? 17
? 17
幤 17
17
? 17
? 17
凿 17
鰸 17
搡 17
栩 17
≠ 17
塱 17
戮 17
灸 17
扼 17
泠 17
藉 17
痊 17
弩 17
簿 17
刨 17
芥 17
镌 17
槟 17
碘 17
铨 17
葆 17
侍 17
昀 17
泾 17
鱿 17
脯 17
惚 17
粑 17
蛀 17
嗲 17
叽 17
嘚 17
朕 17
鸢 17
骢 16
蛳 16
洙 16
? 16
鹌 16
鹑 16
唾 16
苋 16
? 16
岌 16
噬 16
? 16
? 16
偃 16
鷢 16
? 16
谧 16
瞠 16
? 16
祉 16
跋 16
颍 16
? 16
舸 16
惭 16
怯 16
酚 16
酯 16
綦 16
涤 16
挟 16
漪 16
烙 16
纫 16
毓 16
腌 16
椿 16
盹 16
咐 16
皑 16
咙 16
氟 16
拷 16
缙 16
咩 16
啵 16
£ 15
? 15
伉 15
釜 15
昇 15
鞣 15
垩 15
? 15
? 15
珮 15
崆 15
峒 15
佚 15
笃 15
蜈 15
蚣 15
摒 15
? 15
徭 15
鴦 15
哽 15
铐 15
廿 15
? 15
◆ 15
魇 15
缮 15
潺 15
钝 15
鲢 15
緢 15
淌 15
恬 15
皋 15
镍 15
缚 15
踵 15
霁 15
氯 15
憬 15
轶 15
嘹 15
雏 15
卤 15
饵 15
殒 15
孰 15
圩 15
镂 15
涟 15
褐 15
妤 15
隘 15
帼 15
莴 15
箍 15
粱 15
贰 15
哩 15
诅 15
懋 14
萤 14
嬅 14
玏 14
赟 14
硶 14
咄 14
拗 14
a 14
冗 14
? 14
壩 14
嫦 14
? 14
邗 14
? 14
讹 14
? 14
? 14
缨 14
? 14
? 14
齨 14
埇 14
啼 14
◎ 14
咀 14
旎 14
〉 14
涣 14
墒 14
蜿 14
蜒 14
? 14
? 14
劾 14
哆 14
馥 14
酪 14
翊 14
憧 14
鄱 14
诬 14
瓯 14
骞 14
岱 14
禀 14
羌 14
俐 14
苔 14
柬 14
绞 14
锥 14
嚎 14
庇 14
霏 14
熹 14
壕 14
悸 14
槌 14
诩 14
遛 14
搪 14
殃 14
疮 14
眯 14
菩 14
舜 14
豌 14
婶 14
浔 14
喃 14
糍 14
蛹 14
溴 13
於 13
曳 13
? 13
芡 13
瑀 13
? 13
? 13
邂 13
逅 13
? 13
砥 13
褪 13
淅 13
淆 13
梆 13
逵 13
? 13
? 13
? 13
? 13
鶽 13
? 13
? 13
桱 13
婺 13
? 13
? 13
莠 13
? 13
砺 13
鵽 13
亥 13
饕 13
餮 13
卯 13
瞭 13
〈 13
? 13
蛰 13
奂 13
? 13
鳤 13
蹤 13
拣 13
札 13
妪 13
馁 13
桨 13
舵 13
莽 13
趸 13
瞳 13
诲 13
幡 13
哉 13
戎 13
焱 13
拧 13
桦 13
昵 13
晏 13
撇 13
炬 13
衩 13
彷 13
捶 13
叼 13
痹 13
辊 13
婵 13
恽 12
孃 12
? 12
∕ 12
? 12
戌 12
芈 12
桅 12
糡 12
? 12
茯 12
? 12
? 12
? 12
? 12
侏 12
蕨 12
斓 12
ū 12
﹟ 12
? 12
滭 12
罡 12
锭 12
Ъ 12
? 12
? 12
? 12
泿 12
Ф 12
? 12
€ 12
伎 12
? 12
谩 12
沼 12
佹 12
﹑ 12
腼 12
腆 12
锷 12
泞 12
忱 12
诧 12
檐 12
盏 12
榻 12
璞 12
嘀 12
泗 12
忐 12
忑 12
烛 12
浜 12
咚 12
霓 12
疹 12
榈 12
菏 12
沭 12
雹 12
坯 12
咤 12
拄 12
璋 12
咔 12
瞌 12
笠 12
矜 12
睇 12
凋 12
煊 12
妾 12
? 11
桀 11
? 11
籾 11
? 11
狰 11
狞 11
嚏 11
嗖 11
茌 11
? 11
? 11
鹦 11
榷 11
谚 11
? 11
缥 11
缈 11
枷 11
谛 11
? 11
? 11
¤ 11
? 11
烩 11
璟 11
漰 11
? 11
? 11
? 11
? 11
? 11
耄 11
耋 11
? 11
堃 11
? 11
嘈 11
復 11
? 11
垢 11
茎 11
沱 11
? 11
? 11
眶 11
? 11
Ⅲ 11
粳 11
珉 11
惮 11
榛 11
窈 11
窕 11
逞 11
鲫 11
兀 11
阂 11
卒 11
犷 11
恣 11
虔 11
嘶 11
镖 11
钵 11
岷 11
郧 11
馅 11
碉 11
祀 11
疚 11
腮 11
茸 11
涕 11
镐 11
苯 11
蛤 11
邛 11
琨 11
呜 11
丐 11
仨 11
荻 10
? 10
? 10
* 10
藜 10
甙 10
胱 10
耦 10
鹉 10
匕 10
I 10
洦 10
? 10
浥 10
拙 10
挎 10
? 10
掖 10
? 10
矾 10
簸 10
酗 10
莒 10
? 10
? 10
? 10
? 10
? 10
吋 10
闱 10
? 10
綯 10
? 10
箔 10
? 10
渚 10
? 10
Т 10
篓 10
荤 10
? 10
眺 10
猞 10
猁 10
? 10
? 10
氙 10
漩 10
婊 10
寐 10
丕 10
凇 10
稼 10
铮 10
纶 10
泓 10
粟 10
潞 10
鹭 10
竺 10
婪 10
荞 10
裳 10
惦 10
椭 10
髋 10
吱 10
拈 10
愣 10
琉 10
沌 10
蹶 10
蔺 10
潼 10
徨 10
嗑 10
甥 10
芷 10
狒 10
恁 10
俍 9
舷 9
恫 9
? 9
▌ 9
? 9
镕 9
? 9
亞 9
梼 9
杌 9
踞 9
赅 9
⑦ 9
绫 9
诙 9
缎 9
? 9
? 9
遨 9
狩 9
T 9
唏 9
? 9
舫 9
? 9
笈 9
螈 9
黠 9
罨 9
繫 9
熔 9
? 9
鼮 9
? 9
? 9
? 9
淢 9
? 9
? 9
吒 9
鲵 9
篑 9
樾 9
? 9
榭 9
齫 9
桰 9
? 9
? 9
睢 9
鞘 9
D 9
吝 9
谙 9
摃 9
渍 9
? 9
仞 9
琶 9
叱 9
溏 9
萦 9
赂 9
斟 9
渎 9
抿 9
恕 9
隅 9
濡 9
拇 9
扉 9
屉 9
圃 9
锵 9
袄 9
厥 9
劵 9
迩 9
馋 9
祯 9
粽 9
呲 9
镯 9
幺 9
隍 9
捎 9
孽 9
噻 9
? 8
濨 8
? 8
伱 8
? 8
? 8
場 8
忪 8
逯 8
? 8
嬛 8
阖 8
锏 8
叒 8
ん 8
鞅 8
铩 8
窨 8
^ 8
? 8
笕 8
谬 8
滺 8
鍊 8
栎 8
芩 8
桎 8
梏 8
? 8
臼 8
? 8
? 8
蟾 8
龋 8
罔 8
滹 8
? 8
蝾 8
糅 8
? 8
? 8
飺 8
獗 8
鞠 8
? 8
羰 8
涼 8
綼 8
鱨 8
? 8
? 8
嶂 8
? 8
鍦 8
棰 8
揄 8
? 8
鹊 8
粼 8
? 8
у 8
Ⅳ 8
岙 8
臆 8
桷 8
炊 8
辘 8
吏 8
羚 8
鳍 8
泱 8
娣 8
熨 8
垚 8
溅 8
褥 8
噜 8
铰 8
撂 8
凛 8
婕 8
绾 8
翌 8
焙 8
丶 8
螃 8
燎 8
忒 8
溧 8
篆 8
噗 8
踹 8
妳 8
浒 8
锰 8
陛 8
嫖 8
璜 8
绢 8
捻 8
瘸 8
砀 7
S 7
铢 7
將 7
缄 7
胤 7
旻 7
祎 7
脍 7
谲 7
洌 7
槃 7
№ 7
? 7
⑧ 7
蹴 7
? 7
≥ 7
傀 7
儡 7
? 7
" 7
恪 7
泩 7
杲 7
? 7
? 7
覴 7
颧 7
磐 7
瘠 7
? 7
? 7
? 7
锲 7
楹 7
蛾 7
? 7
潫 7
壺 7
﹒ 7
仚 7
罂 7
? 7
? 7
? 7
濪 7
黹 7
瀛 7
浚 7
? 7
? 7
? 7
? 7
? 7
? 7
籩 7
? 7
? 7
- 7
捺 7
瑙 7
鏃 7
肮 7
潨 7
淦 7
艏 7
亘 7
鲻 7
矗 7
鄯 7
? 7
籣 7
馏 7
赦 7
琵 7
胫 7
膑 7
孪 7
窿 7
嗒 7
痧 7
枇 7
杷 7
咫 7
吭 7
郯 7
铆 7
睬 7
烬 7
灞 7
殇 7
叁 7
迦 7
硼 7
袒 7
珞 7
抡 7
胭 7
茁 7
猬 7
濠 7
裆 7
螂 7
崃 7
涧 7
痔 7
奚 7
痫 7
笙 7
疙 7
瘩 7
玷 7
胛 7
潦 7
坨 7
卅 7
钊 7
蔑 7
芍 7
腋 7
泔 6
阕 6
俾 6
讣 6
塷 6
擘 6
骛 6
? 6
劢 6
鲹 6
鷿 6
? 6
忡 6
旌 6
? 6
? 6
痼 6
? 6
揶 6
? 6
? 6
達 6
奪 6
奧 6
6
眈 6
仵 6
洇 6
蹒 6
跚 6
遑 6
嗤 6
? 6
? 6
鹜 6
? 6
脓 6
? 6
皎 6
? 6
苣 6
痨 6
瘀 6
黳 6
? 6
薰 6
? 6
? 6
? 6
碁 6
蜍 6
麂 6
? 6
涾 6
? 6
叩 6
? 6
? 6
? 6
赡 6
讧 6
跽 6
? 6
? 6
? 6
裨 6
? 6
? 6
鹫 6
掣 6
鄢 6
? 6
? 6
? 6
? 6
? 6
硱 6
? 6
? 6
? 6
? 6
霹 6
雳 6
? 6
齭 6
刍 6
荛 6
? 6
畈 6
? 6
趨 6
? 6
G 6
侗 6
叕 6
銆 6
棤 6
數 6
纾 6
匾 6
? 6
徇 6
恃 6
戰 6
伫 6
袅 6
? 6
? 6
? 6
讥 6
喱 6
哧 6
邋 6
遢 6
肱 6
拮 6
澧 6
瘪 6
茱 6
蕃 6
钗 6
惺 6
怅 6
攥 6
捋 6
黝 6
痢 6
禺 6
飓 6
匡 6
癜 6
汞 6
踌 6
躇 6
崴 6
嗝 6
衙 6
蔼 6
淞 6
悯 6
岑 6
诏 6
矬 6
艮 5
漉 5
? 5
? 5
? 5
M 5
↑ 5
蛊 5
? 5
5
冢 5
? 5
砵 5
? 5
隼 5
? 5
漣 5
後 5
聯 5
爭 5
勝 5
琚 5
澍 5
佤 5
檄 5
匍 5
匐 5
躬 5
嬴 5
雒 5
? 5
? 5
? 5
孑 5
喑 5
禚 5
? 5
裺 5
缰 5
腩 5
槲 5
弰 5
? 5
? 5
糿 5
緹 5
? 5
? 5
鷨 5
? 5
徫 5
? 5
廹 5
壑 5
烷 5
? 5
? 5
? 5
鷳 5
顱 5
? 5
週 5
? 5
? 5
赲 5
? 5
忏 5
蛎 5
弶 5
怆 5
? 5
? 5
簲 5
? 5
藩 5
侭 5
褂 5
? 5
? 5
? 5
浱 5
? 5
磩 5
? 5
? 5
O 5
? 5
巽 5
鷽 5
鼰 5
繤 5
眨 5
? 5
垛 5
聿 5
垟 5
? 5
? 5
? 5
? 5
佘 5
蜴 5
藐 5
绌 5
绛 5
紝 5
犵 5
氳 5
锛 5
? 5
? 5
渥 5
夙 5
扞 5
镚 5
堑 5
儆 5
△ 5
诿 5
? 5
Ⅱ 5
酰 5
辋 5
瓒 5
篱 5
蕙 5
瞥 5
钏 5
铎 5
圻 5
摁 5
埭 5
拴 5
珩 5
硐 5
铿 5
芊 5
墟 5
蟑 5
蘸 5
榔 5
黍 5
耙 5
茗 5
盱 5
眙 5
翱 5
扈 5
瘟 5
橇 5
娼 5
宥 5
闰 5
嗷 5
吩 5
稣 5
勐 5
浃 5
肛 5
侉 5
荨 5
啷 5
龅 5
呸 5
幩 4
谆 4
Ⅵ 4
锾 4
? 4
悢 4
鲉 4
L 4
鹱 4
兢 4
骰 4
敕 4
羳 4
蛟 4
? 4
? 4
? 4
? 4
鰴 4
? 4
? 4
齺 4
? 4
蹩 4
綾 4
? 4
雲 4
? 4
薅 4
純 4
? 4
é 4
? 4
對 4
維 4
無 4
爾 4
碴 4
當 4
壡 4
樯 4
? 4
踽 4
? 4
觥 4
K 4
撷 4
镝 4
ㄞ 4
檎 4
こ 4
ば 4
は 4
淬 4
帚 4
诨 4
囿 4
荏 4
苒 4
紴 4
┃ 4
塭 4
巿 4
? 4
? 4
? 4
? 4
x 4
沓 4
苷 4
糱 4
? 4
? 4
啬 4
訇 4
? 4
弡 4
痠 4
懊 4
溬 4
? 4
焯 4
蜚 4
轼 4
? 4
? 4
攫 4
? 4
塶 4
? 4
峵 4
砰 4
汸 4
徳 4
岢 4
– 4
粣 4
賿 4
妁 4
? 4
? 4
埌 4
嘢 4
昶 4
緽 4
? 4
嗣 4
麋 4
婀 4
繦 4
碚 4
鲼 4
? 4
汣 4
粿 4
? 4
? 4
踲 4
邡 4
沣 4
陟 4
? 4
? 4
? 4
? 4
塰 4
飻 4
? 4
? 4
? 4
? 4
跢 4
翀 4
憔 4
悴 4
峯 4
篦 4
? 4
輸 4
? 4
漴 4
? 4
? 4
岻 4
殉 4
贮 4
峦 4
稔 4
鐢 4
4
瀹 4
氬 4
4
鍙 4
柟 4
ゆ 4
戠 4
巼 4
費 4
湫 4
坍 4
蘖 4
颡 4
谑 4
琍 4
鸠 4
愕 4
啾 4
杳 4
耆 4
栉 4
? 4
? 4
忻 4
粕 4
骇 4
弑 4
掇 4
鬓 4
莅 4
厝 4
瑄 4
虏 4
弼 4
蔷 4
阙 4
钨 4
塬 4
萸 4
樵 4
娉 4
荃 4
孢 4
纭 4
炀 4
犟 4
耷 4
甭 4
遁 4
蹬 4
潸 4
铣 4
鸾 4
娲 4
卞 4
偕 4
苞 4
茉 4
胥 4
衲 4
蠛 4
荀 4
墉 4
痿 4
铧 4
淨 3
? 3
? 3
饬 3
嫡 3
溱 3
蚵 3
铀 3
钽 3
佃 3
孺 3
W 3
绥 3
蟠 3
? 3
? 3
? 3
﹝ 3
﹞ 3
? 3
? 3
诣 3
? 3
? 3
? 3
帣 3
? 3
癿 3
瓴 3
內 3
浽 3
彨 3
呎 3
淝 3
顰 3
郦 3
? 3
徹 3
榫 3
麣 3
滻 3
铄 3
儋 3
挹 3
曩 3
孱 3
瑪 3
? 3
? 3
販 3
? 3
? 3
? 3
? 3
? 3
? 3
? 3
跬 3
埈 3
? 3
愍 3
刿 3
N 3
哌 3
○ 3
? 3
? 3
? 3
щ 3
? 3
徰 3
裻 3
轭 3
? 3
賬 3
? 3
會 3
輪 3
開 3
勢 3
撺 3
暹 3
谶 3
掴 3
黰 3
侳 3
? 3
荜 3
踯 3
躅 3
憎 3
晞 3
? 3
? 3
霰 3
辿 3
塚 3
? 3
幫 3
? 3
喙 3
? 3
︰ 3
の 3
糜 3
? 3
? 3
? 3
? 3
籡 3
? 3
? 3
蔻 3
▎ 3
祐 3
粻 3
? 3
? 3
? 3
? 3
? 3
廤 3
膈 3
髲 3
瘁 3
辂 3
時 3
樨 3
诜 3
麸 3
? 3
? 3
嘌 3
呤 3
? 3
? 3
? 3
? 3
? 3
轡 3
? 3
膘 3
擞 3
钼 3
荠 3
蔫 3
? 3
濛 3
罫 3
佱 3
? 3
繺 3
? 3
? 3
? 3
? 3
? 3
鱾 3
跶 3
澫 3
徵 3
? 3
? 3
乺 3
? 3
? 3
? 3
? 3
陲 3
仄 3
溥 3
? 3
? 3
? 3
舛 3
檩 3
? 3
? 3
? 3
掬 3
嶯 3
? 3
嵘 3
? 3
? 3
? 3
髯 3
? 3
铤 3
? 3
嵽 3
? 3
? 3
峤 3
纂 3
鶼 3
? 3
棨 3
辭 3
櫻 3
簪 3
桉 3
诤 3
惘 3
攸 3
棩 3
? 3
衱 3
? 3
? 3
? 3
潻 3
? 3
? 3
仧 3
? 3
缯 3
绹 3
? 3
? 3
嫘 3
? 3
? 3
? 3
? 3
辶 3
? 3
? 3
乫 3
? 3
? 3
? 3
侲 3
弢 3
黟 3
阑 3
瘘 3
勍 3
鎷 3
灏 3
併 3
細 3
鎮 3
鏈 3
鍔 3
鐜 3
浼 3
皥 3
3
鐞 3
嗗 3
3
3
绠 3
$ 3
悊 3
呭 3
鍜 3
鍥 3
屽 3
鍗 3
璁 3
綉 3
? 3
? 3
晢 3
迂 3
箩 3
埂 3
懑 3
镭 3
氡 3
徜 3
徉 3
涸 3
? 3
裡 3
憩 3
袤 3
戍 3
? 3
鴫 3
牤 3
龊 3
锹 3
秽 3
噘 3
谄 3
鲛 3
骧 3
魍 3
魉 3
诳 3
俸 3
噎 3
扥 3
帛 3
蚝 3
鳗 3
獠 3
颉 3
祟 3
澹 3
鲈 3
呻 3
獒 3
漯 3
骊 3
囱 3
砾 3
掂 3
蹂 3
躏 3
鹄 3
轲 3
瞑 3
吆 3
挞 3
唬 3
潆 3
筠 3
蹋 3
婢 3
腚 3
鲶 3
喏 3
馄 3
饨 3
佢 3
嗟 3
尥 3
仟 3
埗 2
? 2
? 2
硰 2
訾 2
? 2
漶 2
龌 2
V 2
鸸 2
鹋 2
俋 2
谳 2
冑 2
馊 2
饯 2
晌 2
橹 2
谘 2
峋 2
? 2
ê 2
祗 2
坜 2
浬 2
倭 2
鲟 2
畿 2
驛 2
诋 2
辯 2
≈ 2
癀 2
? 2
芎 2
? 2
號 2
鰵 2
? 2
滟 2
汻 2
? 2
疴 2
瘴 2
F 2
? 2
岣 2
# 2
滷 2
黩 2
賤 2
? 2
軭 2
媸 2
綴 2
蜻 2
蜓 2
? 2
觊 2
觎 2
锳 2
? 2
? 2
衭 2
? 2
廧 2
? 2
? 2
妫 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
趯 2
? 2
? 2
? 2
¨ 2
? 2
挝 2
莼 2
唳 2
? 2
? 2
? 2
? 2
銭 2
踉 2
跄 2
? 2
? 2
涎 2
蟬 2
橫 2
蘭 2
風 2
頭 2
紅 2
脫 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
跖 2
玓 2
? 2
纰 2
邳 2
? 2
缶 2
? 2
衵 2
紐 2
倫 2
軍 2
過 2
來 2
錫 2
魯 2
麽 2
侩 2
馃 2
齁 2
咻 2
畑 2
湊 2
? 2
? 2
? 2
為 2
掮 2
蒹 2
葭 2
髻 2
? 2
愠 2
牍 2
傈 2
僳 2
獭 2
匏 2
跺 2
? 2
? 2
? 2
娑 2
诃 2
恻 2
ū 2
笆 2
魑 2
鼬 2
蜃 2
戬 2
纣 2
? 2
? 2
颏 2
迢 2
骥 2
轣 2
? 2
鵰 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
廬 2
廼 2
迺 2
? 2
? 2
紺 2
喋 2
濯 2
玑 2
玟 2
啫 2
噚 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
? 2
覸 2
? 2
谮 2
? 2
痉 2
挛 2
瘢 2
? 2
馕 2
? 2
? 2
? 2
讚 2
緻 2
冇 2
蹙 2
酩 2
酊 2
姒 2
妲 2
琰 2
痣 2
锢 2
箕 2
甾 2
峿 2
魻 2
? 2
? 2
蕹 2
給 2
肼 2
? 2
鵤 2
? 2
煨 2
? 2
佺 2
晧 2
驽 2
怿 2
飡 2
俴 2
? 2
? 2
? 2
? 2
? 2
淴 2
▽ 2
? 2
? 2
? 2
籦 2
? 2
轺 2
? 2
? 2
乩 2
壨 2
? 2
? 2
扪 2
緶 2
洹 2
? 2
? 2
泮 2
? 2
滉 2
? 2
? 2
颚 2
嵭 2
俿 2
? 2
義 2
鼱 2
罘 2
蚱 2
? 2
? 2
蠖 2
脲 2
? 2
幄 2
坻 2
〇 2
縺 2
縲 2
唆 2
擀 2
佝 2
偻 2
晁 2
兖 2
惴 2
娭 2
毑 2
朦 2
胧 2
湤 2
翪 2
漼 2
忨 2
劭 2
滆 2
嵊 2
沢 2
戊 2
邝 2
浠 2
績 2
閰 2
ㄧ 2
嶇 2
棣 2
栭 2
侀 2
閫 2
唴 2
笌 2
欐 2
笟 2
崗 2
冧 2
笓 2
寮 2
傚 2
鍖 2
眬 2
姟 2
佷 2
鍐 2
湴 2
ㄥ 2
屾 2
祦 2
氫 2
鎯 2
喌 2
晫 2
2
绉 2
姩 2
杩 2
嗙 2
滃 2
簡 2
缁 2
戞 2
岀 2
愬 2
鏂 2
叡 2
嗕 2
堜 2
ㄦ 2
鍚 2
鎶 2
2
浗 2
姙 2
曚 2
綅 2
沖 2
埸 2
潔 2
糠 2
啕 2
枨 2
牦 2
汩 2
訚 2
鰲 2
偎 2
証 2
鸱 2
阡 2
骡 2
笺 2
锄 2
玢 2
咦 2
侑 2
邰 2
锴 2
樽 2
螳 2
羿 2
嵋 2
蛆 2
巳 2
砷 2
岫 2
泯 2
豇 2
嗔 2
壅 2
摞 2
阄 2
逑 2
镊 2
檫 2
赝 2
蓟 2
锟 2
斋 2
汨 2
癣 2
朐 2
蓑 2
叻 2
疝 2
桁 2
赳 2
谔 2
垣 2
葚 2
搵 2
貔 2
貅 2
衮 2
哔 2
氤 2
氲 2
蜛 2
襦 2
蝌 2
蚪 2
疟 2
鬟 2
鸬 2
鹚 2
誊 2
艄 2
吶 2
蝈 2
祢 2
滢 2
郏 1
沆 1
瀣 1
岿 1
苈 1
礜 1
庾 1
跹 1
孓 1
蚩 1
偲 1
峧 1
踻 1
裩 1
絽 1
裱 1
闳 1
町 1
塾 1
讷 1
俚 1
倥 1
偬 1
纛 1
锱 1
蔣 1
皈 1
溟 1
箓 1
胪 1
啻 1
暌 1
鸵 1
釆 1
嚓 1
俎 1
庖 1
畚 1
蒨 1
洄 1
箫 1
韡 1
镞 1
僭 1
忿 1
铳 1
铵 1
鲑 1
囡 1
収 1
皿 1
彡 1
稷 1
埝 1
貽 1
郢 1
鳡 1
跣 1
郓 1
鄄 1
箬 1
堋 1
堽 1
遒 1
钣 1
佶 1
墀 1
請 1
應 1
這 1
個 1
動 1
揮 1
獲 1
儘 1
隊 1
頹 1
搶 1
兇 1
們 1
陣 1
絕 1
實 1
飛 1
腳 1
懼 1
鑽 1
馬 1
體 1
夠 1
曬 1
貝 1
頓 1
盧 1
帶 1
盤 1
證 1
怔 1
渟 1
貘 1
荪 1
郞 1
賽 1
敵 1
頂 1
機 1
謂 1
繼 1
續 1
雙 1
僅 1
餘 1
員 1
層 1
佔 1
據 1
優 1
擁 1
穫 1
問 1
題 1
陸 1
舀 1
毽 1
牒 1
缫 1
倬 1
庶 1
噔 1
锨 1
塄 1
碛 1
铱 1
囹 1
圄 1
廭 1
滪 1
戾 1
屨 1
羸 1
鹺 1
溫 1
峬 1
鲲 1
锆 1
珽 1
掸 1
洎 1
潠 1
浍 1
铛 1
谏 1
幛 1
邙 1
砦 1
夼 1
咛 1
拚 1
峄 1
絾 1
鴴 1
虛 1
絳 1
踾 1
尲 1
鸴 1
珺 1
汴 1
篁 1
贇 1
畲 1
迤 1
逦 1
岼 1
輰 1
豾 1
緸 1
鶨 1
蓼 1
屻 1
弲 1
噼 1
痈 1
豢 1
藿 1
矸 1
幇 1
殑 1
椈 1
熼 1
粍 1
ㄤ 1
笂 1
彫 1
拰 1
伅 1
儴 1
鍓 1
闀 1
畫 1
煴 1
1
嬪 1
炲 1
壇 1
鎬 1
洃 1
鍒 1
埆 1
呬 1
岄 1
洟 1
暱 1
1
1
1
屼 1
缃 1
戦 1
勫 1
垝 1
杈 1
尯 1
鍏 1
紬 1
忚 1
皟 1
彿 1
囩 1
洊 1
娾 1
绁 1
濋 1
洖 1
褰 1
鍛 1
鈥 1
濅 1
夎 1
1
樺 1
睍 1
嗚 1
1
樹 1
粙 1
嶄 1
1
撶 1
彂 1
曟 1
儏 1
嬬 1
粛 1
嗛 1
囪 1
祫 1
競 1
寲 1
傞 1
繃 1
弻 1
鎴 1
椤 1
嗭 1
1
傛 1
1
篃 1
嗘 1
湁 1
╀ 1
簬 1
煙 1
鐨 1
勪 1
氦 1
綔 1
垜 1
敤 1
╁ 1
簭 1
琁 1
澶 1
槸 1
绗 1
嶈 1
1
闂 1
1
鐩 1
祴 1
1
蹇 1
鎵 1
寳 1
笢 1
戣 1
爺 1
墍 1
況 1
吡 1
殚 1
汚 1
杻 1
砗 1
磲 1
蕤 1
堉 1
璘 1
苜 1
蓿 1
髌 1
姹 1
磴 1
觞 1
赭 1
愎 1
吠 1
尕 1
糌 1
偌 1
驮 1
镒 1
奘 1
汜 1
趵 1
轱 1
盂 1
孬 1
胄 1
煸 1
疽 1
杵 1
谗 1
炆 1
菡 1
箴 1
渑 1
锉 1
锜 1
乜 1
掼 1
铖 1
壵 1
忤 1
镗 1
撵 1
搐 1
坳 1
鞥 1
嚟 1
緑 1
郗 1
禛 1
蝗 1
赊 1
羲 1
萼 1
捌 1
肓 1
桧 1
焖 1
驷 1
磡 1
嫔 1
垠 1
嫱 1
嬲 1
桼 1
蜷 1
闾 1
珥 1
炔 1
唰 1
龇 1
蚬 1
蚶 1
茼 1
钕 1
砩 1
挲 1
鳊 1
镡 1
锫 1
冽 1
阊 1
捱 1
蟆 1
蒯 1
怵 1
刽 1
玹 1
鳃 1
犒 1
倌 1
蓊 1
沔 1
墁 1
盁 1
啜 1
珅 1
臊 1
嬖 1
彧 1
炕 1
胴 1
岵 1
茕 1
================================================
FILE: model_language/language_model2.txt
================================================
3941753
中国 16703
公司 13638
我们 10492
一个 9240
可以 7954
服务 7748
有限 7517
工作 6489
游戏 6459
信托 6283
没有 6281
市场 6153
准备 6043
自己 5857
国际 5700
信息 5657
发展 5589
进行 5555
时间 5551
就是 5327
限公 5169
网站 4924
北京 4900
不是 4900
什么 4772
手机 4684
新闻 4604
经济 4583
产品 4544
已经 4476
他们 4473
托有 4422
美国 4406
表示 4377
所有 4296
投资 4233
这个 4172
问题 4156
企业 4154
考试 4142
记者 4077
责任 4068
允许 4017
世界 3899
现在 3893
通过 3888
还是 3832
版权 3673
第一 3647
国家 3577
方面 3566
可能 3489
了一 3434
网络 3412
人民 3410
管理 3401
联网 3327
是一 3306
目前 3303
研究 3302
数据 3298
提供 3291
技术 3282
或者 3280
的一 3253
如果 3244
专业 3219
联系 3194
合作 3181
成为 3164
开始 3134
朋友 3127
项目 3118
微信 3117
同时 3111
需要 3110
大学 3109
广告 3104
媒体 3100
都是 3098
活动 3092
相关 3089
时候 3084
互联 3083
这样 3076
台湾 3062
中心 3034
上海 3008
平台 3007
更多 2984
教育 2967
关注 2962
发布 2955
用户 2952
内容 2939
人员 2936
医院 2932
比赛 2917
作为 2916
的是 2916
的时 2910
以及 2905
的人 2904
关于 2901
产业 2836
对于 2826
科技 2809
文化 2786
政府 2774
也是 2774
政策 2769
城市 2761
消息 2750
情况 2719
使用 2717
今年 2717
宣传 2704
考生 2698
汽车 2697
重要 2695
全球 2692
金融 2677
体育 2665
因为 2636
建设 2629
知道 2608
不能 2597
系统 2575
方式 2568
怎么 2552
还有 2515
银行 2508
行业 2499
个人 2490
这些 2488
电话 2488
生活 2478
设计 2471
报道 2461
今天 2460
兄弟 2455
安全 2452
消费 2446
进入 2445
要求 2431
社会 2422
到了 2415
增长 2380
电影 2374
购买 2365
大的 2352
影响 2333
但是 2316
其中 2312
品牌 2308
全国 2295
有一 2293
很多 2281
永远 2281
主要 2278
不会 2253
国内 2247
上的 2233
发现 2225
部分 2222
以上 2218
一起 2209
好的 2200
计划 2196
人的 2195
代表 2194
来源 2188
非常 2187
许可 2186
所以 2183
机构 2163
能力 2163
权所 2162
一些 2161
亿元 2155
其他 2144
选择 2136
图片 2128
是不 2128
声明 2126
你的 2125
这一 2124
任公 2120
学生 2113
不过 2113
限责 2110
那个 2101
中的 2096
我的 2094
视频 2091
分享 2087
推荐 2072
己的 2071
可证 2066
认为 2065
大家 2064
标准 2062
日本 2062
详细 2060
一次 2041
股份 2037
而且 2037
业务 2034
本网 2033
学院 2028
来的 2019
参考 2015
样的 2015
招聘 2007
万元 2005
第二 2004
希望 2002
个月 2000
车型 1999
创新 1992
未来 1989
为了 1987
价格 1980
去年 1972
在线 1969
出现 1962
并不 1945
了解 1943
不允 1927
美元 1923
一直 1919
获得 1916
们的 1914
拥有 1896
单位 1895
年的 1893
实现 1892
参加 1889
际信 1876
也不 1874
基础 1863
如何 1854
部门 1849
负责 1845
新浪 1838
包括 1823
成绩 1815
报名 1812
关系 1809
那么 1804
领域 1799
这是 1797
财经 1788
显示 1784
之后 1783
节目 1780
支持 1779
旅游 1779
资金 1777
微博 1777
孩子 1776
地区 1775
不同 1775
日报 1771
继续 1770
最大 1762
作品 1760
官方 1745
一步 1742
日子 1742
韩国 1738
一定 1737
根据 1728
组织 1723
提高 1722
健康 1714
你们 1706
提升 1680
环境 1674
交易 1670
富翁 1666
成功 1665
不要 1657
有的 1649
达到 1643
系我 1642
客户 1640
在这 1639
完成 1637
腾讯 1634
喜欢 1633
英国 1630
新的 1630
比较 1626
分钟 1622
游泳 1616
电视 1611
学习 1611
智能 1606
能够 1605
保护 1603
发生 1599
正式 1597
学校 1597
推出 1591
复试 1590
是在 1590
开发 1584
愿意 1582
综合 1581
看到 1571
编辑 1559
集团 1558
虽然 1558
论坛 1553
赛季 1549
分析 1530
一下 1525
份有 1523
作者 1521
法律 1519
音乐 1511
英雄 1508
来了 1507
网友 1506
是我 1502
正在 1500
香港 1497
直接 1493
系列 1492
重点 1491
两个 1488
原因 1480
的大 1480
辞职 1479
转载 1476
的重 1476
这么 1474
全面 1469
特别 1468
增加 1467
应该 1463
山东 1458
玩家 1456
运动 1454
除了 1453
带来 1451
来说 1446
出来 1446
群里 1445
指导 1444
起来 1444
开展 1443
移动 1442
资源 1441
改革 1438
因此 1437
怀孕 1437
最后 1431
这种 1428
超过 1427
多的 1427
日期 1427
基金 1424
不得 1421
需求 1419
友圈 1416
招生 1411
介绍 1411
空间 1410
现场 1407
经营 1406
费者 1404
进一 1398
其实 1396
冠军 1395
生日 1390
配置 1388
下一 1385
出了 1381
打造 1380
关键 1380
的日 1380
水平 1377
国的 1377
建立 1368
有关 1368
处理 1367
任何 1367
直播 1364
业的 1362
工程 1360
下载 1356
功能 1355
保险 1352
实施 1349
收入 1347
不仅 1346
销售 1345
参与 1344
一样 1344
资讯 1342
基本 1341
苹果 1338
球队 1332
表现 1325
生产 1324
体验 1322
领导 1320
不断 1319
小时 1317
报告 1315
第三 1314
条件 1313
网上 1304
网安 1302
交通 1300
公网 1298
觉得 1296
上市 1295
他的 1294
安备 1291
加强 1291
都不 1288
战略 1284
由于 1280
规定 1280
质量 1273
过程 1271
模式 1269
持续 1268
解决 1265
挑战 1263
结果 1262
出的 1261
人购 1258
各种 1258
你是 1255
目的 1254
知识 1254
面试 1252
要的 1250
之前 1250
阅读 1249
职业 1248
地方 1245
存在 1244
推进 1238
娱乐 1237
举报 1236
历史 1232
点击 1231
黄金 1231
在一 1226
均匀 1225
明天 1223
应用 1218
评论 1215
的发 1215
必须 1212
联赛 1211
时代 1211
老师 1210
授权 1208
来看 1208
报考 1207
分别 1206
真的 1204
生的 1202
民币 1197
告服 1196
特朗 1194
风险 1193
以来 1192
托股 1190
给我 1184
接受 1183
来自 1182
具有 1179
帮助 1179
朗普 1178
更加 1176
后的 1176
行为 1175
证券 1173
江苏 1173
随着 1171
的情 1171
考消 1170
调整 1170
手游 1167
期间 1166
是否 1164
里的 1164
注册 1162
只有 1160
稳定 1159
甚至 1152
赛事 1151
传播 1151
交流 1151
目标 1150
全新 1148
人才 1148
违法 1147
贸易 1145
的生 1145
给你 1142
的新 1139
电子 1139
机会 1137
科学 1135
只是 1134
今日 1131
然后 1131
娃娃 1127
优势 1125
保持 1125
支付 1125
告诉 1125
联合 1121
成都 1121
不少 1120
这里 1120
的主 1118
我不 1118
最高 1113
场的 1112
你不 1109
的不 1106
运营 1103
球员 1096
最佳 1094
推动 1093
过去 1093
不知 1092
升级 1091
首页 1089
近日 1087
面的 1087
利用 1085
生态 1084
一种 1084
定的 1084
阶段 1082
家庭 1082
建议 1082
采用 1081
事业 1078
行了 1077
国足 1074
传统 1074
务日 1071
以下 1071
调查 1070
方案 1070
作用 1066
变化 1063
预计 1061
核心 1061
价值 1061
专家 1061
我是 1060
制造 1059
光明 1058
公开 1058
按照 1057
地图 1055
会议 1055
家的 1054
看看 1050
玩儿 1050
粉丝 1049
文章 1049
动力 1048
竞争 1047
全部 1047
得到 1047
取得 1044
也有 1044
会计 1043
天津 1043
下的 1043
的事 1042
我这 1041
的关 1040
有人 1039
资格 1036
年轻 1035
我要 1032
的小 1029
国人 1027
地产 1025
有效 1023
之间 1022
大陆 1021
用的 1018
确定 1014
人在 1012
资产 1011
行政 1009
新华 1008
广州 1008
规模 1006
积极 1005
提出 1005
欢迎 1004
不可 1004
此外 1003
艺术 1002
的话 1002
团队 1001
最终 1001
一名 999
指数 998
重庆 998
的作 998
通知 997
成了 996
年来 995
精神 992
一点 992
公布 991
登录 987
共同 987
先生 986
制作 985
普通 985
位置 985
注意 985
此次 984
精彩 982
四川 981
左右 980
宣布 980
测试 979
浙江 979
下午 975
资料 974
务员 968
快速 966
者的 965
公务 964
超级 962
上一 961
一年 959
之一 956
无法 956
都有 956
明星 955
军事 955
最近 954
事件 953
保障 953
明显 951
在中 950
实际 950
感觉 948
最新 946
的地 945
的问 944
同比 942
行的 938
利亚 937
的方 937
下来 937
现了 936
未经 932
政治 931
的经 930
设备 930
简单 928
另外 927
是这 927
属于 927
时尚 924
罗斯 923
将在 922
高的 922
发行 921
广东 921
群众 921
故事 920
就不 920
创业 918
前的 917
共享 915
队的 915
培训 914
的中 913
针对 912
比如 912
免费 912
咨询 912
力的 911
医疗 910
当时 910
责人 908
努力 908
怀念 908
新疆 907
身体 906
京公 905
经过 905
去了 905
受到 902
值得 900
经验 897
每天 897
监管 896
毕业 896
不到 894
的成 893
容易 893
区域 891
人们 891
作的 889
一般 889
怀疑 888
广西 887
面对 887
男子 883
材料 883
亿美 879
志愿 879
视听 878
的第 878
决赛 875
加入 874
海外 872
一场 870
观众 869
形成 869
的最 867
商业 863
另一 862
深圳 862
让人 861
平均 861
越来 858
来越 858
老人 858
自动 857
间的 857
化的 856
的比 855
造成 855
整体 854
申请 854
统计 853
国队 851
马拉 851
亚洲 851
我就 851
方向 850
女人 850
观点 848
认识 848
委员 847
体系 846
为主 845
中央 845
让我 845
公告 843
才能 843
数量 842
会上 842
社区 842
坚持 840
决定 840
晚上 840
状态 839
预期 838
联盟 837
举行 836
具体 836
老婆 836
出版 835
方法 835
不好 835
本次 834
人士 834
启动 834
训练 833
监督 831
建筑 830
控制 828
公安 827
自然 827
回来 827
的那 826
程中 825
德国 824
多少 824
意见 823
少年 822
日前 820
结束 820
公里 819
考虑 819
师兄 819
能源 818
范围 816
性的 816
查询 816
照片 816
量的 815
俄罗 814
导致 814
的高 813
律师 812
贷款 811
双方 811
以后 811
扩大 810
广播 810
订阅 808
的基 808
结合 807
规划 807
连续 806
任务 806
的考 805
注明 804
比例 804
完全 804
更好 802
结婚 801
教师 800
效果 800
对外 799
体的 799
相比 798
如此 798
内的 797
行动 796
办公 796
的工 794
最好 794
时报 791
国互 790
大利 790
符合 789
男人 789
拉松 788
丰富 788
协议 788
为什 788
一位 786
方微 785
年度 784
女子 784
大会 784
几个 784
版本 783
了我 783
的女 780
出去 779
如今 778
的产 777
会有 777
只能 777
中学 776
许我 776
息网 775
年前 775
色的 774
及时 773
的信 773
的电 773
权声 772
国民 772
本站 771
全省 770
调剂 769
就业 769
指出 769
执行 769
每个 769
减少 768
一家 768
我也 768
乐视 767
商务 767
的同 767
闻网 764
部署 762
机制 762
不愿 762
员工 761
主题 760
真实 758
计算 758
录取 757
那你 757
安排 756
的美 753
冤枉 753
首次 752
云南 752
搭配 751
的全 750
要是 750
高速 749
三个 749
大量 748
实力 748
考研 748
到的 748
传媒 747
形式 747
站地 746
当然 745
是你 745
辽宁 744
青年 744
世纪 743
开放 743
笔试 741
为一 741
排名 740
一部 740
听节 739
明确 739
整个 739
的好 739
促进 738
欧洲 738
并且 738
即将 738
身份 738
电脑 738
成本 737
再次 737
经历 737
是有 737
肯定 737
大众 736
这次 736
动的 735
我在 735
国网 734
导弹 733
上线 733
多年 731
好了 731
一圈 731
结构 730
扫描 728
频道 728
地址 728
还没 728
十分 727
美女 727
事情 725
演员 723
近期 723
优秀 722
法院 722
那些 722
有了 721
两年 719
东西 718
还不 718
明网 717
赛的 716
足球 716
场比 715
一方 715
成立 715
力量 715
将会 713
研发 712
一款 712
的国 712
真正 711
区的 710
展的 709
收益 709
房地 709
邮箱 709
书记 709
相信 709
落实 708
回家 708
发挥 706
举办 706
品的 706
统一 705
检查 704
单车 702
设施 702
吸引 702
面临 701
得了 701
妈妈 701
任编 700
对手 700
住房 700
特色 700
自由 700
保证 700
心的 700
现金 699
记录 698
还可 697
电商 696
参数 696
查看 696
随后 695
财政 695
国国 694
尤其 693
深入 693
的影 693
床上 693
措施 692
经典 692
快乐 692
万富 692
户端 691
当地 691
同样 691
想要 691
现代 690
都会 690
品质 689
子的 689
会在 688
发动 687
人都 687
州市 686
的实 685
的内 685
也可 684
赛中 683
融资 683
备考 683
发表 682
此前 680
重大 680
严重 680
不准 680
电信 679
无论 679
福建 679
期待 679
主任 679
一天 679
上涨 678
开启 678
自行 678
热点 677
南省 677
深度 676
二维 676
公众 675
许多 675
商品 675
宝宝 674
维码 673
教练 673
人物 673
昨天 673
是个 673
下降 672
在国 671
导演 670
做好 670
还在 670
然而 669
车的 669
警方 667
高校 667
海军 667
办法 666
天的 666
自主 664
更是 664
简介 663
不良 663
有些 663
动机 662
当前 661
健身 661
的游 661
说的 661
的原 660
上午 660
原创 659
很大 659
我准 659
之外 658
年以 657
好友 657
了不 657
一页 656
突破 656
产生 656
机器 654
对此 653
农业 653
别是 653
的公 653
工业 653
天下 653
压力 652
南京 652
居民 650
背景 650
航空 650
的心 650
导价 649
同的 649
里面 649
哪里 649
安倍 648
制度 648
长的 648
信扫 647
对比 647
第四 647
风格 646
河北 646
人数 646
多人 646
都在 646
资本 645
附近 645
别人 645
不错 643
千万 643
享至 642
是很 642
驾驶 641
就可 641
机关 638
曝光 637
我一 637
于我 636
你就 636
一系 635
作人 635
两人 635
互动 634
而是 634
了吗 634
充分 633
湖南 633
还要 633
召开 632
发的 632
期的 631
以前 631
的资 630
终于 629
员会 628
角色 628
就会 628
降低 627
主席 626
在的 626
预约 626
比增 625
涉及 625
的机 625
满足 625
覆盖 625
将于 624
它的 624
元的 623
女性 623
我还 623
车辆 622
度的 622
院的 622
百万 621
依然 620
是他 620
哈哈 620
大数 619
出台 619
在于 619
有很 619
许你 619
论是 618
伙伴 618
是中 617
排行 616
赚钱 616
成长 616
市的 616
民族 616
会的 616
长期 615
改变 615
年龄 615
适合 615
的手 615
军训 615
浏览 614
链接 614
报社 614
成交 613
操作 613
东省 613
找到 612
也没 611
渠道 610
事实 610
是为 610
个小 610
况下 609
京市 609
卫生 609
合同 608
的表 607
们在 607
人家 607
取消 606
两岸 605
我国 605
关的 605
也会 605
的老 605
尽管 604
拍摄 604
更新 604
经常 604
市民 603
位的 603
小学 603
有多 603
的消 602
儿童 602
集中 600
了这 600
是要 600
球迷 599
有着 598
经理 598
印度 597
可是 597
万人 596
布了 596
业生 596
际在 595
业发 595
武器 594
同学 594
每一 593
数配 591
息举 591
只要 591
幸福 591
不了 591
公益 590
人口 590
在上 590
我想 590
海南 589
相当 589
上了 589
以为 589
市公 588
的球 587
究生 587
意识 587
在我 587
过来 587
创造 586
法国 586
么样 586
上述 585
儿子 585
采访 584
协会 584
的数 583
有所 583
信用 582
的学 581
到这 580
绿色 579
是最 579
运行 578
员的 577
这也 576
类型 576
的合 576
公共 575
正常 575
年代 574
心理 574
谷歌 573
本的 573
据悉 572
型图 572
国经 572
营养 572
国政 571
警察 570
英语 570
的这 570
的玩 570
务的 569
时的 569
到一 569
这两 569
你在 569
国新 568
程序 568
让你 568
完善 567
死亡 567
货币 566
哪些 566
而已 566
络传 565
相对 565
的行 565
知名 564
状况 564
布的 564
证明 564
说明 564
过了 564
新车 563
食品 563
农村 563
让他 563
就在 563
有点 563
我去 563
导航 562
到底 562
都没 562
税务 560
袭击 560
是因 560
在全 559
名单 559
然是 559
股票 558
动作 558
很好 558
通行 557
规范 557
生命 557
布会 556
岁的 556
杭州 555
速度 555
培养 555
对方 555
得不 555
民警 554
利润 554
专题 553
国务 553
优惠 553
担心 553
提前 553
新网 552
搜索 552
投入 552
的文 552
还能 552
供应 551
理念 550
精品 550
广大 550
的身 550
日的 549
能不 549
那就 549
趋势 548
几年 548
食物 547
性能 547
的特 547
确保 547
用了 547
营许 546
场上 546
意的 546
上升 545
距离 545
确认 545
的价 545
成的 545
不在 545
有个 545
你还 544
利率 543
动态 542
一篇 542
的感 542
而不 541
老年 540
透露 540
一路 540
的意 539
键词 539
准确 539
收藏 538
几乎 538
你一 538
一扫 537
采取 537
做到 537
干部 537
日上 537
均为 537
一张 537
令人 536
首先 536
是什 536
立即 535
这款 535
潜艇 534
供的 534
营销 534
的收 533
北方 533
院校 533
本人 533
日电 532
小米 532
人大 532
老公 532
本文 531
资者 531
上周 531
起床 531
的自 530
赶紧 530
的风 529
较大 529
费用 529
医生 529
人群 529
播视 528
转型 528
季度 527
月份 527
机的 527
一大 527
而在 526
领取 526
的在 526
设置 526
你要 526
领先 525
的优 525
技能 525
的设 524
课程 524
放弃 524
也就 524
本赛 523
目许 523
加快 523
呈现 523
近年 523
自身 523
地位 523
选手 523
扫一 522
犯罪 522
空气 522
外观 522
镜像 521
担任 521
组合 521
布局 520
住宅 520
各地 520
体现 520
法和 519
新出 519
客服 519
每日 519
合格 518
雪纺 518
用于 517
程度 517
京时 516
房价 516
定位 516
面积 515
理的 515
贵州 515
定要 515
看来 515
她们 515
加大 514
过的 514
良信 513
中华 513
式的 513
晚报 512
金的 512
治理 511
进口 511
文件 511
要不 511
红色 510
不想 510
域的 509
恐怖 509
的结 509
后一 509
试成 508
日在 508
理解 508
一切 508
宁波 508
于大 507
人工 507
软件 507
曾经 507
你说 507
强调 506
自治 506
背后 506
了他 505
几天 505
行证 504
高度 504
承诺 504
不再 504
日常 504
期限 502
购房 502
主力 502
装备 502
安徽 502
良好 501
半年 501
纽约 501
拥抱 501
复习 500
一段 500
的就 500
逐渐 499
而言 499
会发 499
山西 499
的专 499
推广 499
为中 498
因素 498
动物 498
的市 497
考核 497
贝尔 497
概念 496
长沙 496
拿到 496
在不 496
行情 495
运输 495
享受 495
感受 495
空军 495
意思 495
在赚 494
环保 494
一代 494
表达 494
引起 494
主义 494
你看 494
总统 493
报电 493
收购 493
的政 493
用手 493
患者 493
春季 492
巨大 492
年底 492
也在 492
熊猫 492
多个 491
讲话 491
是对 491
方网 490
英文 490
了大 490
获悉 489
众多 489
父母 489
定了 489
军的 489
玩耍 489
总裁 488
科目 488
台的 488
突然 488
和不 487
分数 487
邮件 487
出一 487
了你 487
意味 486
乐部 486
型的 486
篮球 486
给了 486
的名 486
游客 485
其它 485
大型 485
俱乐 485
主办 484
限制 484
事务 484
有可 484
有不 484
年全 483
聘信 483
迅速 483
民党 483
复制 483
当天 483
湖北 483
线上 483
的创 482
销量 482
的用 481
能在 481
澳大 480
据了 480
舞台 480
了自 480
公室 480
他说 480
减肥 480
家队 479
截至 479
地的 479
你去 479
一体 478
务院 478
的战 478
确实 478
将军 478
说我 477
正是 476
其是 475
同期 475
增强 474
一批 474
检察 474
大国 473
用微 473
职位 473
年内 473
依旧 473
演出 473
太阳 473
爱的 473
对其 472
金刚 472
创作 472
造型 472
每年 472
人生 472
华为 471
标题 471
严格 471
国产 471
困难 471
主动 471
才是 471
签约 471
天天 471
新一 470
的首 470
凤凰 470
球化 469
突出 469
主播 469
来到 469
岗位 469
上班 469
供给 468
五月 468
的所 468
重新 468
下面 468
专项 467
正文 467
主场 467
改善 467
机场 467
传递 466
交警 466
热线 466
成员 466
天气 466
好像 466
影片 465
地铁 465
日均 465
绝对 464
她的 464
哪个 464
我都 464
展示 463
十大 463
活跃 463
就能 463
监会 462
通用 462
并没 462
力度 462
邀请 462
众的 462
报中 461
独立 461
形象 461
电竞 460
网版 460
合理 460
不足 460
备去 460
业单 459
影视 459
加上 459
家人 459
名字 459
味着 458
友和 458
作战 458
国外 458
处于 458
公交 458
一条 458
是说 458
爆料 457
的可 457
们都 457
基于 456
气质 456
陕西 456
体检 456
江西 456
刚刚 456
版许 455
文明 455
入了 455
进球 454
环球 454
执法 454
和朋 454
董事 454
的车 454
最多 454
多了 454
歌词 454
占比 453
创意 453
伦敦 453
的选 453
的前 453
基地 453
思想 453
去的 453
我看 453
日讯 452
标签 452
使得 452
多数 452
网的 452
遇到 452
说是 452
们一 452
我说 452
日晚 451
十年 451
月天 450
仍然 450
旗下 450
对象 450
调控 449
户的 449
电力 449
这就 449
有什 449
在哪 449
大多 448
意义 448
时期 448
能的 448
重视 447
探索 447
高端 447
及其 447
低于 447
嗡嗡 447
维持 446
不代 446
鸡蛋 446
禁止 446
行车 446
离开 446
远不 446
中新 445
航母 445
平方 445
打击 445
高考 445
损失 445
号京 444
页面 444
现有 444
多次 444
房子 444
有没 444
约会 444
展开 443
强化 443
业绩 443
人不 443
衣服 443
不用 443
方米 442
禁区 442
物质 442
二手 442
了很 442
等方 441
题的 441
快的 441
娃儿 441
数字 440
界杯 440
意外 440
民政 440
办理 440
博鳌 439
展现 439
戏的 439
委会 439
新能 438
承担 438
热门 437
荣耀 437
的精 437
也将 436
友情 436
位于 436
一致 436
我和 436
危机 435
具备 435
配合 435
唯一 435
业内 434
河南 434
后来 434
原来 434
要去 434
永久 434
大幅 433
冰冰 433
的目 433
一份 433
的标 433
本来 433
各类 432
男篮 432
第十 432
响力 432
运会 432
吃饭 432
站律 431
现实 431
内部 430
阿里 429
值班 429
特殊 429
广场 429
了新 428
一群 428
搭载 427
制定 427
反映 427
给予 427
不一 427
裙子 427
资类 426
中介 426
器人 426
的通 426
大部 426
女儿 426
审查 425
案件 425
从而 425
强的 425
工商 425
高级 425
也能 425
单的 424
他在 424
至好 423
总理 423
硕士 423
土地 423
分的 423
实验 423
外媒 422
解读 422
判断 422
治区 422
大赛 422
依法 422
轻松 422
垃圾 422
的过 422
听到 422
陪你 422
生素 421
系方 421
审核 421
的外 421
为首 420
美联 420
睡眠 420
补贴 420
生物 420
战斗 420
立镜 419
为大 419
维生 418
颜色 418
的男 418
二十 418
盖茨 418
民网 417
联储 417
央行 417
得分 417
国大 417
做出 417
证书 417
组成 417
道路 417
现的 417
治疗 417
起了 417
就像 417
答疑 416
大力 416
财务 416
皇马 416
为我 416
你准 416
引发 415
手段 415
一时 415
读者 415
方的 415
当局 414
贡献 414
正确 414
的三 414
三年 414
月的 414
还会 414
学的 414
睡觉 414
视剧 413
地点 413
地球 413
很难 413
是大 413
就要 413
广泛 412
素质 412
年后 412
西省 412
来一 412
数学 411
司的 411
的东 411
愉快 411
争力 410
原则 410
美的 410
要有 410
好好 410
那里 410
首发 409
统的 409
现出 409
本身 409
的真 409
的两 409
就有 409
和你 409
男排 408
在此 408
球的 408
台上 408
信号 408
要在 408
寻找 408
迎来 407
顾问 407
小组 407
一线 407
都市 407
讨论 407
作业 407
的有 407
有这 407
享单 406
定制 406
支撑 406
的运 406
东方 406
在内 405
是它 405
通讯 405
当年 405
解释 405
都要 405
十二 405
的胸 405
限购 404
避免 404
队员 404
演唱 404
方便 404
解放 404
工资 404
浪公 403
新增 403
奥运 403
的朋 403
出网 402
业人 402
格的 402
是由 402
能会 402
完美 402
在北 402
身材 402
儿的 402
政部 401
在本 401
营业 401
环节 400
试的 400
的相 400
演的 400
主持 400
也要 400
亮的 400
今晚 400
件的 399
以在 399
么多 399
帮我 399
职了 399
济增 398
外界 398
克强 398
或建 398
无人 398
史上 398
掌握 398
评价 398
似乎 398
本地 398
大师 398
你可 398
浪简 397
品答 397
两国 397
中小 397
基层 397
西亚 397
提醒 397
大富 397
陪我 397
备辞 397
高清 396
为人 396
攻击 396
代的 396
高中 396
的网 396
变成 396
捐款 396
将是 395
证号 395
西安 395
对我 395
星期 395
厂商 394
网证 394
文物 394
至今 394
朝鲜 394
周边 394
加了 394
下了 394
勇气 394
售价 393
我省 393
线下 393
地下 393
应对 392
有利 392
铁路 392
外的 392
密码 392
别的 392
省国 391
李克 391
在新 391
现象 391
爱情 391
了个 391
你有 391
际上 390
队伍 390
主管 390
出生 390
女孩 390
青春 390
发了 390
新三 389
范冰 389
大厦 389
不够 389
看了 389
工具 388
表情 388
峰会 387
凭借 387
稿件 387
提示 387
的对 387
或许 387
播放 387
下周 387
跌幅 386
报记 386
蒙古 386
欣赏 386
的上 386
一的 386
女排 385
网新 385
诚信 385
特点 385
实践 385
安装 385
根本 385
不管 385
我给 385
宏观 384
情链 384
网出 384
更有 384
融合 384
应当 384
年年 384
设立 384
即可 384
做了 384
西班 384
班牙 384
甲方 384
亮相 383
总编 383
角度 383
点和 383
的变 383
幼儿 383
可不 383
休息 383
的位 382
时也 382
生在 382
三板 381
息服 381
的角 381
策略 381
态度 381
转发 381
能量 380
是国 380
的出 380
毕竟 380
上有 380
在家 380
还将 379
个赛 379
塞尔 379
笔记 379
的多 379
你也 379
在群 379
为全 378
实性 378
金额 378
的安 378
认真 378
王者 378
独家 377
违规 377
中有 377
的各 377
司机 377
过一 377
果你 377
两会 376
则是 376
逻辑 376
信公 375
变得 375
能是 375
起的 375
楼市 374
总决 374
播电 374
配备 374
财富 374
平安 374
您的 374
做的 374
年人 373
昨日 373
都能 373
想到 373
示范 372
电动 372
最低 372
得一 372
飞机 372
的天 372
们不 372
不均 372
据显 371
官员 371
火星 371
这位 371
厦门 371
紧张 371
至于 371
款车 370
巴萨 370
始终 370
回到 370
他一 370
酒店 370
和我 370
的粉 369
拿下 369
医药 369
的保 369
和国 369
出口 369
的交 369
流程 369
采购 369
各位 369
不多 369
那我 369
等多 368
优化 368
合法 368
样做 368
的要 368
我觉 368
里有 368
跟我 368
交所 367
览器 367
相应 367
的房 367
疯狂 367
了吧 367
国电 366
首付 366
西部 366
胜利 366
的现 366
话题 366
生了 366
回应 365
的投 365
质的 365
的技 365
轻人 365
的体 365
文字 365
感谢 365
开了 365
年报 364
们将 364
网通 364
留学 364
网易 364
的水 364
小的 364
来我 364
嫌疑 363
以内 363
行榜 363
的视 363
段时 363
下去 363
家里 363
加息 362
的热 362
周年 362
坚决 362
以说 362
下滑 362
先进 361
理论 361
在大 361
干嘛 361
曼联 360
编推 360
否认 360
鼓励 360
之中 360
一周 360
的开 360
纷纷 359
是全 359
身的 359
无线 359
记得 359
去玩 359
信信 358
利于 358
事故 358
的进 358
之路 358
公路 358
至少 358
们也 358
我好 358
班总 357
证注 357
成果 357
分为 357
富的 357
它们 357
精准 357
的平 357
武汉 357
你这 357
遭遇 356
黑色 356
汇率 355
安卓 355
泰国 355
加速 355
所在 355
八卦 355
日下 355
习惯 355
车站 355
得转 354
细节 354
持有 354
华尔 354
引导 354
是如 354
桃花 354
维护 354
的建 354
边的 354
增速 353
年中 353
电台 353
优质 353
疾病 353
家长 353
流量 353
登记 353
公园 353
上看 353
小区 353
太多 353
的兄 353
期收 352
小编 352
累计 352
于传 352
力和 352
完整 352
奖励 352
次的 352
同意 352
姐姐 352
去看 352
届中 351
民众 351
站导 351
条例 351
并在 351
自我 351
语言 351
养老 351
难以 351
女士 351
实的 351
备的 351
说话 351
的我 351
出色 350
仅仅 350
参赛 350
本科 350
协调 350
顺利 350
拒绝 350
么时 350
尔街 349
场景 349
界最 349
名称 349
充满 349
的动 349
事长 349
表演 349
本周 349
的能 349
这边 349
社交 348
家居 348
造的 348
销商 348
波动 348
消防 348
学会 348
总结 348
追求 348
单词 348
国会 347
逐步 347
号线 347
规则 347
四个 347
要做 347
天我 347
民进 346
华社 346
更为 346
舒适 346
著名 346
考察 346
为这 346
名的 346
的分 346
在网 346
给他 346
热词 345
阵容 345
数线 345
经销 345
强大 345
越多 345
发言 345
在第 345
发出 345
的空 345
部的 345
路上 345
估值 344
元素 344
熟悉 344
整治 343
各项 343
利益 343
的年 343
重的 343
总是 343
远都 343
前沿 342
处罚 342
的提 342
前往 342
详情 342
界的 342
恢复 342
日起 342
一件 342
有时 342
这几 342
约定 342
锦赛 341
奥迪 341
污染 341
围绕 341
计师 341
零售 341
求的 341
福利 341
点的 341
工智 340
多信 340
一项 340
解到 340
的传 340
必要 340
了两 340
那是 340
说你 340
道称 339
免责 339
辅导 339
周日 339
跟你 339
乖乖 339
进党 338
员考 338
先后 338
华人 338
难度 338
甘肃 338
业和 338
的观 338
会大 338
京东 338
流行 338
不合 338
缺乏 338
股东 337
普遍 337
的研 337
往往 337
会主 337
于是 337
的报 337
者在 337
的家 337
收到 337
新政 336
里皮 336
多种 336
创建 336
进攻 336
级的 336
苏州 336
的理 336
很有 336
有两 336
竟然 336
两天 336
省政 335
威胁 335
情绪 335
的群 335
增值 334
融时 334
公示 334
下跌 334
流动 334
部长 334
是那 334
回去 334
连衣 334
全年 333
面向 333
的企 333
予以 333
的支 333
师范 333
都可 333
那样 333
在接 332
责声 332
比分 332
表本 332
星座 332
监控 332
竞技 332
校园 332
写作 332
指标 332
刺激 332
内蒙 332
权益 332
沟通 332
皮肤 332
年成 331
总局 331
书面 331
意大 331
投诉 331
系的 331
个性 331
也很 331
准的 331
的眼 331
好多 331
打电 331
础上 330
副总 330
智慧 330
主角 330
女主 330
份证 330
类似 330
个时 330
怎样 330
清楚 330
的都 330
又不 330
板块 329
景下 329
壁纸 329
民生 329
硬件 329
申报 329
如下 329
委托 329
受伤 329
加盟 329
城区 329
中文 329
有意 329
的准 329
原标 328
出席 328
宝马 328
在今 328
第五 328
道的 328
出行 327
认定 327
多家 327
学家 327
的需 327
的职 327
唱会 327
大战 327
改造 327
上下 327
不如 327
衣裙 327
萨德 326
识到 326
整合 326
竞赛 326
仅是 326
日消 326
签署 326
效率 326
一度 326
是非 326
民的 326
有权 326
农民 326
女神 326
会不 326
础设 325
视觉 325
年会 325
事项 325
摄影 325
的海 325
的品 325
专门 325
的广 325
身上 325
看不 325
净利 324
轿车 324
独特 324
得更 324
访问 324
前一 324
放在 324
中超 323
街日 323
运用 323
子女 323
回归 323
宁夏 323
级别 323
外国 323
招考 322
战机 322
全运 322
疑人 322
和对 322
引进 322
大宝 322
从一 322
的个 322
三星 322
们这 322
我现 322
孕了 322
去游 322
制或 321
访时 321
备案 321
的增 321
饮食 321
年同 321
接近 321
为本 321
检测 321
追究 321
记本 321
人心 321
每次 321
女的 321
的卡 321
群主 321
这场 320
众号 320
机版 320
屏幕 320
青岛 320
尝试 320
即使 320
不容 320
带着 320
家都 320
的你 320
不去 320
我真 320
你那 320
试点 319
克斯 319
实行 319
复杂 319
估计 319
聚焦 318
登陆 318
观察 318
随时 318
声音 318
军队 318
是黄 318
物联 317
首相 317
人体 317
东风 317
一旦 317
的形 317
院长 317
红木 316
线城 316
所中 316
供了 316
退出 316
家在 316
这家 315
南海 315
兴趣 315
大大 315
二次 315
身边 315
聊天 315
编剧 314
的复 314
构成 314
印象 314
杨幂 314
充电 314
事的 314
的军 314
试时 313
报网 313
同其 313
走势 313
英超 313
外交 313
能否 313
实在 313
多元 312
排球 312
个国 312
了更 312
提交 312
买房 312
群体 312
打开 312
济南 312
忘记 312
网财 311
管部 311
闻信 311
产能 311
翘臀 311
各大 311
究院 311
得的 311
所谓 311
月底 311
诉你 311
来就 311
买了 311
秘诀 310
高层 310
政法 310
常规 310
仪式 310
成熟 310
博物 310
有机 310
有大 310
不住 310
女生 310
们还 310
马上 310
日快 310
下雪 310
多精 309
本市 309
录用 309
识别 309
通道 309
国在 309
感到 309
思考 309
隐藏 309
南宁 309
打印 309
以看 309
我知 309
个词 309
式上 308
贫困 308
各个 308
回答 308
为何 308
一句 308
我有 308
务许 307
赞同 307
车市 307
养生 307
飞行 307
产权 307
党员 307
周二 307
百度 307
确的 307
我只 307
盖章 307
的娃 307
游族 306
国公 306
从业 306
者从 306
豪华 306
挂牌 306
全力 306
当中 306
效应 306
成就 306
性和 306
在美 306
接下 306
的故 306
出发 306
部队 306
爱好 306
者是 306
房贷 305
网举 305
这部 305
友们 305
的商 305
在海 305
海报 305
是没 305
买的 305
蔡英 304
大片 304
梦想 304
很快 304
勇者 304
最重 303
人类 303
正的 303
看你 303
我没 303
的演 302
于中 302
优先 302
盘点 302
国海 302
礼包 302
时刻 302
答案 302
同事 302
好看 302
层次 301
一带 301
能手 301
肌肉 301
预测 301
上最 301
下半 301
医学 301
们就 301
上来 301
说了 301
备好 301
奖最 300
作出 300
术的 300
一是 300
长安 300
审批 300
战队 300
也许 300
会员 300
的很 300
申论 299
其观 299
递更 299
获取 299
涨幅 299
在台 299
注的 299
骷髅 299
东南 299
为国 299
好地 299
站在 299
留言 299
平时 299
定是 299
不起 299
我怀 299
好怀 299
字第 298
对中 298
新高 298
试图 298
海洋 298
情人 298
子一 298
见面 298
批准 298
说不 298
把我 298
你和 298
试题 297
了全 297
含有 297
上半 297
总经 297
经在 297
的反 297
道德 297
代理 297
个大 297
圈的 297
信业 296
经网 296
十足 296
重组 296
科研 296
围内 296
积分 296
度和 296
教授 296
婚姻 296
局长 296
但我 296
上去 296
开心 296
耍了 296
不但 295
出场 295
适应 295
线的 295
定不 295
放军 295
眼睛 295
那天 295
务部 294
平衡 294
更大 294
那种 294
经本 293
有望 293
近几 293
了中 293
的知 293
对这 293
劳动 293
人一 293
大概 293
延续 292
外援 292
车展 292
三大 292
气象 292
但在 292
新兴 292
高达 292
长和 292
对接 292
的规 292
全市 292
防守 292
大妈 292
应的 292
北省 292
带一 292
能让 292
感情 292
中医 292
翁了 292
但这 291
营收 291
受欢 291
母鸡 291
例如 291
关部 291
度上 291
足够 291
补充 291
物馆 291
发放 291
和大 291
小伙 291
校的 291
就好 291
的服 290
学术 290
高于 290
百分 290
的教 290
少女 290
卡的 290
军区 290
议会 289
在进 289
信心 289
旅行 289
活的 289
人是 289
勇士 289
已有 288
为此 288
的销 288
否则 288
在地 288
一套 288
上网 288
你永 288
本届 287
么? 287
会保 287
省委 287
带动 287
尺寸 287
手的 287
前在 287
师的 287
妹子 287
怀里 287
传承 286
冲击 286
套房 286
场所 286
工艺 286
等等 286
休闲 286
看她 286
的金 286
森林 286
带你 286
对不 286
不出 286
发射 285
高人 285
建成 285
习近 285
更高 285
神秘 285
门的 285
留下 285
两次 285
的歌 285
去医 285
连母 284
扫码 284
近平 284
并非 284
国企 284
春天 284
认可 284
加油 284
是可 284
耳机 284
个群 284
林丹 283
鸡都 283
购车 283
形势 283
奖金 283
流的 283
面上 283
国防 283
他还 283
不行 283
妹妹 283
投放 282
容的 282
的调 282
比上 282
万美 282
美食 282
人事 282
官网 282
成一 282
发到 282
是第 282
在外 282
律声 281
站声 281
们却 281
报警 281
贯彻 281
标的 281
学历 281
固定 281
者和 281
了啊 281
总体 280
从事 280
年之 280
为他 280
的世 280
些人 280
都很 280
真是 280
着手 279
专辑 279
上年 279
相互 279
房屋 279
考证 279
他是 279
圈儿 279
融界 278
欧元 278
描二 278
包含 278
将有 278
的推 278
三方 278
审计 278
一辆 278
过这 278
新生 278
台词 278
击败 277
金翎 277
翎奖 277
品推 277
红了 277
的社 277
有更 277
又一 277
账号 277
同一 277
又是 277
分布 277
们是 277
早上 277
以我 277
息报 276
内最 276
和全 276
题材 276
而这 276
人气 276
监测 276
较为 276
较高 276
足的 276
画面 276
歌曲 276
情的 276
在他 276
乐圈 276
明日 276
立了 275
力在 275
国男 275
该公 275
的历 275
改编 275
平等 275
练习 275
的力 275
可爱 275
了几 275
在那 275
难道 275
的宣 275
比尔 275
内饰 274
一轮 274
芯片 274
保留 274
纪录 274
家族 274
物业 274
理工 274
了多 274
风云 274
来不 274
和他 274
戏媒 273
权不 273
短线 273
主体 273
童装 273
动员 273
道歉 273
死了 273
我家 273
了没 273
致力 272
灵活 272
评估 272
尼亚 272
之家 272
主流 272
的功 272
向上 272
牌的 272
派出 272
水果 272
是以 272
为啥 272
是真 272
过生 272
作伙 271
新媒 271
与中 271
效的 271
来西 271
得出 271
副主 271
二是 271
检验 271
定性 271
海市 271
苏省 271
约时 271
是自 271
就算 271
是谁 271
为你 271
把你 271
再度 270
全程 270
难题 270
爆发 270
办的 270
指挥 270
类的 270
周末 270
走了 270
会儿 270
尔盖 270
枉我 270
力于 269
已成 269
生考 269
着一 269
纪念 269
小姐 269
后再 269
阳光 269
句话 269
面授 268
该机 268
月以 268
的核 268
呼唤 268
间为 268
房产 268
安局 268
把握 268
两位 268
的预 268
战争 268
魔兽 268
他人 268
错的 268
的英 268
你会 268
由贸 267
中公 267
本土 267
于参 267
简称 267
马来 267
招商 267
施工 267
得很 267
你家 267
在床 267
客场 266
有趣 266
显然 266
主演 266
调研 266
依据 266
之下 266
看起 266
伤害 266
他不 266
缺少 266
群的 266
黄骅 266
盈利 265
两款 265
打破 265
上演 265
赢得 265
区内 265
发育 265
十三 265
权利 265
气的 265
的黄 265
你了 265
东奥 264
蛋白 264
媒集 264
无用 264
科幻 264
酷爱 264
窗台 264
西藏 264
家公 264
纳入 264
在最 264
网备 263
奠定 263
塑造 263
创始 263
金价 263
通运 263
功率 263
试网 263
投稿 263
押金 263
于一 263
提到 263
的联 263
公约 263
生涯 263
记忆 263
是从 263
的吗 263
披露 262
自律 262
戏曲 262
实上 262
日至 262
依靠 262
战胜 262
和中 262
预防 262
党的 262
联想 262
园区 262
看好 262
会让 262
地上 262
的词 262
强赛 261
子邮 261
华网 261
深化 261
终端 261
合的 261
市政 261
东莞 261
是想 261
上次 261
他挑 260
深蹲 260
爱穿 260
无疑 260
相同 260
司法 260
内外 260
内地 260
的说 260
哪儿 260
决方 259
各级 259
信贷 259
性负 259
证实 259
收获 259
江省 259
网游 259
的状 259
敦煌 259
机械 259
儿园 259
市委 259
然不 259
近的 259
者不 259
玻璃 259
不敢 259
你想 259
网招 258
战世 258
痛哭 258
占据 258
恒大 258
国有 258
停车 258
察院 258
分配 258
不太 258
言人 257
凡本 257
到呼 257
后痛 257
民间 257
户籍 257
权威 257
以往 257
省人 257
分发 257
福州 257
开的 257
慢慢 257
宝贝 257
刷牙 257
经授 256
务业 256
政务 256
人社 256
却这 256
凄惨 256
高效 256
短期 256
制的 256
四季 256
法规 256
返回 256
母亲 256
发起 256
反应 256
十一 256
投信 255
网讯 255
她练 255
添加 255
学科 255
兰州 255
有哪 255
的爱 255
备了 255
反而 255
的还 255
河长 254
新秘 254
其真 254
宝听 254
子酷 254
穿童 254
辣辣 254
助力 254
此之 254
间内 254
剧情 254
排在 254
妻子 254
的本 254
发送 254
不需 254
上面 254
天都 254
个是 254
久的 254
姐妹 254
点儿 254
新型 253
务经 253
听障 253
障宝 253
唤后 253
蹲无 253
练翘 253
臀新 253
因凄 253
最辣 253
辣酱 253
酱后 253
太红 253
挂窗 253
颜值 253
访谈 253
编号 253
人选 253
积累 253
夺冠 253
拓展 253
左侧 253
投票 253
接触 253
能有 253
家就 253
传说 253
看我 253
车身 252
联考 252
山寨 252
题目 252
情感 252
为自 252
表的 252
新款 252
的青 252
涉嫌 251
业化 251
只需 251
刊登 251
实体 251
会对 251
进的 251
在去 251
打算 251
在你 251
那边 251
比亚 250
共有 250
导下 250
体报 250
真题 250
党委 250
个方 250
国之 250
直到 250
的下 250
不大 250
到我 250
渴望 250
群雄 250
包贝 249
通报 249
表了 249
股市 249
力推 249
称为 249
不适 249
准考 249
山路 249
明的 249
美军 249
白色 249
不说 249
天就 249
去哪 249
远是 249
权禁 248
高等 248
共和 248
或有 248
名第 248
于本 248
的科 248
学位 248
同步 248
房的 248
瞬间 248
于这 248
一块 248
老板 248
影院 248
你好 248
始人 247
专区 247
务合 247
落地 247
差异 247
亮点 247
图书 247
防止 247
产的 247
的单 247
小孩 247
话说 247
愿者 247
用卡 247
的啊 247
太空 246
收紧 246
动性 246
险公 246
与此 246
结论 246
新民 246
制品 246
束后 246
人上 246
景区 246
的音 246
太平 246
整理 246
回复 246
在日 246
的照 246
就没 246
我很 246
生气 246
叫我 246
国市 245
看全 245
戏中 245
构建 245
东网 245
格局 245
季的 245
注重 245
的城 245
看新 245
一人 245
该是 245
雄联 245
没准 245
友评 244
临的 244
陆续 244
育部 244
展会 244
年初 244
委书 244
等级 244
业部 244
物流 244
件事 244
就让 244
在微 244
到时 244
将其 243
年开 243
深刻 243
究所 243
配套 243
模拟 243
强烈 243
们可 243
前期 243
蓝色 243
那一 243
不见 243
敏感 243
刚才 243
路透 242
海国 242
将继 242
明来 242
国总 242
部网 242
与其 242
机看 242
夫妻 242
个问 242
教学 242
心中 242
到现 242
是人 242
不懂 242
好玩 242
族网 241
英镑 241
主招 241
大跌 241
力将 241
激烈 241
策的 241
要支 241
切实 241
业界 241
持人 241
不久 241
三分 241
危险 241
大连 241
均价 241
合肥 241
前两 241
心里 241
过我 241
一会 241
纸欣 240
海域 240
及以 240
髅岛 240
榜单 240
周期 240
争议 240
剧的 240
接到 240
市中 240
一半 240
等待 240
承认 240
恋爱 240
考查 239
复苏 239
门户 239
收集 239
上车 239
扶贫 239
连接 239
特的 239
中一 239
又有 239
节奏 239
很高 239
手术 239
理由 239
在了 239
民法 239
我会 239
专注 238
大奖 238
闻发 238
易和 238
通高 238
分点 238
队在 238
的竞 238
旗舰 238
为其 238
真相 238
驱动 238
观看 238
见的 238
的思 238
队长 238
的确 238
购物 238
们会 238
的快 238
好不 238
宁愿 238
房车 237
半场 237
gitextract_hjpms6fl/
├── .github/
│ ├── FUNDING.yml
│ └── donate.md
├── .gitignore
├── Dockerfile
├── LICENSE
├── README.md
├── README_EN.md
├── asrserver_grpc.py
├── asrserver_http.py
├── asrt_config.json
├── assets/
│ ├── asrt.proto
│ ├── asrt_pb2.py
│ ├── asrt_pb2_grpc.py
│ └── default.html
├── client_grpc.py
├── client_http.py
├── data_loader.py
├── dict.txt
├── download_default_datalist.py
├── evaluate_speech_model.py
├── language_model3.py
├── model_language/
│ ├── language_model1.txt
│ └── language_model2.txt
├── model_zoo/
│ └── speech_model/
│ ├── keras_backend.py
│ └── pytorch_backend.py
├── predict_speech_file.py
├── requirements.txt
├── speech_features/
│ ├── __init__.py
│ ├── base.py
│ ├── sigproc.py
│ └── speech_features.py
├── speech_model.py
├── speech_recorder.py
├── torch_speech_model.py
├── train_speech_model.py
├── train_speech_model_pytorch.py
└── utils/
├── config.py
├── ops.py
├── ops_test.py
└── thread.py
SYMBOL INDEX (167 symbols across 19 files)
FILE: asrserver_grpc.py
class ApiService (line 71) | class ApiService(AsrtGrpcServiceServicer):
method __init__ (line 76) | def __init__(self):
method Speech (line 79) | def Speech(self, request, context):
method Language (line 94) | def Language(self, request, context):
method All (line 107) | def All(self, request, context):
method Stream (line 123) | def Stream(self, request_iterator, context):
function run (line 162) | def run(host, port):
FILE: asrserver_http.py
class AsrtApiResponse (line 68) | class AsrtApiResponse:
method __init__ (line 73) | def __init__(self, status_code, status_message='', result=''):
method to_json (line 78) | def to_json(self):
function index_get (line 87) | def index_get():
function index_post (line 99) | def index_post():
function recognition_post (line 110) | def recognition_post(level):
FILE: assets/asrt_pb2_grpc.py
class AsrtGrpcServiceStub (line 8) | class AsrtGrpcServiceStub(object):
method __init__ (line 12) | def __init__(self, channel):
class AsrtGrpcServiceServicer (line 40) | class AsrtGrpcServiceServicer(object):
method Speech (line 44) | def Speech(self, request, context):
method Language (line 50) | def Language(self, request, context):
method All (line 56) | def All(self, request, context):
method Stream (line 62) | def Stream(self, request_iterator, context):
function add_AsrtGrpcServiceServicer_to_server (line 69) | def add_AsrtGrpcServiceServicer_to_server(servicer, server):
class AsrtGrpcService (line 98) | class AsrtGrpcService(object):
method Speech (line 103) | def Speech(request,
method Language (line 120) | def Language(request,
method All (line 137) | def All(request,
method Stream (line 154) | def Stream(request_iterator,
FILE: client_grpc.py
function run_speech (line 35) | def run_speech():
function run_lan (line 56) | def run_lan():
function run_all (line 72) | def run_all():
function run_stream (line 93) | def run_stream():
FILE: data_loader.py
class DataLoader (line 32) | class DataLoader:
method __init__ (line 40) | def __init__(self, dataset_type:str):
method _load_data (line 50) | def _load_data(self):
method get_data_count (line 76) | def get_data_count(self) -> int:
method get_data (line 82) | def get_data(self, index: int) -> tuple:
method shuffle (line 98) | def shuffle(self) -> None:
FILE: download_default_datalist.py
function deal_download (line 67) | def deal_download(datalist_item, url_prefix_str, datalist_path):
FILE: language_model3.py
class ModelLanguage (line 33) | class ModelLanguage:
method __init__ (line 38) | def __init__(self, model_path: str):
method load_model (line 44) | def load_model(self):
method pinyin_to_text (line 54) | def pinyin_to_text(self, list_pinyin: list, beam_size: int = 100) -> str:
method pinyin_stream_decode (line 75) | def pinyin_stream_decode(self, temple_result: list,
FILE: model_zoo/speech_model/keras_backend.py
class BaseModel (line 35) | class BaseModel:
method __init__ (line 39) | def __init__(self):
method get_model (line 46) | def get_model(self) -> tuple:
method get_train_model (line 49) | def get_train_model(self) -> Model:
method get_eval_model (line 52) | def get_eval_model(self) -> Model:
method summary (line 55) | def summary(self) -> None:
method get_model_name (line 58) | def get_model_name(self) -> str:
method load_weights (line 61) | def load_weights(self, filename: str) -> None:
method save_weights (line 64) | def save_weights(self, filename: str) -> None:
method get_loss_function (line 72) | def get_loss_function(self):
method forward (line 75) | def forward(self, x):
function ctc_lambda_func (line 79) | def ctc_lambda_func(args):
class SpeechModel251BN (line 85) | class SpeechModel251BN(BaseModel):
method __init__ (line 99) | def __init__(self, input_shape: tuple = (1600, 200, 1), output_size: i...
method _define_model (line 107) | def _define_model(self, input_shape, output_size) -> tuple:
method get_loss_function (line 186) | def get_loss_function(self) -> dict:
method forward (line 189) | def forward(self, data_input):
class SpeechModel251 (line 212) | class SpeechModel251(BaseModel):
method __init__ (line 226) | def __init__(self, input_shape: tuple = (1600, 200, 1), output_size: i...
method _define_model (line 234) | def _define_model(self, input_shape, output_size) -> tuple:
method get_loss_function (line 292) | def get_loss_function(self) -> dict:
method forward (line 295) | def forward(self, data_input):
class SpeechModel25 (line 318) | class SpeechModel25(BaseModel):
method __init__ (line 332) | def __init__(self, input_shape: tuple = (1600, 200, 1), output_size: i...
method _define_model (line 340) | def _define_model(self, input_shape, output_size) -> tuple:
method get_loss_function (line 392) | def get_loss_function(self) -> dict:
method forward (line 395) | def forward(self, data_input):
class SpeechModel24 (line 418) | class SpeechModel24(BaseModel):
method __init__ (line 432) | def __init__(self, input_shape :tuple=(1600, 200, 1), output_size: int...
method _define_model (line 440) | def _define_model(self, input_shape, output_size) -> tuple:
method get_loss_function (line 486) | def get_loss_function(self) -> dict:
method forward (line 489) | def forward(self, data_input):
FILE: model_zoo/speech_model/pytorch_backend.py
class SpeechModel251BN (line 30) | class SpeechModel251BN(nn.Module):
method __init__ (line 31) | def __init__(self, input_shape: tuple = (1600, 200, 1), output_size: i...
method forward (line 87) | def forward(self, x):
method compute_loss (line 121) | def compute_loss(self, y_pred, labels, input_length, label_length):
method get_model (line 127) | def get_model(self):
method get_model_name (line 130) | def get_model_name(self) -> str:
FILE: speech_features/base.py
function calculate_nfft (line 36) | def calculate_nfft(samplerate, winlen):
function mfcc (line 53) | def mfcc(signal, samplerate=16000, winlen=0.025, winstep=0.01, numcep=13,
function fbank (line 81) | def fbank(signal, samplerate=16000, winlen=0.025, winstep=0.01,
function logfbank (line 112) | def logfbank(signal, samplerate=16000, winlen=0.025, winstep=0.01,
function ssc (line 132) | def ssc(signal, samplerate=16000, winlen=0.025, winstep=0.01,
function hz2mel (line 161) | def hz2mel(hz):
function mel2hz (line 169) | def mel2hz(mel):
function get_filterbanks (line 177) | def get_filterbanks(nfilt=20, nfft=512, samplerate=16000, lowfreq=0, hig...
function lifter (line 207) | def lifter(cepstra, L=22):
function delta (line 223) | def delta(feat, N):
FILE: speech_features/sigproc.py
function round_half_up (line 35) | def round_half_up(number):
function rolling_window (line 39) | def rolling_window(a, window, step=1):
function framesig (line 46) | def framesig(sig, frame_len, frame_step, winfunc=lambda x: numpy.ones((x...
function deframesig (line 80) | def deframesig(frames, siglen, frame_len, frame_step, winfunc=lambda x: ...
function magspec (line 114) | def magspec(frames, NFFT):
function powspec (line 128) | def powspec(frames, NFFT):
function logpowspec (line 137) | def logpowspec(frames, NFFT, norm=1):
function preemphasis (line 153) | def preemphasis(signal, coeff=0.95):
FILE: speech_features/speech_features.py
class SpeechFeatureMeta (line 32) | class SpeechFeatureMeta:
method __init__ (line 37) | def __init__(self, framesamplerate=16000):
method run (line 40) | def run(self, wavsignal, fs=16000):
class MFCC (line 47) | class MFCC(SpeechFeatureMeta):
method __init__ (line 61) | def __init__(self, framesamplerate=16000,
method run (line 75) | def run(self, wavsignal, fs=16000):
class Logfbank (line 92) | class Logfbank(SpeechFeatureMeta):
method __init__ (line 97) | def __init__(self, framesamplerate=16000, nfilt=26):
method run (line 101) | def run(self, wavsignal, fs=16000):
class Spectrogram (line 108) | class Spectrogram(SpeechFeatureMeta):
method __init__ (line 113) | def __init__(self, framesamplerate=16000, timewindow=25, timeshift=10):
method run (line 128) | def run(self, wavsignal, fs=16000):
class SpecAugment (line 160) | class SpecAugment(SpeechFeatureMeta):
method __init__ (line 165) | def __init__(self, framesamplerate=16000, timewindow=25, timeshift=10):
method run (line 180) | def run(self, wavsignal, fs=16000):
FILE: speech_model.py
class ModelSpeech (line 35) | class ModelSpeech:
method __init__ (line 44) | def __init__(self, speech_model, speech_features, max_label_length=64):
method _data_generator (line 52) | def _data_generator(self, batch_size, data_loader):
method train_model (line 89) | def train_model(self, optimizer, data_loader, epochs=1, save_step=1, b...
method load_model (line 136) | def load_model(self, filename):
method save_model (line 142) | def save_model(self, filename):
method evaluate_model (line 148) | def evaluate_model(self, data_loader, data_count=-1, out_report=False,...
method predict (line 222) | def predict(self, data_input):
method recognize_speech (line 230) | def recognize_speech(self, wavsignal, fs):
method recognize_speech_from_file (line 249) | def recognize_speech_from_file(self, filename):
method model (line 258) | def model(self):
FILE: speech_recorder.py
function record_wave (line 30) | def record_wave(wavfile,
FILE: torch_speech_model.py
class SpeechDataset (line 36) | class SpeechDataset(Dataset):
method __init__ (line 37) | def __init__(self, data_loader, speech_features, input_shape, max_labe...
method __len__ (line 44) | def __len__(self):
method __getitem__ (line 47) | def __getitem__(self, index):
class ModelSpeech (line 72) | class ModelSpeech:
method __init__ (line 73) | def __init__(self, speech_model: torch.nn.Module, speech_features: Spe...
method train (line 80) | def train(self, data_loader: DataLoader, epochs: int, batch_size: int,...
method save_weight (line 133) | def save_weight(self, filename: str):
method load_weight (line 137) | def load_weight(self, filepath: str):
FILE: utils/config.py
function load_config_file (line 34) | def load_config_file(filename: str) -> dict:
function load_pinyin_dict (line 53) | def load_pinyin_dict(filename: str) -> tuple:
FILE: utils/ops.py
function read_wav_data (line 32) | def read_wav_data(filename: str) -> tuple:
function read_wav_bytes (line 49) | def read_wav_bytes(filename: str) -> tuple:
function get_edit_distance (line 63) | def get_edit_distance(str1, str2) -> int:
function ctc_decode_delete_tail_blank (line 79) | def ctc_decode_delete_tail_blank(ctc_decode_list):
function visual_1D (line 89) | def visual_1D(points_list, frequency=1):
function visual_2D (line 102) | def visual_2D(img):
function decode_wav_bytes (line 112) | def decode_wav_bytes(samples_data: bytes, channels: int = 1, byte_width:...
function get_symbol_dict (line 127) | def get_symbol_dict(dict_filename):
function get_language_model (line 150) | def get_language_model(model_language_filename):
function ctc_decode_stream (line 171) | def ctc_decode_stream(tokens):
FILE: utils/ops_test.py
class TestGetEditDistance (line 30) | class TestGetEditDistance:
method test_1 (line 31) | def test_1(self):
method test_2 (line 37) | def test_2(self):
method test_3 (line 43) | def test_3(self):
method test_4 (line 49) | def test_4(self):
method test_5 (line 55) | def test_5(self):
method test_6 (line 61) | def test_6(self):
class TestCtcDecodeDeleteTailBlank (line 68) | class TestCtcDecodeDeleteTailBlank:
method test_1 (line 69) | def test_1(self):
method test_2 (line 75) | def test_2(self):
method test_3 (line 81) | def test_3(self):
method test_4 (line 87) | def test_4(self):
method test_5 (line 93) | def test_5(self):
class TestCtcDecodeStream (line 100) | class TestCtcDecodeStream:
method test_1 (line 101) | def test_1(self):
method test_2 (line 112) | def test_2(self):
FILE: utils/thread.py
class threadsafe_iter (line 34) | class threadsafe_iter:
method __init__ (line 38) | def __init__(self, it):
method __iter__ (line 42) | def __iter__(self):
method __next__ (line 45) | def __next__(self):
function threadsafe_generator (line 50) | def threadsafe_generator(f):
Condensed preview — 40 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,373K chars).
[
{
"path": ".github/FUNDING.yml",
"chars": 510,
"preview": "# These are supported funding model platforms\n\ngithub: nl8590687 # Replace with up to 4 GitHub Sponsors-enabled username"
},
{
"path": ".github/donate.md",
"chars": 520,
"preview": "# Donate 打赏作者\n\n本项目的作者@nl8590687 (repo owner)现在其实还是一名学生...\n\n如果您觉得本项目给您的学习和工作带来了一些帮助,可以考虑给作者一些打赏,用来给他在炎热的夏天买一瓶冰可乐,或者寒冷的冬天买"
},
{
"path": ".gitignore",
"chars": 223,
"preview": "## Ignore some files and folders for copyright and other reasons. \n\n*.model\n*.model.base\n[Mm]odel_speech/\n\n__pycache__\n*"
},
{
"path": "Dockerfile",
"chars": 2180,
"preview": "# Ubuntu 20.04\nFROM ubuntu:focal\n\n# 切换默认shell为bash\nSHELL [\"/bin/bash\", \"-c\"]\n\nADD ./ /asrt_server\n\nWORKDIR /asrt_server\n"
},
{
"path": "LICENSE",
"chars": 35150,
"preview": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free "
},
{
"path": "README.md",
"chars": 8178,
"preview": "\r\n\r\n[\n\n[. The extraction includes 40 files (3.1 MB), approximately 804.3k tokens, and a symbol index with 167 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.