ตอบสั้น ๆ ก่อน: โมเดล Whisper ของ OpenAI เองไม่ใช่แอป แต่เป็นไลบรารี Python ที่ต้องติดตั้งและรันผ่านเทอร์มินัล นั่นหมายความว่าคุณต้องจัดการ Homebrew, เลือก Python เวอร์ชันที่ถูกต้อง, สร้าง virtual environment, ติดตั้ง FFmpeg และ (บ่อยครั้ง) ต้องฝ่าด่าน dependency error เป็นกอง ๆ ก่อนจะได้ transcript ชิ้นแรก ถ้าไม่อยากยุ่งกับโค้ดเลย ทางที่เร็วที่สุดในการได้ผลลัพธ์แบบเดียวกัน คือใช้แอป Mac ที่มี Whisper ฝังอยู่ในตัวอยู่แล้ว เช่น Subtitle Studio ซึ่งข้ามขั้นตอนติดตั้งทั้งหมดไปเลย พร้อมทั้งมีเครื่องมือ preprocessing และแก้ไขที่ Whisper ดิบ ๆ ไม่มีให้ด้วย
ถ้าคุณเคยค้นหา "วิธีรัน Whisper บน Mac" แล้วเจอบทความที่มีหกขั้นตอนก่อนจะพูดถึงไฟล์เสียงของคุณเสียด้วยซ้ำ นั่นไม่ใช่ความรู้สึกไปเอง มาดูกันว่าทำไมถึงเป็นแบบนั้น คนส่วนใหญ่ติดปัญหาตรงไหนบ้าง และทางเลือกแบบไม่ต้องเขียนโค้ดคืออะไร
OpenAI Whisper คืออะไร (และทำไมมันไม่ใช่แอป)
Whisper คือโมเดลรู้จำเสียงพูดแบบโอเพนซอร์สของ OpenAI เปิดตัวในปี 2022 และอัปเดตต่อเนื่องมาเรื่อย ๆ (large-v3, turbo) มันเก่งจริง ๆ แม่นยำในกว่า 90 ภาษา ใช้ฟรี และรันบนเครื่องของคุณเองทั้งหมดโดยไม่มีการอัปโหลดเสียงไปที่ไหนเลย นี่แหละคือเหตุผลที่คนจำนวนมากอยากลองรันเองดูบ้าง
หน้า GitHub repository ของ openai/whisper — มีดาว 106,000 ดวง แต่เป็นแค่ repository ซอร์สโค้ดที่ไม่มีปุ่มดาวน์โหลด ไม่มีตัวติดตั้ง และไม่มีแอปให้เปิด
ลองสังเกตดูว่าหน้านี้ขาดอะไรไป: ปุ่มดาวน์โหลด ตัวติดตั้ง ไอคอนแอป สิ่งที่คุณได้มาคือโฟลเดอร์ซอร์สโค้ด Python ล้วน ๆ มีคนกด star ให้ repository นี้ถึง 106,000 คน แต่การกด star ไม่ได้ทำให้เครื่อง Mac ของคุณติดตั้งอะไรขึ้นมาเลย
repository บน GitHub นี้เป็น โค้ดสำหรับงานวิจัย ไม่ใช่ผลิตภัณฑ์สำหรับผู้บริโภคทั่วไป คำแนะนำการติดตั้งอย่างเป็นทางการ ตั้งสมมติฐานว่าคุณคุ้นเคยกับสิ่งเหล่านี้อยู่แล้ว:
- การติดตั้งและจัดการเวอร์ชันของ Python หลายเวอร์ชัน
- การใช้
pipและ virtual environment - การอ่าน Python traceback เวลามีอะไรพัง
- การติดตั้ง dependency ระดับระบบ (FFmpeg) แยกต่างหากจากตัวโมเดลเอง
สำหรับนักวิจัยด้าน machine learning สิ่งเหล่านี้ไม่ใช่เรื่องเกินเหตุผลเลย แต่สำหรับคนที่แค่อยากได้ซับไตเติ้ลของวิดีโอ YouTube ให้เสร็จภายในคืนนี้ นี่คือด่านที่ค่อนข้างหนักทีเดียว
วิธี "ทางการ" ในการรัน Whisper บน Mac แบบทีละขั้นตอน
ต้องให้ความเป็นธรรมกับทีม Whisper ว่า README เขียนได้ดีมาก นี่คือสิ่งที่ต้องทำจริง ๆ เพื่อไปจาก "ยังไม่ได้ติดตั้งอะไรเลย" ถึง "มี transcript ปรากฏบนหน้าจอ"
ขั้นตอนที่ 1: ติดตั้ง Homebrew
ถ้ายังไม่มี package manager ไม่เป็นทางการของ Apple ตัวนี้ นี่คือสิ่งแรกที่ต้องติดตั้ง:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
ขั้นตอนที่ 2: ติดตั้ง Python เวอร์ชันที่รองรับ
ห่วงโซ่ dependency ของ Whisper (numba, tiktoken, PyTorch) ไม่รองรับ Python เวอร์ชันล่าสุด ณ เวลาที่เขียนบทความนี้ Python 3.13 ทำให้การติดตั้งพัง คุณต้องใช้ 3.10, 3.11 หรือ 3.12:
brew install python@3.11
ขั้นตอนที่ 3: สร้าง virtual environment
เพื่อไม่ให้ dependency ของ Whisper ไปชนกับอย่างอื่นในเครื่อง วิธีที่แนะนำคือสร้างสภาพแวดล้อมแยกต่างหาก:
python3.11 -m venv whisper-env
source whisper-env/bin/activate
ขั้นตอนที่ 4: ติดตั้ง FFmpeg
Whisper ไม่ได้ถอดรหัสเสียงด้วยตัวเอง แต่เรียกใช้ FFmpeg ซึ่งต้องติดตั้งแยกต่างหาก:
brew install ffmpeg
ขั้นตอนที่ 5: ติดตั้ง Whisper
pip install -U openai-whisper
ขั้นตอนที่ 6: รัน transcription ครั้งแรก
whisper your-audio.mp3 --model turbo
หกขั้นตอน ตัวติดตั้งแยกกันสามตัว และข้อจำกัดเรื่องเวอร์ชัน Python ที่คุณต้องรู้ล่วงหน้า ก่อนที่จะได้ถอดเสียงแม้แต่คำเดียว และนี่คือกรณีที่ทุกอย่างราบรื่นไม่มีปัญหาเลยด้วยซ้ำ
จุดที่คนส่วนใหญ่ติดปัญหา (เคสจริงจาก GitHub และ StackOverflow)
ลองค้นหาปัญหาการติดตั้ง "openai-whisper" ดู แล้วจะเจอความล้มเหลวชุดเดิม ๆ วนซ้ำอยู่เรื่อย ๆ ข้อความด้านล่างนี้คัดมาจากรายงานจริงตรง ๆ ไม่ได้เรียบเรียงใหม่
"Whisper ใช้กับ Python 3.13 ไม่ได้"
ถ้าคุณติดตั้ง Python เวอร์ชันล่าสุดจาก python.org แทนที่จะระบุเวอร์ชันเก่ากว่าผ่าน Homebrew การติดตั้งจะล้มเหลวทันที:
Getting requirements to build wheel ... error
KeyError: '__version__'
คำตอบหนึ่งในกระทู้นั้นพูดตรง ๆ ว่า "Whisper ใช้งานกับ Python 3.13 ไม่ได้ หากใช้เฉพาะเวอร์ชันของ dependency chain ที่เผยแพร่และรองรับอย่างเป็นทางการเท่านั้น" (แหล่งที่มา: StackOverflow) วิธีแก้คือลดเวอร์ชัน Python ลงแล้วสร้าง virtual environment ใหม่ทั้งหมด ซึ่งไม่ใช่เรื่องที่จะเดาออกง่าย ๆ ถ้าไม่รู้มาก่อนว่า Whisper อ่อนไหวกับเวอร์ชันขนาดนี้
ติดตั้ง ffmpeg ไปแล้ว แต่ยังขึ้น "ffmpeg not found"
นี่คือหนึ่งใน error ที่พบบ่อยที่สุดของ Whisper บน Mac และมันสร้างความสับสนอย่างมาก เพราะดูเหมือนว่าสิ่งที่ควรทำก็ทำไปหมดแล้ว แต่ error ก็ยังไม่หายไป:
FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg': 'ffmpeg'
ผู้ใช้ในเคสนี้รัน brew install ffmpeg สำเร็จไปแล้ว ติดตั้งซ้ำอีกครั้ง แล้วยังลอง Python FFmpeg wrapper ด้วย แต่ปัญหาที่แท้จริงคือไฟล์ binary ของ FFmpeg ไม่ได้อยู่ใน PATH ที่ Python มองเห็น (แหล่งที่มา: StackOverflow) การวินิจฉัยปัญหาเรื่อง PATH จำเป็นต้องรู้ก่อนว่า PATH คืออะไร
Mac ไม่มี CUDA — แต่บทเรียนส่วนใหญ่สมมติว่ามี
บทเรียนเกี่ยวกับประสิทธิภาพของ Whisper เกือบทุกอันพูดถึง CUDA ซึ่งเป็นเฟรมเวิร์ก GPU ของ NVIDIA แต่ Mac ไม่มี GPU ของ NVIDIA อยู่แล้ว Apple Silicon ใช้ MPS (Metal Performance Shaders) แทน และการรองรับ MPS ใน PyTorch ก็มีช่องโหว่จริงที่มีการบันทึกไว้:
NotImplementedError: The operator 'aten::isin.Tensor_Tensor_out' is not
currently implemented for the MPS device. ... you can set the environment
variable `PYTORCH_ENABLE_MPS_FALLBACK=1` to use the CPU as a fallback for
this op.
นี่คือ error จริงจากโมเดล PyTorch ที่ใกล้เคียงกับ Whisper บน Apple Silicon (แหล่งที่มา: GitHub — huggingface/transformers #31408) วิธีแก้ที่แนะนำคือให้การประมวลผลนั้นถอยกลับไปใช้ CPU แทน ซึ่งหมายความว่าคุณต้องยอมประมวลผลช้าลง เพื่อแก้ปัญหาที่เกิดขึ้นเพียงเพราะคุณใช้ Mac
เจอ error ของ Rust compiler ระหว่างติดตั้ง
Whisper พึ่งพา tokenizer ของ OpenAI ที่ชื่อ tiktoken ถ้าแพลตฟอร์มของคุณไม่มี wheel ที่สร้างไว้ล่วงหน้า pip จะพยายามคอมไพล์จากซอร์สโค้ด ซึ่งต้องมี Rust toolchain ที่คุณอาจไม่เคยติดตั้งไว้ README อย่างเป็นทางการก็พูดถึงเรื่องนี้ตรง ๆ ว่า ถ้าติดตั้งล้มเหลวพร้อมข้อความ No module named 'setuptools_rust' คุณต้องติดตั้ง setuptools-rust แยกต่างหาก และอาจต้องติดตั้ง Rust development environment เต็มรูปแบบด้วยซ้ำ นี่คือการติดตั้ง compiler toolchain ทั้งชุด เพียงเพื่อรันโมเดลแปลงเสียงเป็นข้อความ
ตัวเลือกที่ "เร็วกว่า" ต้องคอมไพล์จากซอร์สโค้ดเอง
Whisper แบบธรรมดาบน PyTorch จะช้าอย่างเห็นได้ชัดบน Mac คำแนะนำทั่วไปคือให้เปลี่ยนไปใช้ whisper.cpp หรือ mlx-whisper เพื่อดึงความเร็วจริงของ Apple Silicon ทั้งสองตัวเร็วกว่าจริง แต่แลกมาด้วยการเปลี่ยนจากขั้นตอนตั้งค่า Python ไปเป็นขั้นตอนตั้งค่าอีกแบบหนึ่ง:
git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp
make
./models/download-ggml-model.sh large-v3
./main -m models/ggml-large-v3.bin -f your-audio.wav
นี่คือ git, ชุด compiler C++ และการดาวน์โหลดไฟล์โมเดลด้วยมือ ไม่ใช่ "ไม่ต้องเขียนโค้ด" อย่างที่ควรจะเป็นเลย และแม้จะคอมไพล์สำเร็จแล้ว บางครั้งก็ยังเจอปัญหาที่วินิจฉัยได้ยากมาก ผู้ใช้รายหนึ่งที่ใช้งานมานานเล่าว่ารันไฟล์ชุดหนึ่งผ่าน whisper.cpp binary ที่คอมไพล์เองบน M4 Mac mini: มัน "ทำงานได้ดีเยี่ยม" บน M1 แต่บน M4 มัน "หยุดทำงานเฉย ๆ" หลังผ่านไปหลายชั่วโมงโดยไม่มี error ไม่มีการ crash เลย ทางแก้คือเขียนสคริปต์เพื่อ kill แล้วรีสตาร์ตโปรเซสทุกชั่วโมง ("Whisper ยังคงทำงานต่อไป ไม่มี error ใด ๆ ในเทอร์มินัล ไม่มีการ crash... แค่ไม่มี output ออกมาอีกเลย") (แหล่งที่มา: Ars Technica OpenForum)
นี่ไม่ใช่ความผิดพลาดของมือใหม่เลย — นี่คือผู้ใช้ที่มีประสบการณ์แล้วก็ยังต้องพึ่งสคริปต์กับ cron job เพื่อหลบปัญหานี้
"กระบวนการติดตั้งไม่เป็นมิตรอย่างมาก"
ข้อร้องเรียนนี้ถูกยื่นเป็น GitHub issue กับเครื่องมือที่ใช้ Whisper เป็นฐาน สรุปประสบการณ์ของผู้ใช้ที่ไม่ใช่นักพัฒนาได้เป็นอย่างดี: "ตัวติดตั้งไม่เป็นมิตรอย่างมาก การดาวน์โหลดไฟล์ขนาดใหญ่ถูกขัดจังหวะอยู่ตลอด ทำให้การติดตั้งไม่สมบูรณ์และไฟล์ executable หายไป... สำหรับคนที่ไม่มีทักษะเขียนโปรแกรม ทางเลือกเดียวที่เหลือคือถอนการติดตั้ง" (แหล่งที่มา: GitHub — meizhong986/WhisperJAV #85) วิธีแก้ในกระทู้นั้นก็เป็นเรื่องเวอร์ชัน Python ไม่ตรงกันอีกเช่นเคย และต้องอาศัยคนแปลกหน้าคนหนึ่งช่วยพาผู้โพสต์ทำคำสั่งเทอร์มินัลทีละขั้นจนสำเร็จ
แม้จะรันได้ โมเดลขนาดใหญ่ก็ยังอาจ memory ไม่พอ
โมเดล large-v3 ต้องการ VRAM หรือ unified memory ประมาณ 10 GB เพื่อให้ทำงานได้ลื่นไหล บน MacBook รุ่นพื้นฐานที่มี 8 GB หรือ 16 GB นี่คือระดับที่ตึงมากพอจะทำให้โปรเซส crash ไปเลย บังคับให้ต้องลดไปใช้โมเดลที่เล็กลงและแม่นยำน้อยลงแทน
แม้จะรันได้แล้ว ก็ยังไม่ใช่ซับไตเติ้ล
สมมติว่าคุณฝ่าฟันทุกอย่างข้างต้นมาได้ จนได้คำสั่ง whisper your-video.mp4 --model large-v3 ที่ทำงานได้จริง สิ่งที่คุณได้กลับมาคือ transcript ไม่ใช่ซับไตเติ้ล และสำหรับวิดีโอแล้ว นี่คืองานคนละแบบกันเลย:
- ไม่มี preprocessing Whisper รับเสียงดิบตามที่เป็น ถ้ามีเพลงพื้นหลัง เสียงก้องในห้อง หรืออินโทรที่มีเสียงรบกวน โมเดลไม่รู้เลยว่าควรจะเพิกเฉยต่อสิ่งเหล่านั้น และมีการบันทึกไว้ชัดเจนว่ามันมักจะเกิดอาการหลอน (hallucinate) — พูดวลีซ้ำ ๆ หรือแต่งบทสนทนาขึ้นมาเอง — ในช่วงเงียบหรือช่วงที่มีเพลง แทนที่จะยอมรับว่าไม่แน่ใจ
- จังหวะเวลาเป็นเพียงค่าประมาณ timestamp ในตัวของ Whisper จะถูกปัดเศษให้ใกล้เคียงวินาทีที่ใกล้ที่สุด ซึ่งเพียงพอสำหรับ transcript แต่ไม่พอสำหรับซับไตเติ้ลที่ต้องปรากฏขึ้นตรงจังหวะที่มีคนพูดพอดี
- ไม่มีตรรกะการขึ้นบรรทัดใหม่ output ดิบมักมีบล็อกข้อความยาวต่อเนื่องหรือการตัดกลางประโยคที่ดูแปลก ๆ และไม่มีเครื่องมือใดช่วยแก้ นอกจากเปิดไฟล์
.srtด้วยโปรแกรมแก้ไขข้อความแล้วแก้เอง - ไม่มีการแปลภาษา ถ้าต้องการซับไตเติ้ลอีกภาษาหนึ่ง นั่นคือเครื่องมือและขั้นตอนการทำงานที่แยกต่างหากไปเลย
- ไม่มีอินเทอร์เฟซสำหรับแก้ไข ทุกอย่างเกิดขึ้นในบรรทัดคำสั่ง ไม่มี waveform ไม่มีการลากเพื่อปรับ ไม่มีปุ่ม undo
พูดง่าย ๆ คือ การแก้ปัญหาเรื่องการติดตั้งไม่ได้แปลว่าปัญหาเรื่องซับไตเติ้ลจะหมดไปด้วย สุดท้ายคุณก็ยังต้องหาเครื่องมืออีกตัวมาแปลง transcript หยาบ ๆ ให้กลายเป็นสิ่งที่พร้อมเผยแพร่จริง ๆ
วิธีที่ง่ายที่สุด: ข้าม Python ไปเลยด้วย Subtitle Studio
Subtitle Studio รันโมเดล Whisper ตระกูลเดียวกัน แต่อยู่ในรูปแบบ แอป Mac แบบเนทีฟ: ดาวน์โหลด ลากวิดีโอเข้าไป แล้วก็ได้ซับไตเติ้ลกลับมา ไม่ต้องใช้เทอร์มินัล ไม่ต้องจัดการเวอร์ชัน Python ไม่ต้อง debug pip install
โปรแกรมแก้ไขของ Subtitle Studio พร้อม waveform รายการซับไตเติ้ล และตัวอย่างวิดีโอที่จัดเรียงตรงกับเสียงพูด
นอกจากการติดตั้งที่ไม่ต้องพึ่งเทอร์มินัลแล้ว คุณยังได้:
- โมเดลที่ปรับแต่งเฉพาะสำหรับ Apple Silicon โมเดลถอดเสียงถูกปรับให้เหมาะกับชิป M-series และการเร่งความเร็วด้วย Metal โดยเฉพาะ ไม่ใช่ PyTorch build ทั่วไปที่ต้องถอยกลับไปใช้ CPU เวลาเจอการประมวลผลที่ MPS ไม่รองรับ
- preprocessing ก่อนการถอดเสียง ระบบตรวจจับกิจกรรมเสียงพูด (VAD) และลดเสียงรบกวนจะทำความสะอาดเสียงก่อนที่ Whisper จะได้เห็นเสียงนั้น ทำให้เพลงพื้นหลังและเสียงรบกวนในห้องทำให้คำหายหรือเกิดข้อความหลอนน้อยลง ซึ่งเป็นจุดอ่อนที่ Whisper ดิบ ๆ ขึ้นชื่อเรื่องนี้อยู่แล้ว
- การกรองอาการหลอน ระบบให้คะแนนความมั่นใจและวิเคราะห์กิจกรรมเสียงพูดจะจับและลบข้อความผีที่โมเดลแต่งขึ้นมาในช่วงเงียบหรือช่วงเพลง แทนที่จะปล่อยให้มันหลุดเข้าไปในไฟล์ซับไตเติ้ลของคุณตรง ๆ
- การจัดตำแหน่งแบบบังคับ (forced alignment) หลังจากถอดเสียงแล้ว ตัวจัดตำแหน่งจะแมปข้อความกลับไปยัง waveform ในระดับคำ แทนที่ timestamp ของ Whisper ที่ปัดเศษราวหนึ่งวินาทีด้วยจังหวะเวลาที่แม่นยำระดับเฟรม
- การแบ่งส่วนด้วย NLP transcript ดิบจะถูกแบ่งเป็นบรรทัดซับไตเติ้ลที่อ่านง่ายตรงจุดแบ่งวลีตามธรรมชาติ แทนที่จะตัดตามจำนวนตัวอักษรแบบสุ่ม
- เครื่องมือแก้ไขในตัว ลากเพื่อปรับจังหวะเวลาของซับไตเติ้ล แบ่งบรรทัดที่ยาวเกินไป หรือรวมบรรทัดที่ขาดเป็นชิ้น ๆ เข้าด้วยกัน โดยไม่ต้อง export ไปยังโปรแกรมแก้ไขข้อความ
เครื่องมือ realign ของ Subtitle Studio ที่กำลังลากบล็อกซับไตเติ้ลให้ตรงกับ waveform ของเสียง
- การแปลภาษาในตัวเครื่อง แปลซับไตเติ้ลที่เสร็จแล้วเป็น 25 ภาษา ทำงานแบบออฟไลน์ทั้งหมด ไม่ต้องใช้ API key และไม่มีค่าใช้จ่ายต่อคำ — ดู บทความเจาะลึกเรื่องการแปลภาษาแบบออฟไลน์ ของเราว่าโมเดลในเครื่องทำงานอย่างไร
แผงแปลภาษาของ Subtitle Studio พร้อมตัวเลือกภาษาและตัวเลือกผู้ให้บริการ AI
เสียงและวิดีโอของคุณไม่มีวันออกจาก Mac เลย เป็นการรับประกันความเป็นส่วนตัวแบบเดียวกับการรัน Whisper ด้วยตัวเอง เพียงแต่ไม่ต้องผ่านขั้นตอนตั้งค่าใด ๆ
Subtitle Studio
ซื้อครั้งเดียว ทำงานออฟไลน์เต็มรูปแบบบน Mac ของคุณ
เปรียบเทียบแบบเคียงข้าง: Whisper CLI vs Subtitle Studio
| OpenAI Whisper (CLI) | Subtitle Studio | |
|---|---|---|
| การตั้งค่า | Homebrew, การจัดการเวอร์ชัน Python, virtual environment, FFmpeg, pip install | ดาวน์โหลดแอปแล้วเปิดใช้งาน |
| ต้องเขียนโค้ดหรือไม่ | ต้องเขียน — คำสั่งเทอร์มินัล และบางครั้งต้อง debug dependency | ไม่ต้อง |
| การเร่งความเร็วบน Apple Silicon | ขึ้นอยู่กับการรองรับ MPS ของ PyTorch (ยังมีช่องโหว่) | มีในตัว โมเดลที่ปรับให้เหมาะกับ Metal |
| การประมวลผลเสียงล่วงหน้า | ไม่มี — ส่งเสียงดิบเข้าโมเดลตรง ๆ | มี VAD + ลดเสียงรบกวนก่อนถอดเสียง |
| การจัดการอาการหลอน | ไม่มี — เป็น output ดิบจากโมเดล | ตรวจจับและกรองอัตโนมัติ |
| ความแม่นยำของ timestamp | ระดับความละเอียดประมาณ 1 วินาที | การจัดตำแหน่งแบบบังคับระดับคำ |
| การขึ้นบรรทัดใหม่ของซับไตเติ้ล | ไม่มี — ต้องจัดการเองด้วยมือ | แบ่งส่วนอัตโนมัติด้วย NLP |
| เครื่องมือแก้ไข | ใช้โปรแกรมแก้ไขข้อความกับไฟล์ที่ export ออกมา | ปรับตำแหน่งใหม่ แบ่ง รวม บนพื้นฐาน waveform |
| การแปลภาษา | ไม่มี | มีในตัว ออฟไลน์ 25 ภาษา |
| รูปแบบ output | .txt, .srt, .vtt | .srt, .fcpxml |
| ค่าใช้จ่าย | ฟรี (แลกด้วยเวลาของคุณ) | ซื้อครั้งเดียว |
บทสรุป
ถ้าคุณเป็นนักพัฒนาที่ต้องการเขียนสคริปต์ให้ Whisper ทำงานเป็น pipeline อัตโนมัติ ประมวลผลไฟล์เป็นพัน ๆ ไฟล์แบบ batch หรือ fine-tune โมเดลด้วยตัวเอง CLI แบบทางการคือเครื่องมือที่เหมาะสม ความยืดหยุ่นแบบนี้แหละคือสิ่งที่มันถูกออกแบบมาเพื่อรองรับ และต้นทุนในการตั้งค่าก็จ่ายแค่ครั้งเดียว
แต่ถ้าคุณแค่ต้องการซับไตเติ้ลวิดีโอที่แม่นยำและพร้อมเผยแพร่ โดยไม่ต้องเปิดเทอร์มินัลเลย เส้นทางแบบไม่ต้องเขียนโค้ดจะพาคุณไปถึงเป้าหมายได้เร็วกว่า ด้วยเทคโนโลยีเบื้องหลังเดียวกัน แต่ไม่ต้องจัดการสภาพแวดล้อมใด ๆ พร้อมชุดเครื่องมือเฉพาะสำหรับซับไตเติ้ลที่ Whisper ดิบ ๆ ไม่เคยถูกออกแบบมาให้มี
Subtitle Studio
ไม่ต้องใช้ Python, Homebrew หรือเทอร์มินัล แค่ลากวิดีโอเข้าไป
คำถามที่พบบ่อย
ต้องรู้ Python เพื่อรัน Whisper บน Mac หรือไม่?
ถ้าจะใช้แพ็กเกจ openai-whisper แบบทางการ คำตอบคือต้องรู้ — คุณต้องติดตั้ง Python จัดการ virtual environment และรันคำสั่งจากเทอร์มินัล แต่ถ้าไม่อยากแตะโค้ดเลย แอปอย่าง Subtitle Studio รันโมเดลตระกูลเดียวกันผ่านอินเทอร์เฟซแบบลากวางโดยไม่ต้องเขียนโค้ดเลย
ทำไมการติดตั้ง Whisper บน Mac ของฉันถึงล้มเหลว?
สาเหตุที่พบบ่อยที่สุดคือ: ใช้ Python เวอร์ชันที่ไม่รองรับ (ปัจจุบัน 3.13 ทำให้การติดตั้งพัง ให้ใช้ 3.10–3.12 แทน), FFmpeg ไม่อยู่ใน PATH ของระบบแม้จะติดตั้งไปแล้วก็ตาม และขาด Rust compiler ที่จำเป็นสำหรับ build dependency ชื่อ tiktoken จากซอร์สโค้ด แต่ละสาเหตุจะให้ error message ที่แตกต่างกันและค่อนข้างเข้าใจยาก
Whisper ใช้ GPU ของ Mac หรือไม่?
ใช้ได้ ผ่าน backend MPS (Metal Performance Shaders) ของ Apple ใน PyTorch แต่การรองรับ MPS สำหรับการประมวลผลของ Whisper ยังมีช่องโหว่ที่มีการบันทึกไว้ — บาง operator ยังไม่ได้ถูกพัฒนาและจะถอยกลับไปใช้ CPU ที่ช้ากว่าโดยไม่แจ้งเตือน whisper.cpp และ mlx-whisper โดยทั่วไปใช้ Apple Silicon ได้อย่างมีประสิทธิภาพมากกว่าแพ็กเกจ Python ดั้งเดิม แต่ทั้งสองตัวต้องคอมไพล์จากซอร์สโค้ดเอง
openai-whisper, whisper.cpp และ mlx-whisper ต่างกันอย่างไร?
openai-whisper คือแพ็กเกจ Python ดั้งเดิมจาก OpenAI ติดตั้งง่ายที่สุดผ่าน pip แต่ช้ากว่าบน Apple Silicon เพราะรันผ่าน backend MPS ของ PyTorch whisper.cpp คือการเขียนใหม่ด้วย C++ ที่ใช้ Metal โดยตรง เร็วกว่าอย่างเห็นได้ชัด แต่คุณต้อง clone repository และคอมไพล์เอง mlx-whisper ใช้เฟรมเวิร์ก MLX ของ Apple เอง และมักเป็นตัวเลือกที่เร็วที่สุดบนชิป M-series แต่ก็ต้องตั้งค่าจากซอร์สโค้ดคล้าย ๆ กัน ทั้งสามตัวไม่มีการประมวลผลเสียงล่วงหน้า การแก้ไขซับไตเติ้ล หรือการแปลภาษา — พวกมันคือเครื่องมือถอดเสียง ไม่ใช่เครื่องมือทำซับไตเติ้ล
มีวิธีรัน Whisper บน Mac แบบฟรีและไม่ต้องเขียนโค้ดหรือไม่?
โมเดล Whisper เองฟรีและเป็นโอเพนซอร์ส แต่การรันโดยไม่ต้องตั้งค่าอะไรเลยต้องอาศัยแอปที่แพ็กเกจมาให้แล้ว ไม่ใช่ไลบรารี Python ดิบ ๆ — ต้องมีใครสักคนจัดการเรื่องการติดตั้ง การจัดการโมเดล และอินเทอร์เฟซให้คุณ Subtitle Studio คือแอป Mac ที่สร้างขึ้นมาเพื่อการนี้โดยเฉพาะ: ไม่ต้องใช้เทอร์มินัล ไม่ต้องจัดการ dependency และซื้อครั้งเดียวจบแทนการสมัครสมาชิกรายเดือน
Subtitle Studio ใช้โมเดล Whisper เดียวกับที่ใช้ในบรรทัดคำสั่งหรือไม่?
Subtitle Studio ใช้โมเดล Whisper ที่ผ่านการปรับแต่งและ fine-tune มาโดยเฉพาะ สำหรับเสียงแบบผสมที่ผู้สร้างวิดีโอต้องเจอจริง ๆ เช่น บทสนทนาที่มีเพลงประกอบ เสียงรบกวนในห้อง และการพูดหลายภาษา ควบคู่กับการเร่งความเร็วของ Apple Silicon มันถูกห่อหุ้มอยู่ใน pipeline แบบเต็มรูปแบบ (การประมวลผลล่วงหน้า การกรองอาการหลอน การจัดตำแหน่งแบบบังคับ การแบ่งส่วนด้วย NLP) แทนที่จะเป็นโมเดลเดี่ยว ๆ ที่คุณจะได้จาก pip install openai-whisper ดู บทความเปรียบเทียบ MacWhisper กับ Subtitle Studio ของเราเพื่อดูรายละเอียดว่า pipeline นี้ส่งผลต่อผลลัพธ์จริงอย่างไร
ลอง Subtitle Studio ฟรี
ซื้อขาด ไม่มีค่าสมัคร ทำงานออฟไลน์บน Mac ของคุณ

