Apple SpeechAnalyzer API: เบนช์มาร์กเปรียบเทียบกับ Whisper และ API รุ่นก่อน
(get-inscribe.com)- จากการประมวลผลเสียง LibriSpeech 5,559 รายการบน Apple M2 Pro ด้วยโค้ดโปรดักชันเดียวกัน SpeechAnalyzer มีอัตราความผิดพลาดของคำ (WER) 2.12% สำหรับเสียงสะอาด และ 4.56% สำหรับเสียงที่มีสัญญาณรบกวนมาก ซึ่งแม่นยำกว่าเอนจินทั้งหมดที่ทดสอบ
- SFSpeechRecognizer เดิมมี WER อยู่ที่ 9.02% และ 16.25% ตามลำดับ ขณะที่ API ใหม่ลดข้อผิดพลาดจากเสียงเดียวกันลง 3.5~4 เท่า พร้อมใส่เครื่องหมายวรรคตอนและตัวพิมพ์ใหญ่/เล็กให้ด้วย
- SpeechAnalyzer แม่นยำกว่า Whisper Small และเร็วกว่าเกือบ 3 เท่า แต่ขอบเขตการรองรับจำกัดอยู่ที่ประมาณ 30 โลเคล และแพลตฟอร์ม Apple ที่ใช้ OS 26 ขึ้นไป
- เอนจินทั้งหมดทำงานบน M2 Pro ได้ เร็วกว่าความเร็วจริงประมาณ 12~40 เท่า จึงประมวลผลเสียงความยาว 1 ชั่วโมงได้ใน 1.5~5 นาที แต่ไม่มีการเปิดเผยความเร็วที่แม่นยำแยกตามเอนจิน เพราะสภาพแวดล้อมมีงานพัฒนารันควบคู่ไปด้วย
- หากตอนนี้ต้องถอดเสียงภาษาอังกฤษแบบออนดีไวซ์บน iPhone หรือ Mac, SpeechAnalyzer อาจเป็นตัวเลือกแรก และ Inscribe ก็เปลี่ยนค่าเริ่มต้นให้ใช้ SpeechAnalyzer สำหรับภาษาที่รองรับ และใช้ Whisper สำหรับภาษาที่เหลือ
ผลเบนช์มาร์กความแม่นยำ
- อัตราความผิดพลาดของคำ (WER) คือสัดส่วนที่เอนจินแทนที่คำผิด ละคำ หรือสร้างคำขึ้นมาใหม่ ยิ่งต่ำยิ่งแม่นยำ
- เอนจินทั้งหมดรันแบบ ออนดีไวซ์ อย่างสมบูรณ์บน Apple M2 Pro 32GB และ macOS 26.5.1
- ใช้ชุดข้อมูลประเมินผล 2 ชุดของ LibriSpeech
test-clean: เสียงอ่านออกเสียงที่สะอาด 2,620 รายการtest-other: เสียงที่ยากกว่าและมีสัญญาณรบกวนมากกว่า 2,939 รายการ
- WER และขนาดโมเดลแยกตามเอนจินมีดังนี้
- Apple SpeechAnalyzer:
test-clean2.12%,test-other4.56%, โมเดลของระบบ - Whisper Small: 3.74%, 7.95%, ประมาณ 460MB
- Whisper Base: 5.42%, 12.51%, ประมาณ 140MB
- Whisper Tiny: 7.88%, 17.04%, ประมาณ 40MB
- Apple SFSpeechRecognizer: 9.02%, 16.25%, โมเดลของระบบ
- Apple SpeechAnalyzer:
- Apple ได้แทนที่ SFSpeechRecognizer ด้วย SpeechAnalyzer·SpeechTranscriber ใน iOS 26 และ macOS 26 แต่ไม่ได้เปิดเผยตัวเลขความแม่นยำ
- Inscribe มีทั้งเอนจิน Apple สองตัวและโมเดล Whisper สามตัว จึงสามารถเปรียบเทียบเอนจินทั้งห้าบนคอมพิวเตอร์ เสียง และเส้นทางโค้ดโปรดักชันเดียวกันได้
เหตุผลที่ควรย้ายจาก SFSpeechRecognizer
- SpeechAnalyzer ลด WER จาก API เดิมในเสียงเดียวกันได้ 3.5~4 เท่า
- เสียงสะอาด: ลดจาก 9.02% เหลือ 2.12%
- เสียงที่มีสัญญาณรบกวนมาก: ลดจาก 16.25% เหลือ 4.56%
- นอกจากความแม่นยำแล้ว ยังสร้างข้อความที่มี เครื่องหมายวรรคตอนและตัวพิมพ์ใหญ่/เล็ก ทำให้ผลลัพธ์เป็นระเบียบกว่าเอนจินเดิม
- หากถอดเสียงเนื้อหาความยาว 1 ชั่วโมงเท่ากัน API เดิมจะมีจำนวนคำที่จดจำผิดมากกว่า SpeechAnalyzer ราว 4 เท่า
- สำหรับแอปที่ประมวลผลเสียงยาวกว่าคำสั่งเสียง ความต่างด้านความแม่นยำเพียงอย่างเดียวก็เป็นเหตุผลเพียงพอสำหรับการไมเกรต
เกณฑ์การเลือกใช้ SpeechAnalyzer กับ Whisper
- SpeechAnalyzer มี WER ต่ำกว่า Whisper Small ซึ่งเป็นโมเดล Whisper ขนาดใหญ่ที่สุดในกลุ่มที่ทดสอบ ในทั้งสองชุดข้อมูล
- เวลาในการคำนวณต่อเสียง 1 วินาทียังอยู่ที่ประมาณ หนึ่งในสาม ของ Whisper Small จึงเหนือกว่าทั้งด้านความแม่นยำและความเร็ว
- เมื่อประมวลผลภาษาอังกฤษบนฮาร์ดแวร์ Apple, SpeechAnalyzer ให้ผลลัพธ์แข็งแกร่งที่สุดในบรรดาเอนจินออนดีไวซ์ที่ทดสอบได้
- Whisper ยังเหลือข้อได้เปรียบสองอย่าง
- รองรับภาษามากกว่ามาก เมื่อเทียบกับ SpeechTranscriber ที่รองรับประมาณ 30 โลเคล
- ไม่จำกัดเฉพาะแพลตฟอร์ม Apple ที่ใช้ OS 26 ขึ้นไป และรันได้ในหลายสภาพแวดล้อม
- เอนจิน
Autoของ Inscribe ถูกปรับตามผลการวัดให้ใช้ SpeechAnalyzer เป็นตัวเลือกหลักสำหรับภาษาที่รองรับ และใช้ Whisper สำหรับภาษาอื่น
ความเร็วในการประมวลผลและข้อจำกัดของการวัด
- เอนจินทั้งห้าทำงานบน M2 Pro ได้ เร็วกว่าความเร็วจริงประมาณ 12~40 เท่า
- สามารถถอดเสียงออดิโอความยาว 1 ชั่วโมงแบบออนดีไวซ์ได้ในประมาณ 1.5~5 นาที
- SpeechAnalyzer เร็วกว่า Whisper Small ประมาณ 3 เท่า และมี WER ต่ำกว่า
- ระหว่างการวัดความแม่นยำ มีงานพัฒนารันอยู่บนคอมพิวเตอร์เครื่องเดียวกันด้วย ทำให้เวลาในการประมวลผลแยกตามเอนจินมีสัญญาณรบกวนปะปน
- ภาระงานนี้ไม่ส่งผลต่อ WER
- ตารางความเร็วรายเอนจินที่แม่นยำจะถูกเพิ่มภายหลัง หลังวัดซ้ำในสภาพแวดล้อมเฉพาะที่ว่างจากงานอื่น
การทำซ้ำผลและข้อมูลสาธารณะ
- ค่าที่วัดได้ของ Whisper ใกล้เคียงกับผล LibriSpeech ที่ OpenAI เผยแพร่ จึงยืนยัน ความสอดคล้องของเบนช์มาร์กฮาร์เนส ได้
- Whisper Tiny
test-clean: วัดได้ 7.88%, OpenAI 7.6%, ต่าง +0.28%p - Whisper Base
test-clean: 5.42%, 5.0%, +0.42%p - Whisper Small
test-clean: 3.74%, 3.4%, +0.34%p - Whisper Tiny
test-other: 17.04%, 16.9%, +0.14%p - Whisper Base
test-other: 12.51%, 12.4%, +0.11%p - Whisper Small
test-other: 7.95%, 7.6%, +0.35%p
- Whisper Tiny
- เหตุผลที่ค่าที่วัดได้ทั้งหมดสูงกว่าเล็กน้อยคือ ตัวปรับข้อความให้เป็นมาตรฐาน ที่เข้มงวดกว่า และการควอนไทซ์ CoreML
- เนื่องจากใช้คอร์ปัส ตัวปรับมาตรฐาน และตัวให้คะแนนเดียวกันกับเอนจินของ Apple ความสอดคล้องกับผลของ Whisper จึงเป็นพื้นฐานในการตรวจสอบค่าที่วัดได้ของ Apple
- มีการเผยแพร่ผลการรู้จำรายประโยค ข้อความอ้างอิง และ WER รายประโยค เพื่อให้ให้คะแนนซ้ำด้วยวิธีปรับมาตรฐานอื่นได้
- summary.json: สรุปสำหรับเครื่องอ่านได้ขนาด 3KB ที่มีค่าการวัด 10 รายการ
- raw-transcripts-apple.json.gz: ผลลัพธ์ 5,559 รายการของ SpeechAnalyzer, 620KB
- raw-transcripts-legacy.json.gz: ผลลัพธ์ 5,559 รายการของ SFSpeechRecognizer, 620KB
วิธีวัด WER และการตรวจสอบว่าเป็นออนดีไวซ์
- เอนจินแต่ละตัวรันด้วย เส้นทางโค้ดโปรดักชัน และการตั้งค่าบัฟเฟอร์ที่ผู้ใช้ Inscribe ใช้งานจริง ไม่ใช่การตั้งค่าสำหรับการทดลอง
- ข้อความอ้างอิงของ LibriSpeech เป็นตัวพิมพ์ใหญ่ ไม่มีเครื่องหมายวรรคตอน และเขียนตัวเลขเป็นคำ แต่เอนจินสมัยใหม่ให้ผลลัพธ์ที่มีเครื่องหมายวรรคตอนและตัวเลข
- ใช้ตัวปรับมาตรฐานเดียวกันกับข้อความทั้งสองฝั่ง เพื่อจัดการตัวพิมพ์ใหญ่/เล็ก เครื่องหมายวรรคตอน การแปลงตัวเลขเป็นคำ และรูปย่อ
- เพื่อไม่ให้เอนจินที่สร้างรูปแบบอ่านง่ายเสียเปรียบ จึงไม่ได้ให้คะแนนจากข้อความดิบโดยตรง แต่ใช้วิธีปรับมาตรฐานภาษาอังกฤษของ OpenAI
- ใช้ WER ระดับคอร์ปัส ซึ่งนำจำนวนข้อผิดพลาดทั้งหมดหารด้วยจำนวนคำอ้างอิงทั้งหมด แทนการเฉลี่ย WER รายประโยค เพื่อไม่ให้ประโยคสั้นมีน้ำหนักมากเกินไป
- โดยค่าเริ่มต้น SFSpeechRecognizer สามารถส่งเสียงไปยังเซิร์ฟเวอร์ของ Apple ได้ จึงบังคับให้รู้จำแบบออนดีไวซ์
- หากสลับไปใช้คลาวด์โดยอัตโนมัติ การเปรียบเทียบจะเป็นโมฆะ จึงตั้งค่าให้ฮาร์เนสปฏิเสธการรัน
- นี่ยังเป็นมาตรการเพื่อไม่ให้อัปโหลดเสียง 5,559 รายการไปยังเซิร์ฟเวอร์ในผลิตภัณฑ์ที่เน้นความเป็นส่วนตัว
- กรณีที่ไม่ส่งคืนผลลัพธ์ก็ไม่ได้ซ่อนไว้ แต่คำนวณ WER ของประโยคนั้นเป็น 100%
- เกิดขึ้น 1 ครั้งจากการถอดเสียงทั้งหมด 27,795 ครั้ง และเป็นกรณี
test-otherของ SFSpeechRecognizer
- เกิดขึ้น 1 ครั้งจากการถอดเสียงทั้งหมด 27,795 ครั้ง และเป็นกรณี
บั๊กของผลิตภัณฑ์ที่พบจากเบนช์มาร์ก
- ฟีเจอร์นำเข้าไฟล์ของเอนจิน Apple ใน Inscribe ส่งออดิโอให้ SpeechAnalyzer และปิดสตรีมอินพุตแล้ว แต่ไม่ได้เรียก
finalizeAndFinishThroughEndOfInput() - หากไม่มีการเรียกนี้ ตัววิเคราะห์จะไม่ส่งผลลัพธ์สุดท้าย ทำให้การนำเข้าไฟล์ค้างไม่มีกำหนด
- ก่อนหน้านี้การตั้งค่า
Autoเลือกใช้ Whisper เป็นหลัก ทำให้ยังไม่พบบั๊กนี้ - ปัญหาถูกพบระหว่างกระบวนการเบนช์มาร์ก และแพตช์แก้ไขถูกปล่อยในวันเดียวกัน
ข้อจำกัดและขอบเขตการใช้งานจริง
- ประเมินเฉพาะ เสียงอ่านภาษาอังกฤษ เท่านั้น จึงไม่สามารถนำผลไปใช้กับภาษา 100+ ภาษาที่ Whisper รองรับแต่ SpeechTranscriber ไม่รองรับได้
- LibriSpeech เป็นคอร์ปัสมาตรฐานที่เปรียบเทียบได้ แต่ไม่ใช่เสียงการประชุม
- เสียงที่มีสำเนียง เสียงที่บันทึกจากระยะไกล และการประชุมที่มีผู้พูดหลายคนเป็นเป้าหมายการประเมินถัดไป
- วัดบน M2 Pro และ macOS 26.5.1 เพียงเครื่องเดียว
- คาดว่าความแม่นยำจะคงอยู่บน Apple Silicon รุ่นอื่นด้วย แต่ความเร็วจะต่างกันตามชิป
- Whisper รันด้วย โมเดล WhisperKit CoreML ที่ควอนไทซ์แล้ว ซึ่ง Inscribe ให้บริการจริง
- การใช้งาน GPU อ้างอิงอาจให้ผลต่างเล็กน้อย และความต่างจากค่าที่ OpenAI เผยแพร่สะท้อนอยู่ในตารางการทำซ้ำผลแล้ว
- หากตอนนี้ต้องถอดเสียงภาษาอังกฤษบน iPhone หรือ Mac, SpeechAnalyzer ที่ฝังมากับระบบปฏิบัติการเป็นตัวเลือกออนดีไวซ์ที่แม่นยำที่สุดตามการวัด
- Inscribe ใช้ SpeechAnalyzer สำหรับภาษาที่รองรับ และใช้ Whisper สำหรับภาษาที่เหลือ โดยประมวลผลทั้งหมดภายในอุปกรณ์และไม่อัปโหลดเสียง
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
Whisper ไม่เหมาะจะเป็นตัวเทียบอ้างอิง เพราะตอนนี้มีโมเดลรุ่นใหม่ที่ดีกว่าอย่าง Nvidia Nemotron·Parakeet, Voxtral ของ Mistral และ Cohere Transcribe
ขณะเดียวกันแอปเสียเงินจำนวนมากที่แค่ครอบ Whisper ไว้อีกชั้นก็น่าจะได้รับผลกระทบ ถ้า Apple ออก native GUI อย่างแอปอัดเสียงสำหรับ macOS มา แอป wrapper ส่วนใหญ่ที่ช่วงนี้ทำกันด้วย vibe coding ก็คงไม่จำเป็นอีกต่อไป
สำหรับการอัดเสียงบน Mac ขอแนะนำ Willow มันประมวลผลแทบจะทันทีพร้อมสรุปเนื้อหาได้ด้วย สำหรับผมเลยอยู่ในระดับ ‘ดีกว่าการถอดเสียงที่สมบูรณ์แบบ’ และแม้จะเคยชอบ Superwhisper แต่ความต่างชัดเจนจนย้ายมาใช้ Willow
มันดีมากจนแทบสงสัยว่าจะพัฒนาไปได้อีกแค่ไหน และดูเหมือนการรู้จำเสียงพูดเป็นปัญหาที่ถูกแก้ไปแล้ว หรืออย่างช้าก็จะถูกแก้ภายใน 5 ปี ไม่แน่ใจว่าบริษัทในสายนี้จะอยู่รอดระยะยาวไหม แต่สำหรับผู้บริโภคถือว่ายอดเยี่ยม และถ้า Apple SpeechAnalyzer ในปี 2030 ดีพอ ก็อาจไม่จำเป็นต้องใช้ซอฟต์แวร์ของบุคคลที่สามอีก
สำหรับงานหลักอย่างการทำซับไตเติลเลกเชอร์คณิตศาสตร์ เมื่อลองเทียบกับ Whisper-Large-V2 พบว่ามันเร็วกว่าเยอะ แต่ความแม่นยำต่ำกว่านิดหน่อย พอใช้กับการถอดเสียงแบบเรียลไทม์ได้สบาย แต่ผมไม่จำเป็นต้องสร้างซับทันที จึงคงใช้ Whisper ต่อไปอีกสักพัก
บน iPhone 17 Pro มันประมวลผลเสียงยาว 1 ชั่วโมงได้ใน 1 นาที
น่าจะเหมาะกว่าถ้า เทียบกับ Voxtral ในงานถอดเสียงการประชุมของผม ยังไม่เคยมีโมเดลไหนทั้งแบบเปิดและปิดให้ อัตราความผิดพลาดของคำย่อ (AER) ต่ำได้เท่านี้ และมันยังเข้าใจหรืออนุมานศัพท์เทคนิคที่ใช้ในงานได้จนแทบไม่ต้องแก้ Whisper นั้นแย่มากแบบคนละชั้น
Whisper small·tiny·base เป็นโมเดลที่อายุเกือบ 4 ปีแล้ว และแม้แต่ Whisper v2 หรือ v3 ก็ไม่ได้อัปเดตโมเดลเหล่านั้น ตอนนี้ก็น่าจะมี คู่เทียบที่ดีกว่านี้ แล้วหรือเปล่า
น่าประทับใจ Apple บอกว่า ปรับปรุงโมเดลในเวอร์ชัน 27 แล้ว จึงอยากรู้ผลวัดของเวอร์ชันเบต้าด้วย
นี่คือ เอนจินเขียนตามคำบอกรุ่นใหม่ ที่รันไม่ได้บน iPhone 17 รุ่นปกติอายุ 1 ปี เพียงเพราะมันไม่ใช่รุ่น Pro ใช่ไหม
ผมใช้ Spokenly กับโมเดลของ Nvidia ในโหมดออฟไลน์ล้วน ทุกอย่างประมวลผลบนเครื่องทั้งหมดและฟรี 100% แนะนำมาก
อยากให้ช่วยเบนช์มาร์ก Whisper large และ large v3 turbo ด้วย เพราะรันบน MacBook รุ่นเก่าได้สบาย มี RTF ต่ำกว่า 1 และในการเขียนตามคำบอกจริง ๆ แม่นยำกว่าโมเดลตระกูล Parakeet มาก แม้อันดับในตาราง automatic speech recognition จะบอกอีกแบบ
แปลกที่ Whisper large v3 turbo ซึ่งรันบนเครื่องได้สบายแม้บน iPhone รุ่นล่าสุด กลับไม่ถูกนำมาเทียบด้วย