🚀 AudioX:多語言語音轉文本模型
AudioX 是由 Jivi AI 開發的先進印度多語言自動語音識別(ASR)模型家族。它包含兩個專門的變體——AudioX-North 和 AudioX-South,每個變體都針對不同的印度語言集進行了優化,以確保更高的準確性。AudioX-North 支持印地語、古吉拉特語和馬拉地語,而 AudioX-South 則涵蓋泰米爾語、泰盧固語、卡納達語和馬拉雅拉姆語。該模型基於開源 ASR 數據集和專有音頻進行訓練,能夠在各種口音和聲學條件下提供強大的轉錄能力,在支持的語言中表現卓越。

✨ 主要特性
專為印度語言打造
AudioX 旨在處理多樣化的印度語言輸入,支持語音助手、轉錄工具、客戶服務自動化和多語言內容創作等實際應用。它在不同地區口音和音頻質量下都能提供高精度的識別。
訓練過程
AudioX 在開源語音識別骨幹模型的基礎上,使用監督學習進行微調。訓練流程結合了領域自適應、語言平衡和噪聲增強等技術,以確保在實際場景中的魯棒性。
數據準備
該模型基於以下數據進行訓練:
- 開源多語言 ASR 語料庫
- 專有的印度語言醫療數據集
這種混合方法增強了模型在不同方言和聲學條件下的泛化能力。
基準測試
AudioX 在多種印度語言上表現出色,超越了開源和商業 ASR 模型。我們使用 AI4Bharat 的 Vistaar 套件提供的官方評估腳本,在 Vistaar 基準測試 中對 AudioX 進行了評估,確保在不同語言場景下進行嚴格、標準化的比較。
提供商 |
模型 |
印地語 |
古吉拉特語 |
馬拉地語 |
泰米爾語 |
泰盧固語 |
卡納達語 |
馬拉雅拉姆語 |
平均 WER |
Jivi AI |
AudioX |
12.14 |
18.66 |
18.68 |
21.79 |
24.63 |
17.61 |
26.92 |
20.1 |
ElevenLabs |
Scribe-v1 |
13.64 |
17.96 |
16.51 |
24.84 |
24.89 |
17.65 |
28.88 |
20.6 |
Sarvam |
saarika:v2 |
14.28 |
19.47 |
18.34 |
25.73 |
26.80 |
18.95 |
32.64 |
22.3 |
AI4Bharat |
IndicWhisper |
13.59 |
22.84 |
18.25 |
25.27 |
28.82 |
18.33 |
32.34 |
22.8 |
Microsoft |
Azure STT |
20.03 |
31.62 |
27.36 |
31.53 |
31.38 |
26.45 |
41.84 |
30.0 |
OpenAI |
gpt-4o-transcribe |
18.65 |
31.32 |
25.21 |
39.10 |
33.94 |
32.88 |
46.11 |
32.5 |
Google |
Google STT |
23.89 |
36.48 |
26.48 |
33.62 |
42.42 |
31.48 |
47.90 |
34.6 |
OpenAI |
Whisper Large v3 |
32.00 |
53.75 |
78.28 |
52.44 |
179.58 |
67.02 |
142.98 |
86.6 |
📦 安裝指南
文檔未提供具體安裝步驟,可根據使用的庫(如 🤗 transformers
和 librosa
),通過常規的 Python 包管理工具(如 pip
)進行安裝:
pip install transformers librosa
💻 使用示例
基礎用法
from transformers import WhisperProcessor, WhisperForConditionalGeneration
import librosa
device = "cuda"
processor = WhisperProcessor.from_pretrained("jiviai/audioX-south-v1")
model = WhisperForConditionalGeneration.from_pretrained("jiviai/audioX-south-v1").to(device)
model.config.forced_decoder_ids = None
audio_path = "sample.wav"
audio_np, sr = librosa.load(audio_path, sr=None)
if sr != 16000:
audio_np = librosa.resample(audio_np, orig_sr=sr, target_sr=16000)
input_features = processor(audio_np, sampling_rate=16000, return_tensors="pt").to(device).input_features
predicted_ids = model.generate(input_features, task="transcribe", language="ta")
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)[0]
print(transcription)
📄 許可證
本項目採用 Apache-2.0 許可證。