Whisper real time speech to text บน Windows ที่เปลี่ยนแปลงโมเดลจากเครื่องมือแบตช์ออฟไลน์เป็นเครื่องมือถอดเสียงแบบสด — ในเครื่อง ส่วนตัว และมีความแม่นยำพอสำหรับการแนบคำบรรยายสด การถอดเสียงการประชุม หรือการป้อน voice command workflow โดยไม่ส่งไบต์เดียวไปยัง cloud
คำแนะนำนี้ครอบคลุม วิธี inference Whisper real-time ทำงาน ข้อกำหนดฮาร์ดแวร์สำหรับแต่ละขนาดโมเดล เส้นทางการใช้งานจริงสามเส้น การกำหนดเส้นทาง audio capture ความล่าช้าต่ำเฉพาะ Windows และวิธี VoxBooster รวม Whisper โดยตรงเข้าไปในไปป์ไลน์เสียงของมัน
เหตุใด Whisper Real-Time จึงแตกต่างจาก Whisper Offline
เอกสารเดิมของ Whisper อธิบายโมเดล sequence-to-sequence ที่ได้รับการฝึกอบรมเป็นเวลา 680,000 ชั่วโมง คุณให้ไฟล์มัน มันส่งคืนการถอดเสียง นี่เป็นสิ่งที่ยอดเยี่ยมสำหรับการประมวลผลภายหลัง แต่ไม่มีประโยชน์หากคุณต้องการคำบรรยายปรากฏขึ้นในเวลาไม่กี่วินาทีหลังจากพูด
Whisper real-time แบ่งกระแสไมโครโฟนออกเป็นช่วงเวลาที่ทับซ้อนกัน — โดยปกติ 1-3 วินาที แต่ละช่วงผ่านโมเดลอย่างอิสระและผลลัพธ์จะถูกมัดหลังการแสดง การแลกเปลี่ยนคือโมเดลไม่เคยเห็นบริบทประโยคแบบเต็ม ซึ่งแนะนำ “ภาพลวงตา” เป็นครั้งคราวที่ขอบเขตของช่วง Whisper-large-v3 ลดความสำคัญนี้อย่างมากโดยการจัดการส่วนของเสียงสั้นอย่างมั่นคงกว่าเวอร์ชันก่อนหน้า
ปัจจัยสำคัญอีกประการหนึ่งคือตัวตรวจจับกิจกรรมการพูด (VAD) โดยไม่มี VAD Whisper รันบนความเงียบและสร้างข้อความ幻ภาพ Silero VAD เป็นมาตรฐานปัจจุบัน — ช่วยให้ inference ทำงานเมื่อมีการพูด โดยลดความล่าช้าและโหลด CPU/GPU ลง 40-70% ในการใช้งานทั่วไป
ข้อกำหนดฮาร์ดแวร์
เส้นทาง GPU (แนะนำ)
| โมเดล | VRAM ที่ต้องใช้ | ความล่าช้า RTX 3060 ทั่วไป |
|---|---|---|
| tiny | 1 GB | ~50ms |
| small | 2 GB | ~80ms |
| medium | 4 GB | ~150-250ms |
| large-v3 | 6 GB | ~200-350ms |
สำหรับกรณีการใช้งานการถอดเสียงส่วนใหญ่ — คำบรรยายการเข้าถึง บันทึกการประชุม คำบรรยายผู้พูดสดอบลัย — Whisper-medium บนการ์ด 4 GB จะบรรลุจุดหวานระหว่างความแม่นยำและความล่าช้า
เส้นทาง CPU
Inference เฉพาะ CPU ใช้ได้เฉพาะโมเดล small และ tiny เท่านั้น คาดว่าความล่าช้า 500ms-2 วินาที ซึ่งสังเกตเห็นได้ แต่ยอมรับได้สำหรับการใช้งานที่ไม่โต้ตอบเช่นการถอดเสียงการประชุมที่เล่นซ้ำในภายหลัง สำหรับคำบรรยายแบบสด ระหว่างการสนทนา CPU เท่านั้น จะสร้างผลกระทบของความล่าช้าที่รู้สึกเสียหาย
ฮาร์ดแวร์เสียง
ไมโครโฟนใดๆ ก็ใช้ได้ แต่คุณภาพสัญญาณมีผลโดยตรงต่อความแม่นยำของการถอดเสียง Whisper ได้รับการฝึกอบรมเป็นเวลาหลากหลายสภาพเสียง ดังนั้นจึงจัดการเสียงรบกวนได้สมควร แต่หูฟังที่มีไมโครโฟน close-talk จะมีประสิทธิภาพสูงกว่าไมโครโฟนเดสก์ far-field สำหรับการใช้งาน real-time เสมอ การระงับเสียงที่ใช้ก่อนการป้อน Whisper มีประโยชน์ด้วยต้นทุนของการเพิ่มระยะการประมวลผลลงในห่วงโซ่ของคุณ
Audio Capture ความล่าช้าต่ำ การกำหนดเส้นทาง Audio บน Windows
Windows กำหนดเส้นทาง audio ผ่าน Windows Audio Session API (audio capture ความล่าช้าต่ำ) การทำความเข้าใจ audio capture ความล่าช้าต่ำเป็นสิ่งจำเป็นสำหรับการตั้งค่า Whisper อย่างถูกต้อง โดยเฉพาะอย่างยิ่งหากคุณต้องการถอดเสียงเอาต์พุตระบบ (สิ่งที่คุณได้ยิน) มากกว่าการป้อน microphone หรือหากคุณต้องการป้อน audio ที่ประมวลผลภายหลังให้กับ Whisper
โหมดเอกสิทธิ์เทียบกับโหมดแบ่งปัน
โหมดเอกสิทธิ์ ให้แอปพลิเคชันเดียวเข้าถึงฮาร์ดแวร์โดยตรงด้วยความล่าช้าต่ำสุด แต่ปิดกั้นแอปพลิเคชันอื่นๆ โหมดแบ่งปัน ให้แอปพลิเคชันหลายตัวแบ่งปันจุดสิ้นสุดเดียวกันโดยมี Windows จัดการส่วนผสม สำหรับการจับภาพอินพุต Whisper โหมดแบ่งปันแทบจะถูกต้องเสมอ — คุณต้องการให้ Whisper อ่านจากกระแสไมโครโฟนเดียวกันที่แอปพลิเคชันอื่นใช้ โดยไม่ปิดกั้นสิ่งใดๆ
การจับภาพ Microphone Input
ไลบรารี่ Python เช่น sounddevice และ pyaudio เข้าถึงจุดสิ้นสุด audio capture ความล่าช้าต่ำตามดัชนีอุปกรณ์ เรียกใช้ต่อไปนี้เพื่อแสดงรายการอุปกรณ์เสียงที่มีอยู่ทั้งหมด:
import sounddevice as sd
print(sd.query_devices())
ไมโครโฟนของคุณจะปรากฏเป็นอุปกรณ์อินพุต โปรดจดบันทึกดัชนี — คุณจะส่งผ่านเป็นพารามิเตอร์ device เมื่อเปิดกระแสเสียง
การจับภาพ Loopback (System Audio)
หากต้องการถอดเสียงสิ่งที่เล่นผ่านลำโพงของคุณ — สายวิดีโอ เกม เสียงแอปใดก็ได้ — ให้ใช้ loopback capture เสียง ความล่าช้าต่ำ ใน sounddevice ตั้งค่า audio capture ความล่าช้าต่ำ_exclusive=False และเป้าหมายอุปกรณ์เอาต์พุต ไลบรารี่จัดการ loopback ภายในบน Windows มีประโยชน์สำหรับการแนบคำบรรยายการประชุมวิดีโอหรือกระบวนการทำงานการเข้าถึงใด ๆ ที่ต้องการคำบรรยายบนเสียง PC ทั้งหมด
สามเส้นทางการปรับใช้
เส้นทาง 1: faster-whisper + Custom Python Script
faster-whisper คือการทำให้เป็นจริงที่ใช้ CTranslate2 ของ Whisper ที่ทำงาน 4 เท่าเร็วกว่าต้นฉบับที่มีการใช้หน่วยความจำต่ำกว่า รองรับขนาดโมเดลทั้งหมดและรวมเข้ากับลูป audio real-time ได้อย่างสมบูรณ์
การติดตั้ง:
pip install faster-whisper sounddevice numpy silero-vad
ลูปพื้นฐานคือ:
- เปิดกระแสเสียงด้วย
sounddeviceที่ 16 kHz mono (อัตราตัวอย่างเดิมของ Whisper) - บัฟเฟอร์เสียงขาเข้าเข้าไปในหน้าต่างแบบ rolling
- เรียกใช้ Silero VAD บ่อยข้ามการอนุมานถ้าไม่มีการพูดตรวจจับ
- ส่งผ่านส่วนของการพูดไปยังวิธี
transcribe()ของfaster-whisperด้วยbeam_size=1(เร็วกว่า) หรือbeam_size=5(แม่นยำกว่า) - พิมพ์หรือท่อผลลัพธ์
เส้นทางนี้ให้ควบคุมสูงสุด แต่ต้องการความสะดวกสบาย Python งบประมาณ 30-60 นาทีปรับขนาดบัฟเฟอร์และเกณฑ์ VAD สำหรับไมโครโฟนของคุณ
เส้นทาง 2: whisper.cpp
whisper.cpp คือพอร์ต C++ ของ Whisper ที่คอมไพล์เป็น Windows native binary ด้วยการสนับสนุน CUDA มันมาพร้อมกับการสาธิต real-time (stream.exe) ที่เปิดไมโครโฟน เรียกใช้การอนุมานที่มีขนาดหน้าต่างที่กำหนดค่าได้ และพิมพ์เอาต์พุตไปยัง stdout
ทำไมต้องใช้สิ่งนี้มากกว่า Python เวลาเริ่มต้นใกล้เคียงกับ instan (ไม่มีตัวแปลงภาษา Python ที่จะโหลด) การใช้หน่วยความจำต่ำกว่า และรวมเข้ากับเครื่องมือไม่ใช่ Python ได้ง่าย เอาต์พุตการสตรีมสามารถเปลี่ยนเส้นทางไปยังไฟล์ที่ OBS อ่านเป็นแหล่งคำบรรยายแบบสด
ขั้นตอนการสร้าง (PowerShell):
git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp
cmake -B build -DGGML_CUDA=1
cmake --build build --config Release
.\build\bin\Release\stream.exe -m models\ggml-large-v3.bin -t 8
เส้นทาง 3: VoxBooster Integrated Whisper
VoxBooster มาพร้อมกับการอนุมาน Whisper ที่สร้างขึ้นโดยตรงเข้าไปในแอปพลิเคชัน — ไม่มีสภาพแวดล้อม Python แยกต่างหาก ไม่มีการตั้งค่า CUDA ด้วยตนเอง โมเดลทำงานในเครื่องบน GPU ของคุณผ่าน backend ที่เหมาะสม audio capture ความล่าช้าต่ำจัดการภายใน และเอาต์พุตมีให้เป็น overlay ไฟล์คำบรรยายแบบสดสำหรับ OBS หรือการป้อนความล่าช้าต่ำสำหรับการประมวลผล voice command
ความแตกต่างที่สำคัญจากการตั้งค่า Python ด้วยตนเองคือขั้นตอนการระงับเสียงที่รวมอยู่ด้วย เสียงผ่านเลเยอร์การระงับ VoxBooster ก่อนเข้าไปในบัฟเฟอร์ Whisper ซึ่งปรับปรุงความแม่นยำได้ในสภาพแวดล้อมที่มีเสียง — เสียงพัดลม headset เสียง HVAC คลิกแป้นพิมพ์ — โดยไม่ต้องเพิ่มความล่าช้าที่ผู้ใช้มองเห็นได้ ความล่าช้า end-to-end จากการพูดไปจนถึงคำบรรยายที่แสดงต่ำกว่า 300ms บนฮาร์ดแวร์จากสามปีที่ผ่านมา
ไม่มีไดรเวอร์เคอร์เนลติดตั้ง ซึ่งหมายความว่าไม่มีการยกระดับ UAC ไม่มีข้อขัดแย้งกับซอฟต์แวร์ anti-cheat และไม่มีอุปกรณ์ปรากฏในตัวจัดการอุปกรณ์ อุปกรณ์ที่พูด audio ความล่าช้าต่ำทำงานในระดับเซสชันและยุติได้อย่างสวยงามเมื่อแอปพลิเคชันปิด
Live Captions สำหรับ Streaming และการเข้าถึง
OBS Integration
ไม่ว่าคุณจะใช้ faster-whisper whisper.cpp หรือ VoxBooster จุดรวมกับ OBS คือไฟล์ข้อความที่อัปเดตแบบ real-time
- กำหนดค่าเครื่องมือ Whisper ของคุณให้เขียนเอาต์พุตการถอดเสียงไปยังไฟล์ (เช่น
C:\captions\live.txt) - ใน OBS ให้เพิ่มแหล่งที่มา Text (GDI+)
- ตรวจสอบ Read from file และชี้ไปที่เส้นทางเดียวกัน
- OBS ยวดหน้าไฟล์และอัปเดตแหล่งที่มาทุกเฟรม
จัดรูปแบบแหล่งข้อความด้วยพื้นหลังกึ่งโปร่งใสเพื่อให้อ่านได้บน game footage หรือแว็บแคม
Use Case การเข้าถึง
สำหรับผู้ใช้ที่มีความพิการทางการได้ยิน คำบรรยาย Whisper บน Windows มีข้อดีหลายประการเหนือ Windows 11 Live Captions
- ความแม่นยำสูงกว่าสำหรับศัพท์เฉพาะทาง สำเนียงแข็ง และภาษาที่ไม่ใช่ภาษาอังกฤษ
- การแสดง customizable ขนาดฟอนต์ ตำแหน่ง สี และความเก่า
- Multi-input ป้อน microphone และ loopback ลงใน Whisper instance เดียวกัน
- ทั้งหมด offline ไม่มีการพึ่งพาเซิร์ฟเวอร์การจดจำพูดของ Microsoft
สำหรับผู้ใช้ Windows 10 ที่ไม่มีการเข้าถึง Live Captions Whisper ในเครื่องคือตัวเลือกการเข้าถึง real-time หลักที่ไม่ต้องการการสมัครสมาชิก
Workflow คำสั่งเสียง
Whisper speech to text มีความแม่นยำเพียงพอที่จะให้อำนาจระบบคำสั่งเสียงสภาพแวดล้อม — workflow ที่คุณพูดคำสั่งให้กับ PC ของคุณโดยไม่กด key หรือ click
สถาปัตยกรรมโดยปกติมีลักษณะเช่นนี้:
Microphone → VAD filter → Whisper → text buffer → intent parser → action dispatcher
Intent parser สามารถเป็นพจนานุกรม Python ของวลีทริกเกอร์ที่แมปกับการโทร subprocess.run() หรือซับซ้อนเป็นโมเดลภาษาในเครื่องที่จัดการคำสั่งภาษาธรรมชาติ สำหรับเกมและการสร้างเนื้อหา คำสั่งทั่วไปคือ:
- เริ่ม/หยุดการบันทึก
- อลิกศัน scene OBS
- Trigger soundboard clips
- เงียบ/ยกเลิกการปิดเสียง microphone
เนื่องจาก Whisper ในเครื่อง จึงไม่มีความล่าช้า round-trip cloud ข้อ จำกัด คือเวลาการอนุมาน Whisper-medium ใช้เวลา 150-250ms ต่อชิ้น — ไม่มองเห็นเพื่อ streaming borderline สำหรับการควบคุมเกม real-time keyword spotter เช่น openwakeword สามารถทำหน้าที่เป็นเส้นทางเร็วสำหรับคำสั่งทั่วไป (ใต้ 50ms) โดยมี Whisper จัดการทุกสิ่งอื่นๆ
ความแม่นยำ สิ่งที่ต้องคาดหวัง
Whisper-large-v3 ให้ประมาณ 3-5% word error rate บนเสียง English ที่สะอาด — แข่งขันกับบริการ cloud เชิงพาณิชย์ ในโหมด real-time ที่มีหน้าต่าง 1-3 วินาที คาดว่า WER 5-8% เนื่องจากบริบทลดลงต่อการโทร inference
ปัจจัยที่ปรับปรุงความแม่นยำ:
- ตำแหน่ง microphone ที่ดีขึ้น: headset close-talk vs. microphone desk far-field นั้นเป็นความแตกต่าง WER 2-3% ได้ง่าย
- การระงับเสียงก่อนการป้อน: pre-filtering ลดลง ภาพลวงตาที่คืบคลานจากเสียงพื้นหลัง
- ขนาดลำแสง: การเพิ่มจาก 1 เป็น 5 ปรับปรุงความแม่นยำที่มีต้นทุนของความล่าช้า ~50ms ต่อชิ้น
- อุณหภูมิ: การตั้งค่า
temperature=0(greedy decoding) ลดความแปรปรวนในเอาต์พุตและป้องกันโมเดลจากการ “ภาพลวงตา” การถอดเสียงสร้างสรรค์ของเสียงที่ไม่ชัดเจน
ปัจจัยที่สร้างความเสียหายต่อความแม่นยำ:
- การแบ่งขอบเขตหน้าต่าง: คำที่ตกในทีแซงหน้าตรงกลางขอบเขตระหว่างหน้าต่าง inference มีแนวโน้มที่จะเกิดข้อผิดพลาด — buffering overlap บรรเทา
- ภาพลวงตาความเงียบ: ไม่มี VAD Whisper ถอดเสียงความเงียบเป็นวลีfiller — เสมอไป VAD
- ช่องว่าง fine-tuning: Whisper vanilla ไม่ได้รับการฝึกอบรมบน commentary เกมหรือสำเนียงขอบเขตหนัก — คาดว่ามีข้อผิดพลาดมากขึ้น
การเลือกระหว่าง Whisper Real Time และ Windows 11 Live Captions
| เกณฑ์ | Windows 11 Live Captions | Whisper ในเครื่อง |
|---|---|---|
| เวลาการตั้งค่า | ~90 วินาที | 15-60 นาที |
| ความแม่นยำ (EN สะอาด) | ดี | ยอดเยี่ยม (large-v3) |
| ความแม่นยำ (สำเนียง/jargon) | ยุติธรรม | ดี-ยอดเยี่ยม |
| การสนับสนุนภาษา | 30+ ภาษา | 99 ภาษา |
| ความล่าช้า | 200-400ms | 150-800ms (ขึ้นอยู่กับ GPU) |
| OBS Integration | ไม่มี | ผลผลิตไฟล์ |
| Offline | ใช่ | ใช่ |
| การสนับสนุน Windows 10 | ไม่มี | ใช่ |
| ความเป็นส่วนตัว | ในเครื่อง (Microsoft) | ทั้งหมด inlocal |
| ต้นทุนฮาร์ดแวร์ | ไม่มี | GPU ช่วยเหลืออย่างมาก |
หากคุณอยู่บน Windows 11 และต้องการเพียง English captions สำหรับการเข้าถึงที่มีการตั้งค่าขั้นต่ำเท่านั้น Live Captions คือคำตอบที่ถูกต้อง หากคุณต้องการการสนับสนุน Windows 10 ความแม่นยำสูงขึ้นในโดเมนเฉพาะ OBS captions voice commands หรือการควบคุม pipeline การถอดเสียง Whisper ในเครื่องคือทางเลือกที่ดีกว่า
เริ่มต้นวันนี้
เส้นทางที่เร็วที่สุดไปยังการถอดเสียง Whisper real-time ที่ทำงาน:
-
ด้วย VoxBooster: เปิดแอป ไป Settings → Transcription เปิด Whisper เลือกขนาดโมเดล ทุกสิ่งอื่นจะจัดการอัตโนมัติ รวมถึง routing audio VAD และไฟล์เอาต์พุต OBS
-
Manual faster-whisper:
pip install faster-whisper sounddevice silero-vadจากนั้นปรับตัวกับหนึ่งในตัวอย่าง streaming จาก GitHub faster-whisper คาดว่า 30 นาทีเพื่อให้ได้โปรโตไทป์ที่ทำงาน -
whisper.cpp: โคลน compile ด้วย CUDA เรียกใช้
stream.exesetup ที่เร็วที่สุดในบรรดาเส้นทางด้วยตนเองหากคุณสะดวกสบายกับ CMake
Whisper real time บน Windows ไม่ใช่เชิงทดลองอีกต่อไป ด้วยโมเดลที่ถูกต้อง GPU ระดับกลาง และเสียง input สะอาด คุณจะได้รับความแม่นยำการถอดเสียงและความล่าช้าที่จับคู่หรือเอาชนะบริการ cloud เชิงพาณิชย์ — โดยไม่มีการพูดของคุณออกจากเครื่องไม่เลย