🚀 MahaDhwani预训练Conformer模型
MahaDhwani预训练Conformer是一个基于自监督学习的预训练Conformer编码器模型,在MahaDhwani数据集上进行训练,可用于自动语音识别任务。
🚀 快速开始
安装
要加载、训练、微调或使用该模型,你需要安装 AI4Bharat NeMo。推荐使用以下命令进行安装:
git clone https://github.com/AI4Bharat/NeMo.git && cd NeMo && git checkout nemo-v2 && bash reinstall.sh
使用示例
基础用法
从Huggingface下载并加载模型:
import pydub
import numpy as np
import torch
import nemo.collections.asr as nemo_asr
model = nemo_asr.models.ASRModel.from_pretrained("ai4bharat/MahaDhwani_pretrained_conformer")
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.freeze()
model = model.to(device)
在终端中运行以下命令,将音频转换为16000 Hz单声道:
ffmpeg -i sample_audio.wav -ac 1 -ar 16000 sample_audio_infer_ready.wav
高级用法
进行推理:
wavpath = 'sample.wav'
wav = pydub.AudioSegment.from_file(wavpath).set_frame_rate(16000).set_channels(1)
sarray = wav.get_array_of_samples()
fp_arr = np.array(sarray).T.astype(np.float64)
fp_arr = fp_arr.reshape((1,-1))
feature = torch.from_numpy(fp_arr).float().to(device='cuda')
length=torch.tensor([fp_arr.shape[1]]).to(device='cuda')
spectrograms, spec_masks, encoded, encoded_len = model(input_signal=feature,input_signal_length=length)
✨ 主要特性
- 多语言支持:模型的训练数据包含印度22种预定语言的数据。
- 输入要求:接受16000 KHz单声道音频(wav文件)作为输入。
- 输出形式:为给定的音频样本提供Conformer编码器嵌入作为输出。
🔧 技术细节
模型架构
该模型是一个Conformer-Large模型,使用包含1.2亿参数的编码器。模型有17个Conformer块,模型维度为512。
📄 许可证
本项目采用MIT许可证。
📚 详细文档
属性 |
详情 |
模型类型 |
自监督预训练Conformer编码器模型 |
训练数据 |
包含印度22种预定语言的数据 |
输入要求 |
16000 KHz单声道音频(wav文件) |
输出形式 |
Conformer编码器嵌入 |