Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
An Automatic Speech Recognition Frame ,一个中文语音识别的完整框架, 提供了多个模型
| Date | Stars |
|---|---|
| 2026-07-31 | 252 |
| 2026-08-01 | 252 |
| 2026-08-06 | 252 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# ASRFrame - 没有什么是10层卷积解决不了的。 - 如果有,就再来十层,再加个残差,再加个... # 更新日志 【2019年8月7日】更新了更改字典后的模型 【2019年8月7日】根据目前训练出的声学模型,对所有的数据进行了预测,并统计得到了预测错误的拼音对应的字典文件(保存到了`./util/dicts/errdict.json`下,修改了为语言模型提供数据集的类,支持按概率更改原拼音为错误拼音 【2019年8月21日】本项目暂停更新,日后有需要时再重启。 【2020年1月23日】本项目废弃 # 介绍 项目链接:https://github.com/sailist/ASRFrame 一个完整的语音识别框架,包括从数据清洗接口,数据读取接口到语音模型、声学模型、到最后的模型整合和UI的一整套流程 目前声学部分拼音识别准确率已经比较高了,但语言模型仍然存在诸多问题需要解决,因此开源该项目,希望大家群策群力,将它的效果进行提升。 # 本项目的优点 - 数据接口易于使用,常用的几个数据集已经实现了接口,只需要下载,解压,在配置文件中更改路径后,即可运行清洗方法,并自动获取所有音频和标注 - 模型类已经写好,只需要关注模型结构,并保证输入输出格式,之后只需不到10行代码即可完成自动保存、训练 - 集成了目前的几个开源项目中的模型,并训练了相应的模型文件 - 较为详细的注释和清晰的代码,易于学习和修改 # 本项目的缺点 - 识别率仍然是一个大痛点,语音到拼音的识别能有大概80%以上的识别率(不过即使识别错了,也能保证是音近字),但存在100%识别正确的可能,拼音到汉字可能会更低,但也存在100%识别正确的可能,这跟环境、语速、玄学有关 - 封装的有点太死了,如果要把模型取出来单独用可能会比较麻烦 # 部署方法 本项目仅需Python及其相关依赖包即可,省时省力,同时在realease中我提供了预训练的权重 ## 系统要求 Python - Distance (>=0.1.3) - jieba (>=0.39) - Keras (>=2.2.4) - librosa (>=0.6.3) - numpy (>=1.16.2) - pypinyin (>=0.35.3) - python-speech-features (>=0.6) - scipy (>=1.2.1) - tensorflow (>=1.13.1) - thulac (>=0.2.0) - pydub (>=0.23.1) ## 安装依赖 ```bash pip install -r requirement.txt ``` ## 声学模型 想看直接使用的方法的话请往后翻,从头训练从这里往下按步骤进行即可,本项目覆盖了数据集下载、清洗、调用模型、训练的全过程 ### 下载数据集 打开网页链接后仅下载链接名对应的文件即可 #### THCHS30 万余条语音文件,大约40小时。内容以文章诗句为主,全部为女声。(清华大学语音与语言技术中心(CSLT)出版) 下载链接:[data_thchs30.tgz](https://openslr.org/18/) #### Free ST Chinese Mandarin Corpus 10万余条语音文件,大约100余小时。内容以平时的网上语音聊天和智能语音控制语句为主,855个不同说话者,同时有男声和女声,适合多种场景下使用。 下载链接:[ST-CMDS-20170001_1-OS.tar.gz](https://openslr.org/38/) #### AISHELL开源版 包含178小时的开源版数据。包含400个来自中国不同地区、具有不同的口音的人的声音。录音质量高,通过专业的语音注释和严格的质量检查,手动转录准确率达到95%以上。 下载链接:[data_aishell.tgz](https://openslr.org/33/) #### Primewords Chinese Corpus Set 1 包含了大约100小时的中文语音数据。语料库由296名母语为英语的智能手机录制。转录准确度大于98%,置信水平为95%。抄本和话语之间的映射以JSON格式给出。 下载链接:[primewords_md_2018_set1.tar.gz](https://openslr.org/47/) #### Aidatatang_200zh 200小时(当前时长最长的中文开源语音数据集),由Android系统手机(16kHz,16位)和iOS系统手机(16kHz,16位)记录。录音环境安静,录音者性别、年龄均匀分布。每个句子的手动转录准确率大于98%。 下载链接:[aidatatang_200zh.tgz](https://openslr.org/62/) ### 配置路径 在`config.py`目录下,配置相应的语料路径,注意是根路径,如果还不确定请参考具体注释设置路径。 ### 清洗声学语料 由于数据集格式不同,且其中的汉字不一定覆盖了全字典,因此清洗声学数据集的目的主要有以下几点: - 保证所有的wav文件下都有一个标注文件,并且统一第一行是汉字,第二行的拼音,没有标签的wav文件全被删除(这主要针对aishell这个数据集,里面有很多未标注的音频文件)。 - 保证拼音和汉字都存在在字典中,可以被覆盖,不存在的数据均被删除。 - 保证汉字和拼音一一对应,存在英语、数字的文件应该被删除(因为即使是数字,一百和一零零的发音也是不同的难以确定),标点符号空格等应该被去掉。 因此我的方法是,基于数据集用代码统计生成汉字和拼音字典,在生成的同时根据词频,手动将词频小的拼音和汉字删除,最后再基于手工确认好的字典,将数据集中无法覆盖的数据去除。 在我的选择中,我将数据集中频数小于50的拼音和汉字都去除了 如果你不需要重新确认字典,可以直接运行以下代码清洗语料,会大概删除几千个文件,包括汉字中有数字字母的,字符长度对不上的,拼音不在字典中的(非常用拼音) ```bash python run_clean.py ``` 如果你需要确认字典,那么请具体参考一下`run_create_dict.py`中的代码,自行生成字典 > PS1:标注拼音使用 pypinyin > PS2:最终所有的音频的标注文件均满足:第一行汉字,没有字母数字空格标点,全部存在于字典中;第二行为拼音(带声调),中间以一个空格隔开,全部存在于拼音字典中。 ### 统计数据信息 ```bash python run_summary.py ``` 对下载下来的数据集进行统计(只针对声学模型),输出相应的信息和图片,如果没有意外,控制台输出如下: ```text start to summary the Thchs30 dataset checked 13375 wav files:/data/voicerec/dataset/dataset/thchs30-openslr/data_thchs30/data/D6_938.wavv max audio len = 261000, max timestamp = (281, 603) ,min audio len = 71424, sample = 16000 checked 13375 label files:/data/voicerec/dataset/dataset/thchs30-openslr/data_thchs30/data/D6_938.wav.trnn max label len = 48, min label len = 19, pinpin coverage:1208 result from 13376 sample, used 3.7486759999999997 sec Load pinyin dict. Max index = 1436. start to summary the AiShell dataset checked 141599 wav files:/data/voicerec/ALShell-1/data_aishell/wav/train/S0003/BAC009S0003W0427.wav max audio len = 235199, max timestamp = (281, 544) ,min audio len = 19680, sample = 16000 checked 141599 label files:/data/voicerec/ALShell-1/data_aishell/wav/train/S0003/BAC009S0003W0427.txt max label len = 44, min label len = 1, pinpin coverage:1196 result from 141600 sample, used 98.877352 sec Load pinyin dict. Max index = 1436. start to summary the Primewords dataset checked 50369 wav files:/data/voicerec/Primewords Chinese Corpus Set 1/primewords_md_2018_set1/audio_files/5/57/5732d955-b4f4-41a4-b60f-32b42da573af.wav max au
Excerpt of 10,608 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:379977d08fe29695, desc:speech recognition