WhisperX — STT محلي مع diarization
المقارنة الصريحة
| المهمة | الأفضل عالمياً | محلي مجاني | القرار | |---|---|---|---| | STT عربي عام | OpenAI gpt-4o-transcribe-diarize | WhisperX | ✅ ضفناه — للخصوصية الكاملة (KCPC sensitive audio) | | STT + diarization | AssemblyAI / Deepgram Nova-3 | WhisperX | ✅ WhisperX يسوي diarization + word-level alignment محلياً | | STT لهجات (كويتي/فلسطيني) | gpt-4o-transcribe | WhisperX (medium) | يبقى OpenAI الأقوى للهجات | | Live streaming STT | Deepgram Nova-3 | — | Deepgram يبقى |
القيمة المضافة (لماذا ضفناه)
1. خصوصية 100% — تسجيلات KCPC السرية, اجتماعات عائلية, voice notes شخصية 2. مجاني — لا API calls 3. Word-level timestamps + speaker diarization في خطوة واحدة 4. بديل عند فشل APIs (offline scenarios)استخدام
python
import whisperx
model = whisperx.load_model("medium", device="cpu", compute_type="int8", language="ar")
audio = whisperx.load_audio("recording.ogg")
result = model.transcribe(audio, batch_size=16)
Align word-level
model_a, metadata = whisperx.load_align_model(language_code="ar", device="cpu")
result = whisperx.align(result["segments"], model_a, metadata, audio, "cpu")
Diarize
diarize_model = whisperx.diarize.DiarizationPipeline(device="cpu")
diarize_segments = diarize_model(audio)
result = whisperx.assign_word_speakers(diarize_segments, result)
السياسة
- Default للـ live/regular: gpt-4o-transcribe (الأدق للعربية)
- Privacy mode: WhisperX (يدوي عند الحاجة)