littlebot
Published on 2025-04-16 / 1 Visits
0

【源码】基于Python和TensorFlow框架的语音识别系统

项目简介

本项目基于Python和TensorFlow框架构建语音识别系统,将GAU transformer应用于语音领域,采用CTC结构、interCTC和随机深度技术,具备音频特征提取、数据增强、模型训练评估及实时语音识别等功能。

项目的主要特性和功能

  1. 独特模型架构:以GAU为基础模块,结合interCTC和随机深度技术,增强模型泛化能力与识别准确性。
  2. 多样音频处理:有MFCC、对数梅尔频谱图、线性频谱图等多种音频特征提取方法,还有信号归一化、预加重、去加重等处理功能。
  3. 数据增强策略:运用频率掩膜和时间掩膜技术,模拟音频信息丢失,提升模型健壮性。
  4. 完整训练评估流程:涵盖数据预处理、模型构建、训练、验证和预测等步骤。
  5. 实时语音识别功能:可从麦克风实时接收音频数据并完成语音识别。

安装使用步骤

环境准备

确保已安装Python和TensorFlow,并配置好相应环境变量。项目依赖以下特定版本库: - tensorflow - gpu==1.15.5 - keras==2.3.1 - ds_ctcdecoder==0.9.3 其他环境可在requirement.txt中查找。

数据准备

  1. 下载数据,如primewords可在这里下载,也可下载AISHELL1、AIDATATANG、MAGIC_DATA等。
  2. 运行python get_csv_data.csv --label_file_path [path1] --audio_dir [path2],将下载好的primewords的标签文件地址和音频地址作为参数输入,自动获得分割好的训练集、测试集和验证集的csv文件。
  3. 运行python get_tfrecord_data.py --csv_path [path1] --save_path [path2],将处理好的csv文件的地址以及保存tfrecord文件的地址作为参数输入,自动获得tfrecord数据,需分别对训练集、测试集、验证集运行。

模型训练

运行python train_fast.py --config_path yamls/primewords_L16_H512_A128.yaml --train进行单卡训练,设置multi_card=Truegpu_id='0,1,2,3'可进行任意多卡训练。

模型评估

运行python evaluate.py --config_path yamls/evaluate_multitask.yaml,更改yaml中的dev_loaddirsdev_csvsload_model_pathscorer_path可进行预测。

实时语音识别

运行python mic_vad_streaming.py,将yamls/evaluate_multitask.yaml中的scorer_pathload_model_path更改为正确的地址,即可进行实时语音识别。

scorer构建[可选]

预测时可采用贪婪解码,也可加入语言模型进行beam search解码以提高准确性。因采用deepspeech的ds_ctcdecoder,可直接使用deepspeech生成的语言模型scorer,生成步骤如下: 2. 执行以下命令: cd kenlm python generate_lm.py --input_txt vocabulary.txt --output_dir . --top_k 500000 --kenlm_bins build/bin/ --arpa_order 5 --max_arpa_memory "85%" --arpa_prune "0|0|1" --binary_a_bits 255 --binary_q_bits 8 --binary_type trie --discount_fallback ./generate_scorer_package --alphabet alphabet.txt --lm data/lm.binary --vocab vocab-500000.txt --package kenlm.scorer --default_alpha 1 --default_beta 4 --force_bytes_output_mode True 需更改--input_txt--alphabet对应的文本和最小字符。 3. vocabulary.txt内容以空格分隔每一个字,alphabet.txt每行一个字符。项目在scorers文件夹中放了primewords的scorer,其他数据集的scorer可通过相同方式生成。

模型checkpoint与scorer下载

链接:https://pan.baidu.com/s/1V46Z - n3rW4zvLfNZGOnRBw 提取码:36r0

注意事项

  1. 环境配置:需安装特定版本的TensorFlow和其他库,确保版本正确。
  2. 数据格式:音频数据需以特定格式提供,保证与项目要求一致。
  3. 模型训练时间:模型训练耗时较长,确保有足够计算资源。
  4. 模型评估指标:项目以字符错误率(CER)作为评估指标,可按需调整。
  5. 实时语音识别:实时语音识别依赖麦克风输入,确保麦克风设备正常工作。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】