WhisperX के साथ डायरीकरण
Clore.ai GPUs पर शब्द-स्तरीय टाइमस्टैम्प और स्पीकर डायरीकरण के साथ तेज़ भाषण ट्रांसक्रिप्शन के लिए WhisperX चलाएँ।
WhisperX, OpenAI के Whisper को तीन महत्वपूर्ण उन्नयनों के साथ विस्तारित करता है: शब्द-स्तरीय टाइमस्टैम्प जबरन फोनीम संरेखण के माध्यम से, स्पीकर डायराइज़ेशन pyannote.audio का उपयोग करके, और वास्तविक समय की गति तक 70× faster-whisper के साथ बैच्ड इन्फ़रेंस के माध्यम से। यह उन प्रोडक्शन ट्रांसक्रिप्शन पाइपलाइनों के लिए प्रमुख टूल है जिन्हें सटीक समय-संकेत और स्पीकर पहचान की आवश्यकता होती है।
GitHub: m-bain/whisperX PyPI: whisperx लाइसेंस: BSD-4-Clause Paper: arxiv.org/abs/2303.00747
मुख्य विशेषताएँ
शब्द-स्तरीय टाइमस्टैम्प — wav2vec2 जबरन संरेखण के माध्यम से ±50 ms सटीकता (जबकि सामान्य Whisper में ±500 ms)
स्पीकर डायराइज़ेशन — pyannote.audio 3.1 के माध्यम से यह पहचानें कि किसने क्या कहा
बैच्ड इन्फ़रेंस — RTX 4090 पर वास्तविक समय की गति तक 70×
VAD प्री-फ़िल्टरिंग — Silero VAD ट्रांसक्रिप्शन से पहले मौन हटाता है
Whisper के सभी मॉडल — tiny से लेकर large-v3-turbo तक
कई आउटपुट फ़ॉर्मैट — JSON, SRT, VTT, TXT, TSV
स्वचालित भाषा पहचान — या तेज़ प्रसंस्करण के लिए किसी विशिष्ट भाषा को बाध्य करें
आवश्यकताएँ
GPU
RTX 3060 12 GB
RTX 4090 24 GB
VRAM
4 GB (छोटा मॉडल)
10 GB+ (large-v3-turbo)
RAM
8 GB
16 GB+
डिस्क
5 GB
20 GB (मॉडल कैश)
Python
3.9+
3.11
CUDA
12.8+
12.8+
HuggingFace टोकन आवश्यक स्पीकर डायराइज़ेशन के लिए — यहां लाइसेंस स्वीकार करें pyannote/speaker-diarization-3.1.
Clore.ai की सिफारिश: RTX 3090 ($0.07–0.21/hr) large-v3-turbo मॉडल के लिए batch size 16 पर। RTX 4090 ($0.14–0.42/hr) batch size 32 पर अधिकतम throughput के लिए।
इंस्टॉलेशन
यदि आपको CUDA संस्करण टकराव मिलते हैं:
त्वरित शुरुआत
उपयोग के उदाहरण
स्पीकर डायराइज़ेशन के साथ ट्रांसक्रिप्शन
कमांड-लाइन उपयोग
SRT जनरेशन स्क्रिप्ट
प्रदर्शन बेंचमार्क
साधारण Whisper
large-v3
~60 min
RTX 3090
1×
faster-whisper
large-v3
~5 मिनट
RTX 3090
~12×
WhisperX
large-v3-turbo
~1 min
RTX 3090
~60×
WhisperX
large-v3-turbo
~50 sec
RTX 4090
~70×
4
~30× वास्तविक समय
6 GB
8
~45× वास्तविक समय
8 GB
16
~60× वास्तविक समय
10 GB
32
~70× वास्तविक समय
14 GB
Clore.ai उपयोगकर्ताओं के लिए सुझाव
चरणों के बीच VRAM मुक्त करें — मॉडल हटाएँ और कॉल करें
torch.cuda.empty_cache()ट्रांसक्रिप्शन, संरेखण और डायराइज़ेशन के बीचHuggingFace टोकन — डायराइज़ेशन काम करने से पहले आपको pyannote मॉडल लाइसेंस स्वीकार करना होगा; सेट करें
HF_TOKENइसे एक environment variable के रूप मेंबैच आकार समायोजन — शुरुआत करें
batch_size=16, 12 GB कार्ड पर 4–8 तक घटाएँ, 24 GB कार्ड पर 32 तक बढ़ाएँint8कंप्यूट — उपयोग करेंcompute_type="int8"VRAM उपयोग को लगभग आधा करने के लिए, न्यूनतम गुणवत्ता हानि के साथDocker इमेज —
pytorch/pytorch:2.11.0-cuda12.8-cudnn9-runtimeस्थायी मॉडल कैश — माउंट करें
/root/.cache/huggingfaceताकि हर कंटेनर रीस्टार्ट पर मॉडल दोबारा डाउनलोड न करने पड़ें
समस्या निवारण
CUDA out of memory
कम करें batch_size, उपयोग करें compute_type="int8", या छोटा मॉडल (medium, small) उपयोग करें
डायराइज़ेशन लौटाता है UNKNOWN
सुनिश्चित करें कि HuggingFace टोकन मान्य है और आपने pyannote लाइसेंस स्वीकार किया है
No module named 'whisperx'
pip install whisperx — सुनिश्चित करें कि कोई टाइपो नहीं है (यह है whisperx, न कि whisper-x)
खराब शब्द टाइमस्टैम्प
जांचें कि whisperx.align() को ... के बाद कॉल किया गया है transcribe() — कच्चे Whisper आउटपुट में शब्द-स्तरीय सटीकता नहीं होती
भाषा पहचान गलत
इसके साथ भाषा बाध्य करें --language en या language="en" Python API में
धीमी प्रोसेसिंग
बढ़ाएँ batch_size, उपयोग करें large-v3-turbo की बजाय large-v3, सुनिश्चित करें कि GPU साझा नहीं है
अंतिम अपडेट
क्या यह उपयोगी था?