บันทึกการประชุมด้วยเสียงผ่าน Whisper บน Windows

ถอดเสียงการโทร Zoom, Teams และ Meet ในเครื่องบน Windows โดยใช้ Whisper และ loopback เก็บเสียงแบบ low-latency — ไม่มีการอัปโหลด cloud ความเป็นส่วนตัวแบบสมบูรณ์ บทสรุป item action Markdown

หากการประชุมทุกครั้งจบด้วยห่วงโซ่อีเมลที่ถาม “เราตัดสินใจสิ่งใดจริง ๆ” ปัญหาไม่ใช่จากการประชุม — ปัญหาคือการขาดการถอดเสียงที่เชื่อถือได้ บริการถอดเสียง cloud แก้ไขปัญหานี้บางส่วน แต่ต้องการให้คุณอัปโหลดเสียงการโทรของคุณไปยังเซิร์ฟเวอร์ของบุคคลที่สาม ด้วยเหตุผลทางกฎหมาย การปฏิบัติตามหรือความจำใจส่วนตัวที่เรียบง่าย ซึ่งไม่ใช่เรื่องที่ยอมรับได้เสมอ

คำแนะนำนี้แสดงวิธีการสร้างขั้นตอนการทำงาน voice meeting notes ทั้งหมดบน PC Windows ของคุณ: บันทึกเสียงการประชุมโดยใช้ loopback เก็บเสียง low-latency เรียกใช้ผ่านรุ่น Whisper ของ OpenAI ในเครื่อง และแยกบทสรุป Markdown ที่มี decisions และ action items โดยอัตโนมัติ ไม่มีการอัปโหลด cloud ไม่มีการสมัครสมาชิก การประมวลผลเกิดขึ้นบนเครื่องของคุณ


TL;DR

ขั้นตอนเครื่องมือเวลา
บันทึกเสียงFFmpeg + loopback เก็บเสียง low-latencyสด
ถอดเสียงWhisper (medium.en)~4 นาที / การประชุม 1 ชั่วโมง
แยก actionsPython + LLM ในเครื่อง หรือวาง AI~2 นาที
เอาต์พุตไฟล์ Markdown .mdทันที

ทำไมการถอดเสียงในเครื่องจึงดีกว่า Cloud สำหรับการประชุม

บริการถอดเสียง cloud ส่วนใหญ่ — Otter.ai Fireflies Zoom’s built-in AI Notes — ทำงานโดยการส่งเสียงของคุณไปยังเซิร์ฟเวอร์ระยะไกลซึ่งจะได้รับการประมวลผลและมักจะเก็บไว้เพื่อการฝึกอบรมรุ่น สำหรับการเรียกแบบจับตัวส่วนตัวนั้นโอเค สำหรับการโทรที่มีชื่อไคลเอนต์ การคาดการณ์ทางการเงิน ข้อมูลทางการแพทย์ หรือการสนทนาด้านกฎหมายแล้ว ไม่ใช่

การเรียกใช้ Whisper ในเครื่องหมายความว่าไฟล์เสียงจะไม่ออกจากเครื่องไม่มี API key ที่เชื่อมโยงกับบัญชีบริษัทของคุณ ไม่มีนโยบายการเก็บไว้ที่จะอ่าน และไม่มีความเป็นไปได้ของการละเมิดของบุคคลที่สามที่เปิดเผยเนื้อหาการโทรของคุณ การถอดเสียงและบทสรุปอยู่ที่ไหนก็ได้ที่คุณบันทึกไว้

นอกจากนี้ยังมีข้อโต้แย้งเกี่ยวกับต้นทุน การถอดเสียง cloud ในระดับ — 100 ชั่วโมงการประชุมต่อเดือนทั่วทีม — ค่าใช้จ่าย $40–$200 ต่อเดือนต่อผู้ใช้บนแพลตฟอร์มส่วนใหญ่ การอนุมานในเครื่องบน GPU ที่คุณเป็นเจ้าของแล้ว ค่าใช้จ่ายเป็นศูนย์ต่อการถอดเสียงหลังการตั้งค่า


กฎหมายและความยินยอม — อ่านก่อน

การบันทึกหรือถอดเสียงการประชุมโดยไม่ได้รับความยินยอมของผู้เข้าร่วมนั้นผิดกฎหมายในเขตอำนาจจำนวนมาก รวมถึงรัฐสหรัฐฯ หลายแห่ง (กฎหมาย two-party consent) EU (GDPR Article 6) และที่อื่น ๆ ทั่วโลก

ก่อนที่คุณจะถอดเสียงการประชุมใด ๆ:

  1. ประกาศชัดเจนตั้งแต่ต้น: “ฉันกำลังเก็บเสียงเพื่อถอดเสียงในเครื่องเพื่อสร้างบันทึกการประชุม”
  2. ให้ผู้เข้าร่วมได้เลือกหรือพูดนอกบันทึก
  3. ตรวจสอบนโยบายการบันทึกการโทรของบริษัท — หลายแห่งต้องการการอนุมัติจากแผนก IT หรือกฎหมาย
  4. เก็บการถอดเสียงไว้อย่างปลอดภัยและใช้กฎการจัดการข้อมูลเดียวกับเอกสารลับอื่น ๆ

บทความนี้เป็นคำแนะนำด้านเทคนิค ไม่ใช่คำแนะนำทางกฎหมาย


สิ่งที่คุณต้องการ

  • Windows 10 หรือ 11 — loopback เก็บเสียง low-latency พร้อมใช้งานทั้งคู่
  • Python 3.10+ — จาก python.org หรือ winget
  • FFmpeg — สำหรับการเก็บเสียงจากอุปกรณ์ loopback
  • openai-whisper หรือ faster-whisper — เครื่องมือถอดเสียง
  • GPU NVIDIA (ทางเลือก แต่แนะนำ) — RTX 2060 หรือดีกว่าสำหรับการอนุมานอย่างรวดเร็ว CPU ก็ได้
  • แอปการประชุม: Zoom, Microsoft Teams, Google Meet หรือแอปสร้างเสียงใด ๆ

ขั้นตอนที่ 1 — ระบุอุปกรณ์ Loopback เก็บเสียง Low-Latency ของคุณ

Loopback เก็บเสียง low-latency บันทึกอะไรก็ตามที่ Windows เล่นผ่านอุปกรณ์เอาต์พุตของคุณ — เสียงเดียวกับที่คุณได้ยินในหูฟังของคุณ ไม่จำเป็นต้องติดตั้งไดรเวอร์ นี่คือส่วนของ Windows audio stack ตั้งแต่ Vista

เปิดเทอร์มินัลและเรียกใช้:

ffmpeg -list_devices true -f dshow -i dummy 2>&1 | findstr /i "audio"

คุณจะเห็นเอาต์พุตดังนี้:

"Speakers (Realtek High Definition Audio)" (audio)
"Headphones (USB Audio Device)" (audio)

จดชื่อที่แน่นอนของอุปกรณ์เอาต์พุตที่ทำงานของคุณ สำหรับการเก็บ loopback ให้เพิ่ม (loopback) ลงในชื่อเครื่องเมื่อคุณใช้กับ FFmpeg

อีกวิธีหนึ่ง ใช้ Python เพื่อแสดงรายการอุปกรณ์:

import sounddevice as sd
print(sd.query_devices())

มองหาอุปกรณ์ที่มี (loopback) ในชื่อหรือ host API low-latency audio capture


ขั้นตอนที่ 2 — บันทึกเสียงการประชุม

เริ่มการโทร Zoom, Teams หรือ Meet ของคุณ ก่อนเนื้อหาหลักเริ่มต้น ให้เริ่ม FFmpeg ในเทอร์มินัลแยกต่างหาก:

ffmpeg -f dshow -i audio="Speakers (Realtek High Definition Audio) (loopback)" \
  -ar 16000 -ac 1 -c:a pcm_s16le \
  meeting_2026-06-12.wav

แฟล็กหลัก:

  • -ar 16000 — อัตราตัวอย่างเนทีฟ Whisper ไม่จำเป็นต้องสุ่มตัวอย่างใหม่
  • -ac 1 — mono ลดขนาดไฟล์และจับคู่อินพุตที่คาดว่า Whisper
  • -c:a pcm_s16le — WAV ที่ไม่บีบอัดเพื่อความแม่นยำที่ดีที่สุด

หยุดการบันทึกเมื่อการประชุมจบลงด้วย Ctrl+C การประชุม 1 ชั่วโมงที่การตั้งค่านี้สร้างประมาณ 115 MB

เคล็ดลับ: หากคุณมีคุณภาพเสียงต่ำเนื่องจากเสียงรบกวนพื้นหลัง ให้เรียกใช้ VoxBooster noise suppression บนช่องไมโครโฟนของคุณก่อนการโทร เพื่อให้เสียงของคุณสะอาดในการจับภาพ loopback เก็บเสียง low-latency บันทึกเอาต์พุตที่ผสมกัน ดังนั้นเสียงของผู้เข้าร่วมอื่น ๆ จึงได้รับประโยชน์จากการประมวลผล noise ของแพลตฟอร์มของพวกเขา


ขั้นตอนที่ 3 — ติดตั้ง Whisper

หากคุณยังไม่ได้ติดตั้ง Whisper:

pip install openai-whisper
# สำหรับการอนุมาน CPU/GPU ที่เร็วกว่า:
pip install faster-whisper

สำหรับการเพิ่มความเร็ว GPU (NVIDIA) ให้ติดตั้งด้วย:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

ตรวจสอบเวอร์ชัน CUDA ของคุณก่อนด้วย nvidia-smi และจับคู่เวอร์ชัน cu ตามนั้น


ขั้นตอนที่ 4 — ถอดเสียงบันทึก

ใช้ openai-whisper (CLI)

whisper meeting_2026-06-12.wav --model medium.en --output_format txt --output_dir ./transcripts

นี่จะบันทึกไฟล์ .txt และไฟล์คำบรรยาย .srt รุ่น medium.en เป็นเพียงภาษาอังกฤษ ซึ่งเร็วกว่าและแม่นยำกว่าสำหรับการประชุมภาษาอังกฤษเทียบกับ medium แบบหลายภาษา

ใช้ faster-whisper (Python Script)

from faster_whisper import WhisperModel

model = WhisperModel("medium.en", device="cuda", compute_type="float16")

segments, info = model.transcribe("meeting_2026-06-12.wav", beam_size=5)

with open("transcript.txt", "w", encoding="utf-8") as f:
    for segment in segments:
        timestamp = f"[{segment.start:.1f}s]"
        f.write(f"{timestamp} {segment.text.strip()}\n")

print("Transcription complete.")

faster-whisper ใช้ CTranslate2 ด้านใต้ฝากระบะและเร็วกว่าต้นฉบับ 2–4 เท่าบนฮาร์ดแวร์เดียวกัน


ขั้นตอนที่ 5 — แยก Action Items ลงใน Markdown

การถอดเสียงดิบคือกำแพงข้อความ สิ่งกระท่อมที่มีประโยชน์คือบทสรุปที่มีโครงสร้าง: การตัดสินใจที่ได้รับ งานที่มอบหมาย และคำถามที่เปิดเผย นี่คือสคริปต์ Python ที่เรียบง่ายซึ่งใช้ Ollama (LLM ในเครื่อง) สำหรับการสร้าง:

import subprocess
import sys

transcript_path = sys.argv[1]

with open(transcript_path, "r", encoding="utf-8") as f:
    transcript = f.read()

prompt = f"""You are a meeting notes assistant. Given the transcript below, produce a Markdown document with:
1. **Meeting Summary** (3-5 sentences)
2. **Decisions Made** (bulleted list)
3. **Action Items** (bulleted list with owner and deadline if mentioned)
4. **Open Questions** (bulleted list)

Transcript:
{transcript}
"""

result = subprocess.run(
    ["ollama", "run", "llama3"],
    input=prompt,
    capture_output=True,
    text=True,
    encoding="utf-8"
)

output_path = transcript_path.replace(".txt", "_summary.md")
with open(output_path, "w", encoding="utf-8") as f:
    f.write(result.stdout)

print(f"Summary saved to {output_path}")

เรียกใช้ดังนี้:

python extract_actions.py transcripts/meeting_2026-06-12.txt

ไม่มี Ollama? วางการถอดเสียงไปยัง AI chat ใด ๆ ด้วยพรอมต์เดียวกัน เอาต์พุตเหมือนกัน — ขั้นตอนอัตโนมัติเพียงแตกต่างกัน


คำแนะนำการเลือกรุ่น

รุ่นVRAMความเร็ว (GPU)ความเร็ว (CPU)ดีที่สุดสำหรับ
tiny.en1 GBรวดเร็วมาก5 นาที/ชั่วโมงร่างฉบับสำเร็จรูป การทดสอบ
small.en2 GBรวดเร็ว20 นาที/ชั่วโมงเครื่องเฉพาะ CPU
medium.en5 GBสมดุล60 นาที/ชั่วโมงคำแนะนำเริ่มต้น
large-v310 GBช้าไม่ใช่ปฏิบัติความแม่นยำสูงสุด RTX 4070+

รุ่นทั้งหมดทำงานออนไลน์ทั้งหมดหลังจากการดาวน์โหลดเบื้องต้น


การเปรียบเทียบ: Whisper ในเครื่อง vs. บริการถอดเสียง Cloud

คุณลักษณะWhisper (ในเครื่อง)Otter.aiFirefliesZoom AI Notes
ข้อมูลออกจากอุปกรณ์ไม่ใช่ใช่ใช่
ค่าใช้จ่ายต่อเดือน$0$10–$20/ผู้ใช้$10–$19/ผู้ใช้รวมกับ Zoom
ความแม่นยำ (อังกฤษ)88–94% WER~88%~87%~85%
Speaker diarizationด้วย pyannoteใช่ใช่ใช่
Vocabulary ที่กำหนดเองผ่านพรอมต์ชำระเงินชำระเงินไม่
สามารถออฟไลน์ได้ใช่ไม่ไม่ไม่
เวลาตั้งค่า30 นาที5 นาที5 นาที0 นาที

บริการ cloud ชนะในความสะดวกและ diarization สำเร็จรูป Whisper ในเครื่องชนะในความเป็นส่วนตัว ต้นทุนตามขนาด และความสามารถในการทำงานโดยไม่มีอินเทอร์เน็ต


เพิ่ม Speaker Diarization

Whisper เพียงอย่างเดียวไม่ได้ระบุใครพูด สำหรับการประชุมที่การยกเครดิตสำคัญ ให้รวมกับ pyannote.audio:

pip install pyannote.audio
from pyannote.audio import Pipeline

pipeline = Pipeline.from_pretrained(
    "pyannote/speaker-diarization-3.1",
    use_auth_token="YOUR_HF_TOKEN"
)

diarization = pipeline("meeting_2026-06-12.wav")

for turn, _, speaker in diarization.itertracks(yield_label=True):
    print(f"{speaker}: {turn.start:.1f}s – {turn.end:.1f}s")

คุณสามารถจัดแนวเวลาของ diarization กับเวลาของส่วนของ Whisper เพื่อสร้างการถอดเสียงที่มีป้ายกำกับผู้พูด รุ่น pyannote ทำงานในเครื่องหลังจากการดาวน์โหลด — จำเป็นต้องมีบัญชี Hugging Face เพื่อยอมรับใบอนุญาตรุ่น แต่การอนุมานออนไลน์ทั้งหมด


อัตโนมัติทั้ง Pipeline

หลังจากที่สามขั้นตอนทำงานแต่ละเครื่อง ให้ลูกโซ่เข้าไปในสคริปต์เดียวที่ทำงานหลังจากการประชุมจบลง:

# record.bat — เรียกใช้ระหว่างการประชุม
ffmpeg -f dshow -i audio="Speakers (Realtek High Definition Audio) (loopback)" ^
  -ar 16000 -ac 1 -c:a pcm_s16le ^
  "meetings\%DATE:~10,4%-%DATE:~4,2%-%DATE:~7,2%.wav"
# process.bat — เรียกใช้หลังการประชุม
set FILE=%1
python transcribe.py %FILE%
python extract_actions.py %FILE:.wav=.txt%
start "" "%FILE:.wav=_summary.md%"

เรียกใช้ process.bat meetings\2026-06-12.wav และบทสรุปจะเปิดในตัวแก้ไข Markdown เริ่มต้นของคุณโดยอัตโนมัติ


ความเป็นส่วนตัวและข้อพิจารณาการจัดเก็บ

จำไว้สิ่งต่อไปนี้เมื่อจัดเก็บการถอดเสียงการประชุม:

  • เข้ารหัสไฟล์ WAV และการถอดเสียง หากมีข้อมูลธุรกิจที่ละเอียดอ่อน Windows BitLocker หรือ VeraCrypt จัดการในระดับโฟลเดอร์
  • ตั้งค่านโยบายการเก็บไว้ — ลบไฟล์ WAV ดิบหลังการถอดเสียง เก็บเฉพาะบทสรุปเว้นแต่คุณต้องการคำพูดศัพท์
  • Shared drives: หากคุณซิงค์การถอดเสียงกับ OneDrive หรือ SharePoint ให้ตรวจสอบว่าระบบเหล่านั้นใช้ OCR หรือการจัดทำดัชนี AI กับเอกสารที่อัปโหลดหรือไม่
  • ควบคุมการเข้าถึง: จำกัดไฟล์การถอดเสียงให้เฉพาะผู้เข้าร่วมเท่านั้น โฟลเดอร์ \meetings\ ที่ใช้ร่วมกันบนไดรฟ์เครือข่ายไม่ควรเปิดให้บริษัททั้งหมด

Soft CTA

VoxBooster noise suppression ช่วยให้มั่นใจว่าช่องไมโครโฟนของคุณสะอาดก่อนที่เสียงจะถึง loopback เก็บเสียง low-latency ซึ่งปรับปรุง word-error rate ของ Whisper บนเสียงของคุณโดยตรง มันทำงานในเครื่องบน Windows 10/11 ไม่ต้องการไดรเวอร์เคอร์เนล และรวมกับแอปการประชุมใด ๆ ทดลองฟรี 3 วันพร้อมใช้ — ไม่จำเป็นต้องใช้บัตรเครดิต

หลังจากทดลอง: แผนเริ่มต้นที่ $6.99/เดือน


FAQ

Whisper ถอดเสียงแบบ real-time บน PC Windows ธรรมดาหรือไม่ ไม่ใช่ real-time ที่แท้จริงพร้อมความแม่นยำเต็มที่ — Whisper คือรุ่น batch เมื่ออยู่บน GPU mid-range (RTX 3060) รุ่น small หรือ medium ถอดเสียงการประชุม 1 ชั่วโมงในประมาณ 3-5 นาทีหลังการโทรสิ้นสุด สำหรับคำบรรยายสด ให้พิจารณา Whisper Live หรือ whisper-streaming forks แม้ว่าพวกเขาจะแลกเปลี่ยนความแม่นยำบางส่วนสำหรับความล่าช้า

เป็นไปได้ไหมที่จะถอดเสียงการประชุม Zoom หรือ Teams ความชอบด้านกฎหมายขึ้นอยู่กับเขตอำนาจและนโยบายของบริษัท ในหลายที่ คุณจะต้องแจ้งให้ผู้เข้าร่วมทั้งหมดทราบก่อนที่จะบันทึกหรือถอดเสียง ต้องประกาศชัดเจนเมื่อเริ่มการประชุม ว่า “ฉันกำลังเก็บเสียงเพื่อถอดเสียงในเครื่องเพื่อสร้างบันทึกการประชุม” และขอความยินยอมอย่างชัดแจ้ง บทความนี้เป็นคำแนะนำด้านเทคนิค ไม่ใช่คำแนะนำทางกฎหมาย

ฉันต้องติดตั้ง loopback เก็บเสียง low-latency เครื่องใดบ้าง ไม่จำเป็นต้องติดตั้งไดรเวอร์ loopback เก็บเสียง low-latency เป็น API Windows 10/11 native ที่สะท้อนอุปกรณ์เอาต์พุตที่ใช้งานอยู่ใดๆ — ลำโพงหรือหูฟัง — เป็นแหล่งเก็บ FFmpeg, Python sounddevice และไลบรารีเสียงส่วนใหญ่เปิดเผยโดยตรง ไม่จำเป็นต้องมีสายเสมือนหรือไดรเวอร์บุคคลที่สาม

ฉันควรใช้รุ่น Whisper ใดสำหรับการถอดเสียงการประชุม รุ่น medium.en เป็นความสมดุลที่ใช้ได้จริงที่ดีที่สุด: 1.5 GB VRAM ~90% การลดอัตราข้อผิดพลาดของคำเหนือ tiny และเร็วกว่า large 4-6 เท่าบน GPU สำหรับเครื่อง CPU เท่านั้น ให้ใช้ small.en — ถอดเสียงการประชุม 1 ชั่วโมงในเวลาประมาณ 20 นาทีบน CPU สมัยใหม่ Large-v3 สมควรแค่ว่าหากคุณมี RTX 4070 หรือดีกว่า

ฉันสามารถถอดเสียงการประชุมโดยไม่ต้องใช้ GPU ได้หรือไม่ ได้ Whisper ทำงานบน CPU ผ่านแพ็คเกจ openai-whisper หรือ backend faster-whisper CTranslate2 ซึ่งลดเวลาการอนุมาน CPU ลงประมาณครึ่งหนึ่ง การประชุมที่จะใช้เวลา 8 นาทีบน GPU จะใช้เวลาประมาณ 20-25 นาทีบน CPU Intel หรือ AMD สมัยใหม่ที่มี small.en — ยอมรับได้สำหรับการประมวลผล batch หลังการประชุม

ฉันจะแยกรายการ action โดยอัตโนมัติจากการถอดเสียงได้อย่างไร วิธีที่ง่ายที่สุดคือสคริปต์ Python ที่ส่งการถอดเสียง Whisper ไปยังพรอมต์ LLM ในเครื่อง (Ollama + llama3 หรือ Mistral) ขอรายการสัญญา decisions และ tasks หรือวาง transcript ดิบลงใน AI chat ใดๆ VoxBooster noise suppression จะรักษาเสียงที่บันทึกให้สะอาด ซึ่งปรับปรุง accuracy การถอดเสียงโดยตรง

QProces นี้ใช้ได้กับการประชุม Teams ที่บันทึกไว้หรือไม่ ได้ สองวิธี: บันทึกเสียงสดผ่าน loopback เก็บเสียง low-latency ระหว่างการโทร หรือดาวน์โหลดบันทึกการประชุม Teams จาก OneDrive และเรียกใช้ Whisper บนไฟล์ MP4 เส้นทางที่สองนั้นง่ายกว่าและให้คุณถอดเสียงใหม่ได้ตลอดเวลาโดยไม่ต้องอยู่ในการประชุม


อ่านต่อไป

ลอง VoxBooster — ทดลองใช้ฟรี 3 วัน

โคลนเสียงเรียลไทม์ ซาวด์บอร์ด และเอฟเฟกต์ — ทุกที่ที่คุณคุย

  • ไม่ต้องใช้บัตรเครดิต
  • ความหน่วง ~30ms
  • Discord · Teams · OBS
ลองฟรี 3 วัน