oTranscribe: เครื่องมือถอดเสียงบทสัมภาษณ์เสียงฟรีแบบโอเพนซอร์ส
(otranscribe.com)- oTranscribe เป็นเว็บแอปฟรีที่ช่วยลดความยุ่งยากจากการต้องสลับไปมาระหว่างมีเดียเพลเยอร์กับโปรแกรมแก้ไขเอกสารเมื่อถอดเสียงบทสัมภาษณ์ที่บันทึกไว้
- จัดการทั้งการเล่นและการพิมพ์ในหน้าจอเดียว และสามารถควบคุม หยุดชั่วคราว·กรอกลับ·กรอไปข้างหน้า ได้ด้วยคีย์บอร์ดเพียงอย่างเดียว
- สามารถแทรก timestamp แบบโต้ตอบ ลงในบทถอดเสียงเพื่อกระโดดไปยังช่วงเวลาที่ต้องการได้ทันที และงานจะถูกบันทึกอัตโนมัติทุกวินาทีลงในที่เก็บข้อมูลของเบราว์เซอร์
- ไฟล์เสียงและบทถอดเสียงถูกจัดการแบบ ส่วนตัว โดยไม่ออกไปนอกเครื่องคอมพิวเตอร์ และสามารถส่งออกเป็น Markdown·ข้อความธรรมดา·Google Docs ได้
- รองรับไฟล์เสียง mp3/ogg/webm/wav และวิดีโอ mp4/ogg/webm แต่แนวทางการใช้งานออกแบบมาโดยมีเดสก์ท็อปคอมพิวเตอร์เป็นหลัก
เวิร์กโฟลว์การถอดเสียงที่จบได้ในหน้าจอเดียว
- oTranscribe เป็นเว็บแอปฟรีสำหรับถอดเสียงบทสัมภาษณ์ที่บันทึกไว้
- ใช้งานได้เฉพาะบนเดสก์ท็อปคอมพิวเตอร์
- จัดการการพิมพ์ถอดเสียงและการเล่นสื่อในหน้าจอเดียว เพื่อไม่ต้องสลับไปมาระหว่าง QuickTime กับ Word
- สามารถควบคุมการเล่นและการจัดรูปแบบด้วยคีย์ลัด
- ESC สำหรับเล่น/หยุดชั่วคราว
- ใช้คีย์บอร์ดเพื่อหยุดชั่วคราว กรอกลับ กรอไปข้างหน้า และปรับความเร็ว
- Ctrl+J เพื่อแทรก timestamp ปัจจุบัน
- Ctrl+I สำหรับตัวเอียง, Ctrl+B สำหรับตัวหนา
- เมื่อกดที่ timestamp แบบโต้ตอบในบทถอดเสียง จะย้ายไปยังช่วงเวลานั้นได้
การจัดการไฟล์ การบันทึก และการส่งออก
- ไฟล์เสียงและบทถอดเสียงถูกประมวลผลแบบ ส่วนตัว โดยไม่ออกไปนอกเครื่องคอมพิวเตอร์
- งานจะถูกบันทึกอัตโนมัติทุกวินาทีลงในที่เก็บข้อมูลของเบราว์เซอร์
- ประวัติการถอดเสียงจะถูกเก็บเป็นสำเนาทุก 5 นาที และรักษาข้อมูลสำรองไว้สูงสุด 100 ชุด
- สามารถบันทึกด้วยตนเองได้ทุกเมื่อด้วย Ctrl+S
-
รูปแบบที่รองรับ
- เสียง: mp3, ogg, webm, wav
- วิดีโอ: mp4, ogg, webm
- ไฟล์วิดีโอสามารถเล่นได้ในเพลเยอร์แบบรวม
- มีฟังก์ชันใส่ URL วิดีโอ YouTube
-
การส่งออก
- Markdown
.md - ข้อความธรรมดา
.txt - รูปแบบ oTranscribe
- Google Docs
- oTranscribe เป็นโปรเจกต์ โอเพนซอร์ส ภายใต้ไลเซนส์ MIT
- ดูความช่วยเหลือได้ที่ Help
- Markdown
3 ความคิดเห็น
หืม? ตอนแรกก็นึกว่าสามารถทำงานในเบราว์เซอร์ได้อย่างไร.. ที่แท้ก็เป็นเครื่องมือสำหรับฟังแล้วถอดคำด้วยตัวเองแบบไม่มี AI นี่เอง ช่วงนี้ Whisper ก็รู้จำภาษาเกาหลีได้ดีอยู่แล้ว เลยไม่ค่อยเห็นเหตุผลว่าทำไมต้องใช้แบบนี้..
ในกรณีที่มีผู้พูดหลายคน หรือการออกเสียงไม่ชัดเจน หรือคุณภาพการบันทึกเสียงไม่ดี ก็อาจเป็นเรื่องยากที่จะพึ่งพาความช่วยเหลือจาก AI ได้ และก็มักมีหลายครั้งที่ต้องการคุณภาพที่มากกว่าแค่การทำงานได้ "ดีพอ"
ความคิดเห็นจาก Hacker News
สัปดาห์นี้ต้องทำ การถอดเสียงพร้อมแยกผู้พูด สำหรับบทสัมภาษณ์ที่มีผู้พูดหลายคน เลยลองใช้ https://github.com/MahmoudAshraf97/whisper-diarization แล้วพบว่าทำงานได้ดีมาก
มันสร้างให้ทั้งไฟล์ที่ใส่หมายเลขผู้พูดให้กับแต่ละช่วงคำพูดที่ต่อเนื่อง และไฟล์ที่มี timestamp ซึ่งน่าจะใช้ทำซับไตเติลได้
ถูกกว่า ง่ายกว่ามาก และเร็วกว่าการตั้งค่า whisper-diarization บน M1 เอง Audiogest [2] เป็นเว็บเซอร์วิสที่สร้างบน Spectropic แต่ยังไม่ได้ลองใช้
ไม่ได้มีส่วนเกี่ยวข้อง เป็นแค่ลูกค้าที่พอใจ และหลังจากรายงานบั๊กก็เคยคุยอีเมลกันดี ๆ กับคนที่ดูเหมือนเป็นนักพัฒนาเดี่ยวที่สร้างเครื่องมือเหล่านี้
[1] https://spectropic.ai/
[2] https://audiogest.app/
ถ้าใช้ร่วมกับ GPT สำหรับแปล ก็ทำได้ค่อนข้างดี
ถ้ามี (V)RAM เพียงพอก็ทำแบบ local ได้ แต่โดยปกติไม่ค่อยมีเหลือ เลยชอบใช้ OpenAI API มากกว่า โมเดลตระกูล Llama หลายตัวคุณภาพยังไม่ถึงระดับ GPT-4
ถ้าต้องการแค่ Whisper และไม่ต้องแปล การรันแบบ local ก็ทำได้จริงพอสมควร และ Whisper คุณภาพสูงก็ใส่ใน (V)RAM 4GB ได้
Whisper.CPP เร็วกว่า Whisper มาก เลยหวังว่าจะมีฟีเจอร์แยกผู้พูดที่ดีกว่านี้สร้างบนมัน
เช่น การถอดเสียง การแปลด้วยเครื่อง OCR และการรู้จำภาพ
อาจจะไม่ค่อยชัดเจน แต่ OTranscribe ไม่ใช่เครื่องมือ speech-to-text อัตโนมัติ เป็น UI ที่ช่วยการถอดเสียงแบบแมนนวล
ดังนั้นตรงนี้ไม่มี AI
มีแอปโอเพนซอร์ส/แอปเสียเงิน/แชร์แวร์/ฟรีแวร์ที่ทำ การถอดเสียงแบบเรียลไทม์ระดับคำ ระหว่างอัดเสียง ทำงานแบบ local ทั้งหมด และใช้โมเดล local แบบโอเพนซอร์สที่ค่อนข้างใหม่บ้างไหม?
ตอนนี้ใช้ otter.ai สำหรับถอดเสียงการประชุมแบบเรียลไทม์อยู่ เวลาทำหลายอย่างพร้อมกันแล้วมีคนถาม ก็สามารถไล่อ่าน transcript ช่วงไม่กี่วินาทีล่าสุดเพื่อกลับมาตามทันได้ทันที ซึ่งดี แต่ก็ไม่สมบูรณ์แบบ บางครั้งบริการถอดเสียงแบบเรียลไทม์หน่วงค่อนข้างมาก และยังต้องมีการเชื่อมต่ออินเทอร์เน็ตด้วย
ในทางกลับกัน แอปที่ใช้ Whisper ส่วนใหญ่ รวมถึงโค้ดเดโมของ whisper.cpp ครั้งล่าสุดที่ตรวจดู ต้องใส่เสียงที่อัดไว้ทั้งหมดเข้าไปทีเดียว ส่วนตัวอื่น ๆ ที่พึ่งพาเฟรมเวิร์ก Apple Dictation เป็นต้น ก็มีฟีเจอร์ที่ค่อนข้างล้าสมัยในตอนนี้
อยากรู้ว่ามีอะไรที่ใช้งานจริงกันอยู่บ้างไหม
เป็นเครื่องมือที่ใช้ทุกวันเวลาถอดเสียงการประชุม บทสัมภาษณ์ ฯลฯ ข้อมูลทั้งหมดอยู่ในเครื่องของผม จึงไม่ต้องกังวลเรื่องความเป็นส่วนตัวเวลาถอดเสียงการประชุมที่ทำงาน
เร็วพอ ๆ กับ Otter.ai แต่แน่นอนว่ายังมีพื้นที่ให้ปรับปรุงด้านประสบการณ์ผู้ใช้และความเร็ว อย่างไรก็ตาม ใช้งานได้เฉพาะบน MacBook ที่มี Apple silicon เท่านั้น
ถ้าสนใจคุยกันทางอีเมลได้ (ดูโปรไฟล์ HN)
เป็นซอฟต์แวร์เสรีโอเพนซอร์สและทำงานแบบ local ทั้งหมด ไม่ใช่เรียลไทม์ระดับคำ แต่ก็ไม่จำเป็นต้องรออัปโหลดไฟล์เสียงทั้งหมดก่อนเริ่มทำงาน ใช้บน Pixel 5a อยู่ ดังนั้นฮาร์ดแวร์ก็ไม่ได้แรงอะไร
มันทำงานดีพอจนใช้ส่งข้อความผ่าน Telegram ไปยังเครื่อง Linux ตอนที่ไม่อยากพิมพ์ได้ด้วย เป็นแฮ็กที่ไม่เนียนนัก แต่ช่วยให้งานเสร็จได้
ใช้เวลาหลายชั่วโมงหา alternative แบบ native บน Linux หรือพยายามรันใน Waydroid แต่ไม่เจออะไรที่ดีเท่านี้ เลยตัดสินใจไม่ให้ “ความลื่นไหล” กลายเป็นศัตรูของ “ดีพอใช้งานได้”
[0] https://github.com/soupslurpr/Transcribro
เป็นเดสก์ท็อปแอปที่ใช้ ElectronJS กับ oTranscribe เวอร์ชันในเวลานั้น และยังมีเวอร์ชันเว็บกับ PWA [1] ด้วย
ตอนนั้นใช้โมเดลภาษาของ BSC (Barcelona Supercomputing Center) และการถอดเสียงทำบน WASM โดยอิง Vosk [2]
[0] https://github.com/projecte-aina/oTranscribe-plus
[1] https://otranscribe.bsc.es/
[2] https://github.com/alphacep/vosk-api
ถ้ามี การแยกผู้พูด ด้วยก็คงดี แต่กำลังรอให้ upstream Whisper เพิ่มเข้ามา: https://github.com/argmaxinc/WhisperKit/issues/31
การที่ไม่มี การผสานรวม AI นี่ค่อนข้างน่าแปลกใจ
ถ้าต้องการผลลัพธ์ระดับคุณภาพสำหรับการตีพิมพ์ ผลจาก AI ก็ยังต้องมีการตรวจแก้และตรวจสอบคุณภาพอยู่ดี ต้องระบุว่าใครพูดเมื่อไร หรืออย่างน้อยก็ต้องแยกแยะผู้พูดซึ่ง Whisper ยังทำไม่ได้ รวมถึงแก้นามสกุลแปลก ๆ เป็นต้น
ดังนั้นแม้แต่คนที่ใช้ AI ก็ยังต้องการเครื่องมือดี ๆ สำหรับปรับแต่ง/เก็บงาน/ตรวจแก้ และน่าจะคล้ายกับเครื่องมือถอดความแบบไม่ใช้ตัวช่วย
ปัจจุบัน Muckrock เป็นผู้ดูแล และไม่มีการเปลี่ยนแปลงมาพักใหญ่แล้ว
นั่นจึงเป็นเหตุผลที่ไม่มีการผสานรวมแบบนี้ ตอนนั้นเทคโนโลยีดังกล่าวยังไม่มีด้วยซ้ำ
ตาม FAQ คำตอบของคำถาม “oTranscribe แปลงเสียงเป็นข้อความให้อัตโนมัติหรือไม่?” คือ “ไม่”
oTranscribe ทำให้งานถอดเสียงซึ่งเป็นงานทำมือเจ็บปวดน้อยลงมาก แต่การถอดความเองยังต้องทำด้วยตัวเอง
ตอนนี้กำลังใช้แอป iOS ฟรีของ Aiko อยู่ ซึ่งถอดความแบบออฟไลน์ด้วยโมเดล Whisper ของ OpenAI
จนถึงตอนนี้ทำงานได้ค่อนข้างดี และส่งออกได้เป็นรูปแบบอย่าง SRT, TXT, CSV, JSON และข้อความที่มี timestamp
https://sindresorhus.com/aiko
ถ้าต้องการทรานสคริปต์ของไฟล์เสียง/วิดีโอ จะลองใช้บริการของผม TurboScribe https://turboscribe.ai/ ได้เสมอ
ฟรี 100% สูงสุดวันละ 3 ไฟล์ จำกัดไฟล์ละ 30 นาที ส่วนแผนแบบจ่ายเงินไม่จำกัด และถอดความได้สูงสุดไฟล์ละ 10 ชั่วโมง
รองรับการรู้จำผู้พูด รูปแบบส่งออกทั่วไป (TXT, DOCX, PDF, SRT, CSV) และเครื่องมือ AI สำหรับทำงานกับทรานสคริปต์ด้วย
ปกติใช้กับไฟล์บันทึกวิดีโอความยาว 2–3 ชั่วโมงที่มีผู้พูดหลายคน และ เครื่องมือแก้ไข ที่ช่วยจัดระเบียบก่อนส่งออกก็มีประโยชน์
สงสัยว่า Gemini-1.5-Pro-Experiment-0801 ซึ่งอาจเป็น มัลติโมดัล LLM ที่ดีที่สุดตอนนี้ จะถอดความได้ดีแค่ไหน เลยลองให้ถอดบทสัมภาษณ์ Ezra Klein กับ Nancy Pelosi 5 นาทีที่เพิ่งออกวันนี้
ผลลัพธ์อยู่ที่นี่: https://www.gally.net/temp/20240809geminitranscription/index...
นอกจากปัญหาเล็กน้อยเรื่องเครื่องหมายวรรคตอนและตัวพิมพ์ใหญ่/เล็กแล้ว การถอดความของ Gemini ดูแทบสมบูรณ์แบบ มีคำที่ดูเหมือนฟังผิดแค่หนึ่งหรือสองคำ และถ้าผมถอดเองก็น่าจะผิดมากกว่านั้น
ส่วนที่สะดุดตาเป็นพิเศษคือประโยค “And then he comes up with "weird," which becomes viral and the rest, and here he is.”
Gemini ใส่เครื่องหมายคำพูดให้ “weird” ได้อย่างไร จึงระบุได้อย่างถูกต้องว่าผู้พูดกำลังชี้ถึงตัวคำที่ Walz ใช้เอง? ตาม Politico ระบุว่า ครั้งแรกที่ Walz ใช้คำนั้นในสื่อในบริบทดังกล่าวคือวันที่ 23 กรกฎาคม
https://www.politico.com/news/2024/07/26/trump-vance-weird-0...
เป็นแค่การเดา แต่มีความเป็นไปได้สูงที่ LLM หรือระบบรู้จำเสียงอื่น ๆ ต้องอาศัยบริบทของประโยคเพื่อรู้จำคำแต่ละคำและเครื่องหมายวรรคตอน และนี่ดูเป็นตัวอย่างที่ลงตัวพอดี
การฟังของมนุษย์ก็คล้ายกัน ถ้ามีบริบท เราก็ฟังคำออกได้แม้จะพูดอู้อี้มากหรือพูดเร็วมาก
สุดท้ายแล้ว เราเหมือนฟังเป็นวลี ไม่ใช่ฟังเป็นคำ ๆ
ถ้ามีไฟล์เสียงหรือวิดีโอ อยากเอาไปใส่ใน AI video editor ของเราเพื่อดูว่ามันใส่เครื่องหมายวรรคตอนในทรานสคริปต์อย่างไร
ยังมีเครื่องมือถอดความที่ใช้ Whisper กับ WASM ในเบราว์เซอร์ เพื่อถอดความไฟล์วิดีโอ/เสียงและรับไฟล์ .txt, .srt, .vtt ได้ด้วย
ภายหลังอาจรองรับ Whisper Turbo ได้ด้วย
https://video2srt.ccextractor.org/
หมายเหตุ: กำลังทำโปรเจกต์นี้อยู่
ใช้ตัวนี้บ่อย ดี เรียบง่าย และมีเครื่องมือที่จำเป็นพอดี นั่นคือ การปรับความเร็วการเล่น กับการหยุดชั่วคราว/เล่นต่อที่ง่าย แค่นั้น ไม่มีอะไรเกินจำเป็น
ชอบมากกว่าเครื่องมือถอดความอัตโนมัติที่สร้างออกมาเป็น 40 หน้าเต็มไปด้วยเสียงอย่าง ‘อืม’, ‘เอ่อ’ แล้วต้องมากรองและแก้ไขใหม่ทีหลัง