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

【源码】基于Flask和Vue的自动语音识别系统

项目简介

本项目是基于Flask和Vue构建的自动语音识别系统。前端运用Vue搭建用户交互界面,后端借助Flask提供服务。利用tensorflow==2.1.0实现自动语音识别功能,支持英语语音识别,且具备模型训练和预测的相应流程与方法。

项目的主要特性和功能

  1. 语音识别:可将16kHz采样率的英语音频转换为文本。
  2. 模型训练:支持使用预定义的DeepSpeech2模型结构进行训练,能设置模型参数、训练数据、优化器等。
  3. 模型评估:可计算词错误率(WER)和字符错误率(CER),以此评估模型性能。
  4. 模块化设计:管道组件相互独立,可按需调整特征提取、数据增强或添加语言模型解码器等。

安装使用步骤

安装依赖

可使用pip安装: bash pip install automatic-speech-recognition 或者复制代码并通过conda创建新环境: bash conda env create -f=environment.yml # 或使用: environment-gpu.yml conda activate Automatic-Speech-Recognition

数据准备

准备好音频文件和对应的文本文件用于训练和测试模型,并将其路径配置到相应的CSV文件中。

模型训练

运行以下Python代码进行模型训练: ```python import numpy as np import tensorflow as tf import automatic_speech_recognition as asr

dataset = asr.dataset.Audio.from_csv('train.csv', batch_size=32) dev_dataset = asr.dataset.Audio.from_csv('dev.csv', batch_size=32) alphabet = asr.text.Alphabet(lang='en') features_extractor = asr.features.FilterBanks( features_num=160, winlen=0.02, winstep=0.01, winfunc=np.hanning ) model = asr.model.get_deepspeech2( input_dim=160, output_dim=29, rnn_units=800, is_mixed_precision=False ) optimizer = tf.optimizers.Adam( lr=1e-4, beta_1=0.9, beta_2=0.999, epsilon=1e-8 ) decoder = asr.decoder.GreedyDecoder() pipeline = asr.pipeline.CTCPipeline( alphabet, features_extractor, model, optimizer, decoder ) pipeline.fit(dataset, dev_dataset, epochs=25) pipeline.save('/checkpoint') ```

模型预测

使用以下Python代码进行语音识别预测: ```python import automatic_speech_recognition as asr

file = 'to/test/sample.wav' # 采样率为16kHz,位深度为16位 sample = asr.utils.read_audio(file) pipeline = asr.load('deepspeech2', lang='en') pipeline.model.summary() # TensorFlow模型 sentences = pipeline.predict([sample]) ```

模型评估

运行以下Python代码评估模型: python test_dataset = asr.dataset.Audio.from_csv('test.csv') wer, cer = asr.evaluate.calculate_error_rates(pipeline, test_dataset) print(f'WER: {wer} CER: {cer}')

启动服务

分别启动前端Vue项目和后端Flask服务,进行系统的交互使用。在Vue目录下启动前端项目,在flask_server目录下启动后端服务。

下载地址

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