🚀 NavaiSTT-1v Medium - 乌兹别克语语音转文本模型
NavaiSTT-1v Medium是基于经典Whisper中型模型针对乌兹别克语进行微调的语音转文本模型。该模型的训练数据集包含约700小时的多样化音频,涵盖公开可用的播客、塔什干方言播客、有声读物以及Common Voice 17数据集。数据质量参差不齐,其中60%由人工转录,40%使用Gemini 2.5 Pro进行伪转录。
特别关注了塔什干方言的音频材料,使得模型在该方言上表现出色。未来版本将纳入其他地区方言,以提高整体覆盖范围。
🚀 快速开始
若想了解该模型背后的方法和研究详情,请访问白皮书链接:点击查看
✨ 主要特性
- 针对性微调:基于经典Whisper中型模型,针对乌兹别克语进行了精细微调。
- 数据多样化:使用约700小时的多样化音频数据进行训练,包括公开播客、塔什干方言播客、有声读物和Common Voice 17数据集。
- 方言优化:特别关注塔什干方言音频材料,在该方言上表现优异。
- 未来规划:未来版本将纳入更多地区方言,提升整体覆盖范围。
📦 安装指南
文档未提及安装步骤,可参考transformers
库的安装方式来安装相关依赖:
pip install transformers torch torchaudio
💻 使用示例
基础用法
import torch
import torchaudio
from transformers import WhisperProcessor, WhisperForConditionalGeneration
processor = WhisperProcessor.from_pretrained("islomov/navaistt_v1_medium")
model = WhisperForConditionalGeneration.from_pretrained("islomov/navaistt_v1_medium")
def transcribe_audio(audio_path):
global model, processor
device = "cuda" if torch.cuda.is_available() else "cpu"
model = model.to(device)
waveform, sample_rate = torchaudio.load(audio_path)
if sample_rate != 16000:
waveform = torchaudio.functional.resample(waveform, sample_rate, 16000)
if waveform.shape[0] > 1:
waveform = waveform.mean(dim=0, keepdim=True)
input_features = processor(
waveform.squeeze().numpy(),
sampling_rate=16000,
return_tensors="pt",
language="uz"
).input_features.to(device)
with torch.no_grad():
predicted_ids = model.generate(input_features)
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)[0]
return transcription
if __name__ == "__main__":
audio_file = "some_audio_max_30_sec.wav"
text = transcribe_audio(audio_file)
print(f"Transcription: {text}")
📚 详细文档
模型详情
属性 |
详情 |
基础模型 |
Whisper Medium |
参数数量 |
7.69亿 |
性能指标 |
WER: ~13%;CER: ~3.5% |
训练数据
该模型在约700小时的多样化乌兹别克语音频数据上进行微调,数据包括:
- 公开可用的播客
- 塔什干方言播客
- 有声读物
- Common Voice 17数据集
数据集中60%为人工转录,40%为使用Gemini 2.5 Pro进行的伪转录。特别关注了塔什干方言的音频材料,以确保模型在该方言上表现良好。
📄 许可证
本模型采用Apache-2.0许可证。