🚀 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許可證。