ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ESPnet2 低资源泰卢固语语音识别实战:Microsoft Speech Corpus 40 小时 ASR Recipe 全解析

ESPnet2 低资源泰卢固语语音识别实战:Microsoft Speech Corpus 40 小时 ASR Recipe 全解析 人工智能语音音频深度学习NLP【免费下载链接】espnetEnd-to-End Speech Processing Toolkit项目地址https://gitcode.com/gh_mirrors/es/espnet点击查看免费下载本指南以 egs2/microsoft_speech/asr1/README.md 为核心系统讲解 ESPnet2 官方提供的 Microsoft Speech Corpus微软印度语低资源语音挑战赛数据集泰卢固语Telugu语音识别 recipe。文章将覆盖数据集背景与引用信息、完整的数据准备流程、三类主流训练配置Conformer HuBERT 前端、Conformer wav2vec2 前端、纯 Fbank 基线的源码级剖析以及报告中的 WER/CER/TER 完整评测结果。读完本文你将掌握如何从零复现该 recipe、如何理解与调整每一份 YAML 配置以及如何对比自监督前端与多语言 BPE 在低资源 ASR 上的实际收益。一、任务背景Interspeech 2018 低资源 ASR 挑战赛与 Microsoft Speech Corpus该 recipe 面向的数据集是 Microsoft 发布的印度语语音语料Microsoft Speech Corpus其出处为 Interspeech 2018 低资源自动语音识别挑战赛Low Resource Automatic Speech Recognition Challenge for Indian Languages。README 中给出了官方引用信息在论文或报告中引用该数据集时应采用以下 BibTeXinproceedings{srivastava2018interspeech, title{Interspeech 2018 Low Resource Automatic Speech Recognition Challenge for Indian Languages.}, author{Srivastava, Brij Mohan Lal and Sitaram, Sunayana and Mehta, Rupesh Kumar and Mohan, Krishna Doss and Matani, Pallavi and Satpal, Sandeepkumar and Bali, Kalika and Srikanth, Radhakrishnan and Nayak, Niranjan}, booktitle{SLTU}, pages{11--14}, year{2018} }README 明确说明本 recipe 提供针对该数据集中泰卢固语Telugu代码te的训练配置语料规模为40 小时。这是一个典型的低资源语音识别场景训练数据量小、语言为非英语、需要借助自监督预训练模型或数据增强等手段来弥补数据不足。需要说明的是run.sh 第 8 行的注释表明langte #te, ta即 recipe 本身同时预留了泰卢固语te和泰米尔语ta两种语言的切换能力只需修改lang变量即可切换。二、Recipe 目录结构与运行入口在开始复现之前先整体了解 recipe 的目录组织以仓库根目录为基准文件/目录作用egs2/microsoft_speech/asr1/run.sh顶层入口脚本汇总全部训练/评测参数并调用asr.shegs2/microsoft_speech/asr1/asr.shESPnet2 通用 ASR 主流程脚本与 TEMPLATE 一致按 stage 执行数据准备→特征→BPE→训练→解码egs2/microsoft_speech/asr1/db.sh定义语料库路径变量MICROSOFT_SPEECH_CORPUSegs2/microsoft_speech/asr1/local/data.sh数据准备入口下载检查 调用 Python 脚本egs2/microsoft_speech/asr1/local/process.py将原始语料转换为 Kaldi 风格data/目录的核心脚本egs2/microsoft_speech/asr1/conf/train_asr.yaml默认 ASR 配置Conformer HuBERT s3prl 前端egs2/microsoft_speech/asr1/conf/train_lm.yaml语言模型Transformer LM配置egs2/microsoft_speech/asr1/conf/decode_asr.yaml解码配置egs2/microsoft_speech/asr1/conf/tuning/调优配置集fbank 基线、HuBERT、wav2vec2、LM、解码等egs2/microsoft_speech/asr1/cmd.sh并行调度后端本地/队列配置egs2/microsoft_speech/asr1/path.sh环境与 PATH 配置run.sh一键训练入口run.sh 完整内容如下它是理解整个 recipe 参数体系的关键#!/usr/bin/env bash set -e set -u set -o pipefail langte #te, ta train_settrain_$(echo ${lang} | tr - _) train_devdev_$(echo ${lang} | tr - _) test_set${train_dev} test_$(echo ${lang} | tr - _) asr_configconf/train_asr.yaml lm_configconf/train_lm.yaml inference_configconf/decode_asr.yaml nbpe200 ./asr.sh \ --ngpu 4 \ --lang ${lang} \ --local_data_opts --lang ${lang} \ --use_lm true \ --lm_config ${lm_config} \ --token_type bpe \ --nbpe $nbpe \ --feats_type raw \ --speed_perturb_factors 0.9 1.0 1.1 \ --asr_config ${asr_config} \ --inference_config ${inference_config} \ --train_set ${train_set} \ --valid_set ${train_dev} \ --test_sets ${test_set} \ --bpe_train_text data/${train_set}/text \ --lm_train_text data/${train_set}/text $各关键参数说明--ngpu 4使用 4 块 GPU 并行训练README 中 LM 配置注释也提到 Trained with Nvidia TESLA V100, with 16GM RAM, x4。--lang te目标语言同时传递给--local_data_opts供数据准备脚本使用。--token_type bpe--nbpe 200采用 BPE 子词建模词表大小 200——这是针对 40 小时小语料的典型取值词表训练文本来自data/train_te/text。--feats_type raw不预提取 Fbank直接以原始波形送入网络这也是 s3prl 前端配置的前提。--speed_perturb_factors 0.9 1.0 1.1三档变速扰动做数据增强可将有效训练数据量近似扩大 3 倍是低资源场景最常用的增强手段之一。--use_lm true训练 Transformer 语言模型并在解码阶段配合 ngram 进行重打分见评测标签中的ngram_3gram。--train_set/--valid_set/--test_sets训练集train_te、验证集dev_te、测试集dev_te test_te。语料路径配置db.shdb.sh 中定义了变量MICROSOFT_SPEECH_CORPUS默认值为空需要用户自行填写语料实际存放路径。注意该数据集不提供自动下载与标注了downloads的语料不同数据准备脚本会校验指定的目录结构是否完整。在 CMU TIR 集群环境下db.sh 还提供了预配置路径MS_INDIC_IS18/projects/tir6/general/cnariset/corpora/microsoft_speech_corpus_indian_languages可供参考。三、数据准备流程从原始语料到 Kaldi 风格数据目录数据准备由 local/data.sh 驱动核心逻辑如下if [ -z ${MICROSOFT_SPEECH_CORPUS} ]; then log Fill the value of MICROSOFT_SPEECH_CORPUS of db.sh exit 1 fi ... if [ ${stage} -le 0 ] [ ${stop_stage} -ge 0 ]; then log stage1: Download data to ${MICROSOFT_SPEECH_CORPUS} log Download data from the link: https://msropendata.com/datasets/7230b4b1-912d-400e-be58-f84e0512985e log checking if the right directory structure exists if [ -d ${MICROSOFT_SPEECH_CORPUS}/${lang}-in-Train/Audios ] then echo Data directory exists. else echo Error: Directory ${MICROSOFT_SPEECH_CORPUS}/${lang}-in-Train/Audios does not exists. fi fi mkdir -p data mkdir -p data/dev_${lang} mkdir -p data/test_${lang} mkdir -p data/train_${lang} if [ ${stage} -le 1 ] [ ${stop_stage} -ge 1 ]; then log stage2: Preparing data for microsoft_speech_corpus python local/process.py ${MICROSOFT_SPEECH_CORPUS} ${lang} fi脚本要求语料目录必须包含{lang}-in-Train/Audios子目录否则报错退出。数据集的原始组织方式为训练侧te-in-Train/含Audios/音频目录与transcription.txt转写文件、测试侧te-in-Test/结构与训练侧一致。process.py数据切分与 Kaldi 风格转换local/process.py 是数据准备的核心实现其关键逻辑包括输入命令行参数sys.argv[1]语料根路径、sys.argv[2]语言代码据此构造训练/测试音频目录与转写文件路径train_folder f{microsoft_speech_corpus_path}/{lang}-in-Train test_folder f{microsoft_speech_corpus_path}/{lang}-in-Test train_audio_folder os.path.join(train_folder, Audios) test_audio_folder os.path.join(test_folder, Audios)训练/验证随机切分从 40 小时训练集中随机抽取音频累计时长达到 7200 秒2 小时为止作为开发集dev剩余约 37 小时作为训练集——与脚本注释 randomly split the training set of 40 hours to 37 train and 3 dev 一致def get_dev_split(): train_audio_files os.listdir(train_audio_folder) dev_split set() dur 7200 while dur 0: f random.choice(train_audio_files) while f in dev_split: f random.choice(train_audio_files) wav_file os.path.join(train_audio_folder, f) dev_split.add(f) dur - get_duration(wav_file) return dev_split音频时长通过 Python 标准库wave模块读取帧数除以采样率得到。ID 与转写处理解析transcription.txt每行文件名\t转写文本为每条话语生成全局递增的id_XXXXXXX7 位补零形式的话语 ID并将文件名 .wav映射到实际音频路径。输出 Kaldi 风格目录为data/train_te、data/dev_te、data/test_te三个目录分别生成text话语 ID 转写文本spk2utt/utt2spk每条话语作为独立说话人id idutt2gender统一标记为m语料未提供性别标注wav.scp话语 ID 音频绝对路径。生成的数据目录将直接供asr.sh的后续 stage特征收集、BPE 训练、模型训练、解码使用。四、三种 ASR 训练配置详解源码级剖析README 的 RESULTS 部分共报告了三个训练实验。下面逐一剖析其配置文件的底层设计这些文件全部位于 egs2/microsoft_speech/asr1/conf/ 下。4.1 默认配置Conformer HuBERT 自监督前端默认conf/train_asr.yaml与 conf/tuning/train_asr_conformer5_hubert.yaml 完全一致采用s3prl 框架加载 HuBERT-Large 预训练模型作为前端这是低资源场景下最关键的架构选择freeze_param: [ frontend.upstream ] frontend: s3prl frontend_conf: frontend_conf: upstream: hubert_large_ll60k # 更换 upstream 时需同步修改 preencoder 的 input_size download_dir: ./hub multilayer_feature: true preencoder: linear preencoder_conf: input_size: 1024 # HuBERT-Large 的隐藏层维度 output_size: 80要点解读freeze_param: [frontend.upstream]冻结 HuBERT 预训练权重训练时只更新下游 Conformer/Decoder 及 preencoder 参数既能大幅降低显存与训练成本也避免小语料上微调破坏预训练表征。multilayer_feature: trues3prl 前端输出多层 Transformer 特征的加权融合而非只用顶层HuBERT-LargeLL60K 预训练每帧输出 1024 维向量。preencoder线性投影将 1024 维自监督特征压缩到 80 维作为下游 Conformer 的输入充当特征适配层。下游主干与联合训练配置encoder: conformer encoder_conf: output_size: 256 attention_heads: 4 linear_units: 2048 num_blocks: 12 dropout_rate: 0.1 positional_dropout_rate: 0.1 attention_dropout_rate: 0.0 input_layer: conv2d2 normalize_before: true macaron_style: true rel_pos_type: latest pos_enc_layer_type: rel_pos selfattention_layer_type: rel_selfattn activation_type: swish use_cnn_module: true cnn_module_kernel: 15 decoder: transformer decoder_conf: attention_heads: 4 linear_units: 2048 num_blocks: 6 dropout_rate: 0.1 positional_dropout_rate: 0.1 self_attention_dropout_rate: 0.0 src_attention_dropout_rate: 0.0 ctc_conf: ignore_nan_grad: true model_conf: ctc_weight: 0.3 lsm_weight: 0.1 length_normalized_loss: false extract_feats_in_collect_stats: falseConformer 编码器12 层、隐藏维 256、前馈 2048、4 头注意力使用相对位置编码rel_pos、Macaron 风格 FFN、Swish 激活与 CNN 模块kernel 15input_layer: conv2d2对输入做两层卷积下采样。Transformer 解码器6 层标准自回归解码器。混合 CTC/Attention 训练ctc_weight: 0.3在 CTC 与注意力交叉熵之间取 0.3/0.7 权重lsm_weight: 0.1为标签平滑系数ignore_nan_grad: true用于稳定 CTC 训练。extract_feats_in_collect_stats: false在 collect statsstage 10阶段不真正前向运行 s3prl 前端提取特征而是生成 dummy 统计文件避免统计阶段耗时配置文件注释已明确说明。优化与增强配置optim: adam optim_conf: lr: 0.005 scheduler: warmuplr scheduler_conf: warmup_steps: 30000 batch_type: numel batch_bins: 2000000 accum_grad: 4 max_epoch: 40 patience: 5 specaug: specaug specaug_conf: apply_time_warp: true time_warp_window: 5 time_warp_mode: bicubic apply_freq_mask: true freq_mask_width_range: [0, 30] num_freq_mask: 2 apply_time_mask: true time_mask_width_range: [0, 40] num_time_mask: 2Adam 优化器 warmuplr预热 3 万步学习率调度batch_bins: 2000000按元素总数动态组批accum_grad: 4梯度累积等效扩大 batch。SpecAugment 启用时间扭曲与频域/时域随机掩码是低资源 ASR 的标配正则手段。4.2 对比配置一Conformer wav2vec2 自监督前端conf/tuning/train_asr_conformer_wav2vec2.yaml 将前端替换为wav2vec2-largeLL60K 预训练其余结构类似但存在几处值得注意的差异frontend: s3prl frontend_conf: frontend_conf: upstream: wav2vec2_large_ll60k download_dir: ./hub multilayer_feature: True preencoder: linear preencoder_conf: input_size: 1024 output_size: 80 encoder: conformer encoder_conf: output_size: 256 attention_heads: 4 linear_units: 1024 # 比 HuBERT 配置更窄 ... cnn_module_kernel: 31 # 更大的 CNN kernel optim: adam optim_conf: lr: 0.002 weight_decay: 1.0e-06 scheduler: warmuplr scheduler_conf: warmup_steps: 5000 max_epoch: 50 patience: 5 accum_grad: 2 keep_nbest_models: 10与 HuBERT 配置的关键区别wav2vec2-large 前端同样输出 1024 维多层融合特征通过线性 preencoder 降到 80 维freeze_param同样冻结frontend.upstream。编码器瘦身linear_units: 1024HuBERT 配置为 2048CNN kernel 扩大到 31优化差异学习率 0.002 且带weight_decay: 1e-6warmup 步数仅 5000accum_grad: 2最大 50 epoch保留 10 个最佳模型。4.3 对比配置二纯 Fbank 基线 Conformer5conf/tuning/train_asr_conformer5.yaml 是不使用自监督前端的传统 Fbank 基线对应结果表中的asr_train_asr_conformer5_raw_multilingual_bpe400_sp与 README 中 conformer5 命名来源frontend: default frontend_conf: n_fft: 512 win_length: 400 hop_length: 160 encoder: conformer encoder_conf: input_layer: conv2d num_blocks: 12 linear_units: 2048 dropout_rate: 0.1 output_size: 256 attention_heads: 4 attention_dropout_rate: 0.0 pos_enc_layer_type: rel_pos selfattention_layer_type: rel_selfattn activation_type: swish macaron_style: true use_cnn_module: true cnn_module_kernel: 15 decoder: transformer decoder_conf: input_layer: embed num_blocks: 6 linear_units: 2048 dropout_rate: 0.1 model_conf: ctc_weight: 0.3 lsm_weight: 0.1 length_normalized_loss: false optim: adam accum_grad: 1 grad_clip: 3 max_epoch: 50 optim_conf: lr: 4.0 scheduler: noamlr scheduler_conf: model_size: 256 warmup_steps: 25000 batch_type: numel batch_bins: 2500000 keep_nbest_models: 10 use_amp: true与自监督配置形成鲜明对比前端为 ESPnet2 内置default短时傅里叶 Fbank512 点 FFT、400 窗长、160 帧移无需下载任何预训练模型优化器采用lr: 4.0noamlrNoam 式调度model_size: 256与编码器维度一致、warmup 25000 步use_amp: true启用混合精度训练batch_bins 增大到 2500000accum_grad: 1。4.4 多语言 BPE400 配置结果表中的第三个实验asr_train_asr_conformer5_raw_multilingual_bpe400_sp使用BPE 词表 400multilingual_bpe400且其解码标签中出现lm_train_lm_transformer_mu_bpe400mu即 multilingual 的缩写。从命名与解码标签可以推断该配置在纯 Fbank 基线上将子词词表从 200 扩大到 400并配合在更大规模多语言文本上训练的 Transformer LM 与 3gram 进行解码重打分。这与前两个配置te_bpe200 单语teLM形成词表与语言模型层面的对照实验。五、语言模型与解码配置5.1 Transformer 语言模型train_lm.yamlconf/train_lm.yaml 使用 16 层 Transformer LMlm: transformer lm_conf: pos_enc: null embed_unit: 128 att_unit: 512 head: 8 unit: 2048 layer: 16 dropout_rate: 0.1 grad_clip: 5.0 batch_type: numel batch_bins: 350000 accum_grad: 2 max_epoch: 25 optim: adam optim_conf: lr: 0.001 scheduler: warmuplr scheduler_conf: warmup_steps: 25000 best_model_criterion: - - valid - loss - min keep_nbest_models: 10嵌入维 128、注意力维 512、8 头、前馈 2048pos_enc: null说明 LM 内部不额外使用位置编码层由注意力结构自行处理顺序信息以验证集 loss 最小为模型选择准则保留 10 个最佳 checkpoint 用于后续平均LM 训练文本同样来自data/train_te/text见 run.sh 的--lm_train_text。5.2 解码配置decode_asr.yaml / decode_transformer.yamlconf/decode_asr.yaml与 conf/tuning/decode_transformer.yaml 内容一致batch_size: 1 beam_size: 10 penalty: 0.0 maxlenratio: 0.0 minlenratio: 0.0 ctc_weight: 0.5 lm_weight: 0.3beam_size 10的集束搜索maxlenratio/minlenratio均为 0.0不限制输出长度比例ctc_weight: 0.5解码时在注意力得分与 CTC 得分之间按 0.5/0.5 加权联合打分lm_weight: 0.3Transformer LM 分数权重 0.3。从结果表的解码标签可还原出完整的解码管线decode_transformer_lm_lm_train_lm_transformer_te_bpe200_valid.loss.ave ngram_ngram_3gram asr_model_valid.acc.ave即使用transformer 架构 LM 的平均化 checkpointvalid.loss.ave作为解码语言模型叠加3gram ngram 重打分最终 ASR 模型采用验证集 acc 最优 checkpoint 的平均valid.acc.ave。这揭示了低资源场景下Transformer LM ngram 浅融合重打分的完整推理策略。六、实验环境与完整评测结果6.1 实验环境README 记录了生成该结果时的运行环境这些信息用于结果的可复现性核对项目值日期Tue Mar 22 20:03:41 EDT 2022Python3.9.7 (GCC 7.5.0)ESPnetespnet 0.10.7a1PyTorchpytorch 1.10.1Git hashb274c4ea66c59600599a4a340296bb15412b3a9ccommit 日期 2022-03-026.2 实验一Conformer HuBERTte_bpe200速度扰动实验名asr_train_asr_conformer5_hubert_raw_te_bpe200_spWER词错误率datasetSntWrdCorrSubDelInsErrS.Errdecodetransformer_lm 3gram valid.acc.ave/dev_te33821835275.821.52.73.227.361.7decodetransformer_lm 3gram valid.acc.ave/test_te30402841379.518.52.12.723.278.1CER字符错误率datasetSntWrdCorrSubDelInsErrS.Errdecode /dev_te338213615694.82.72.52.17.361.7decode /test_te304022941996.11.91.91.75.678.1TER词义元错误率datasetSntWrdCorrSubDelInsErrS.Errdecode /dev_te33827716389.86.53.72.012.361.7decode /test_te304013303392.64.82.61.79.178.16.3 实验二Conformer wav2vec2te_bpe200速度扰动实验名asr_train_asr_conformer_wav2vec2_raw_te_bpe200_spWERdatasetSntWrdCorrSubDelInsErrS.Errdecodetransformer_lm 3gram valid.acc.ave/dev_te33821835275.621.62.82.827.360.4decodetransformer_lm 3gram valid.acc.ave/test_te30402841378.519.22.22.524.078.6CERdatasetSntWrdCorrSubDelInsErrS.Errdecode /dev_te338213615694.92.62.52.07.160.4decode /test_te304022941995.92.02.11.65.778.6TERdatasetSntWrdCorrSubDelInsErrS.Errdecode /dev_te33827716390.06.43.62.011.960.4decode /test_te304013303392.25.02.81.79.478.66.4 实验三Conformer5 Fbank多语言 BPE400速度扰动实验名asr_train_asr_conformer5_raw_multilingual_bpe400_spWERdatasetSntWrdCorrSubDelInsErrS.Errdecodetransformer_lm(mu_bpe400) 3gram valid.acc.ave/dev_te33821835277.320.12.52.925.556.6decodetransformer_lm(mu_bpe400) 3gram valid.acc.ave/test_te30402841379.418.42.22.523.278.0CERdatasetSntWrdCorrSubDelInsErrS.Errdecode /dev_te338213615695.32.42.21.96.656.6decode /test_te304022941996.02.02.01.65.678.0TERdatasetSntWrdCorrSubDelInsErrS.Errdecode /dev_te33827606490.76.13.21.911.256.6decode /test_te304013201992.54.92.61.79.178.06.5 结果解读从三组数据可以得出以下几点基于报告事实的观察测试集表现三种配置在 test_te 上的 WER 分别为23.2%HuBERT、24.0%wav2vec2、23.2%多语言 BPE400字符错误率 CER 均低至5.6%–5.7%区间。考虑到这是仅 40 小时训练数据的低资源场景整体识别水平相当可观。自监督前端 vs 传统 FbankHuBERT 与 wav2vec2 前端在同样te_bpe200条件下与 Fbank 基线多语言 BPE400 条件测试 WER 持平或更优且在开发集上 CER7.3%/7.1% vs 6.6%相近说明自监督表征在低资源下能有效弥补数据不足。多语言 BPE 的增益Fbank 基线上将 BPE 词表从 200 扩到 400 并配合多语言 LM在 dev_te 上取得三组实验最低 WER25.5%与最低句错误率 S.Err56.6%测试集与 HuBERT 配置持平。字符级错误极低三组实验的 CER5.6%–7.3%均显著低于 WER23.2%–27.3%说明泰卢固语作为音节文字语言模型在字符层面已经相当准确主要错误集中在词切分/词义层面TER 介于 9.1%–12.3%。七、完整复现步骤在满足 ESPnet2 安装要求的环境中参考 doc/installation.md 与 doc/espnet2_tutorial.md按以下步骤复现# 1. 进入 recipe 目录 cd egs2/microsoft_speech/asr1 # 2. 填写语料路径编辑 db.sh设置 MICROSOFT_SPEECH_CORPUS 指向语料根目录 # 语料需包含 te-in-Train/Audios、te-in-Test/Audios 及对应的 transcription.txt # 3. 检查调度后端配置cmd.sh本地多卡或 Slurm/PBS 集群 # 4. 一键运行完整流程数据准备 → BPE → LM 训练 → ASR 训练 → 解码 → 评分 ./run.sh # 5. 如需切换语言为泰米尔语 ./run.sh --lang ta # 6. 如需切换训练配置为 wav2vec2 前端或 Fbank 基线 ./run.sh --asr_config conf/tuning/train_asr_conformer_wav2vec2.yaml ./run.sh --asr_config conf/tuning/train_asr_conformer5.yaml说明与注意事项默认配置需要从 Hugging Face hub 下载 HuBERT-LargeLL60K权重至./hub由frontend_conf.download_dir指定wav2vec2 配置同理若网络受限可提前手动放置预训练权重。MICROSOFT_SPEECH_CORPUS变量为空时 local/data.sh 会直接退出并提示填写因此必须先修改 db.sh 再运行。默认使用 4 块 GPU--ngpu 4单卡环境可改为--ngpu 1并适当调小batch_bins。速度扰动0.9/1.0/1.1会创建三倍数量的训练数据若磁盘紧张可关闭--speed_perturb_factors 但会损失部分效果。结果复现以 egs2/microsoft_speech/asr1/README.md 记录的 espnet 0.10.7a1 PyTorch 1.10.1 环境为基准不同版本/硬件下指标可能存在合理浮动。八、总结egs2/microsoft_speech/asr1是 ESPnet2 中极具代表性的低资源 ASR recipe它以 Interspeech 2018 挑战赛的微软印度语语料泰卢固语 40 小时为对象示范了自监督前端HuBERT/wav2vec2 Conformer/Transformer 混合 CTC-Attention BPE 子词 速度扰动 SpecAugment Transformer LM/ngram 重打分这一整套现代低资源语音识别技术栈。README 报告的三组实验表明在测试集上HuBERT 前端与多语言 BPE400 配置均达到约 23% 的 WER 与约 5.6% 的 CER为同样面临小语种、少数据场景的研究与工程实践提供了可靠的基线参考。如需进一步深入研究可对照 ESPnet2 主流程脚本 egs2/TEMPLATE/asr1/asr.sh 理解 stage 流水线或参考同一语料族的其他印度语 recipe如egs2/ms_indic_18、egs2/babel进行跨语种对比实验。赞分享人工智能语音音频深度学习NLP【免费下载链接】espnetEnd-to-End Speech Processing Toolkit项目地址https://gitcode.com/gh_mirrors/es/espnet点击查看免费下载相关推荐ESPnet OGI Kids Speech ASR 实战Branchformer-Transformer 儿童语音识别 Recipe 全解析ESPnet OGI Kids Speech ASR 实战Branchformer Transformer 儿童语音识别 Recipe 全解析 本文基于 ES人工智能语音音频深度学习NLPESPnet2 卢旺达语KinyarwandaTTS Recipe 实战基于 LJSpeech 迁移学习的 Tacotron 2 低资源语音合成ESPnet2 卢旺达语KinyarwandaTTS Recipe 实战基于 LJSpeech 迁移学习的 Tacotron 2 低资源语音合成 本指南以人工智能语音音频深度学习NLPESPnet2 瑞士法语多音词语料 ASR 实战Conformer 端到端语音识别 Recipe 与结果复盘ESPnet2 瑞士法语多音词语料 ASR 实战Conformer 端到端语音识别 Recipe 与结果复盘 本篇基于 ESPnet 仓库中 egs2/pol人工智能语音音频深度学习NLP上一篇英雄联盟Akari助手让你像职业选手一样打游戏的智能神器下一篇ImageStrike一站式解决18种图像隐写挑战的终极CTF安全工具创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表