2 คะแนน โดย GN⁺ 2024-08-10 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • 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

3 ความคิดเห็น

 
xguru 2024-08-11

หืม? ตอนแรกก็นึกว่าสามารถทำงานในเบราว์เซอร์ได้อย่างไร.. ที่แท้ก็เป็นเครื่องมือสำหรับฟังแล้วถอดคำด้วยตัวเองแบบไม่มี AI นี่เอง ช่วงนี้ Whisper ก็รู้จำภาษาเกาหลีได้ดีอยู่แล้ว เลยไม่ค่อยเห็นเหตุผลว่าทำไมต้องใช้แบบนี้..

 
znjadong 2024-08-14

ในกรณีที่มีผู้พูดหลายคน หรือการออกเสียงไม่ชัดเจน หรือคุณภาพการบันทึกเสียงไม่ดี ก็อาจเป็นเรื่องยากที่จะพึ่งพาความช่วยเหลือจาก AI ได้ และก็มักมีหลายครั้งที่ต้องการคุณภาพที่มากกว่าแค่การทำงานได้ "ดีพอ"

 
GN⁺ 2024-08-10
ความคิดเห็นจาก Hacker News
  • สัปดาห์นี้ต้องทำ การถอดเสียงพร้อมแยกผู้พูด สำหรับบทสัมภาษณ์ที่มีผู้พูดหลายคน เลยลองใช้ https://github.com/MahmoudAshraf97/whisper-diarization แล้วพบว่าทำงานได้ดีมาก
    มันสร้างให้ทั้งไฟล์ที่ใส่หมายเลขผู้พูดให้กับแต่ละช่วงคำพูดที่ต่อเนื่อง และไฟล์ที่มี timestamp ซึ่งน่าจะใช้ทำซับไตเติลได้

    • ใช้ Whisper diarization API แบบโฮสต์ชื่อ Spectropic [1] เหมือนเป็นแพลตฟอร์ม แล้วได้ผลลัพธ์ดี
      ถูกกว่า ง่ายกว่ามาก และเร็วกว่าการตั้งค่า whisper-diarization บน M1 เอง Audiogest [2] เป็นเว็บเซอร์วิสที่สร้างบน Spectropic แต่ยังไม่ได้ลองใช้
      ไม่ได้มีส่วนเกี่ยวข้อง เป็นแค่ลูกค้าที่พอใจ และหลังจากรายงานบั๊กก็เคยคุยอีเมลกันดี ๆ กับคนที่ดูเหมือนเป็นนักพัฒนาเดี่ยวที่สร้างเครื่องมือเหล่านี้
      [1] https://spectropic.ai/
      [2] https://audiogest.app/
    • มักใช้ Whisper ใส่ซับไตเติลให้ ภาพยนตร์ต่างประเทศ เก่า ๆ ที่ไม่ค่อยมีคนรู้จัก หรือวิดีโอสั้น ๆ ที่เจอในช่อง Telegram/Twitter ต่างประเทศ
      ถ้าใช้ร่วมกับ GPT สำหรับแปล ก็ทำได้ค่อนข้างดี
      ถ้ามี (V)RAM เพียงพอก็ทำแบบ local ได้ แต่โดยปกติไม่ค่อยมีเหลือ เลยชอบใช้ OpenAI API มากกว่า โมเดลตระกูล Llama หลายตัวคุณภาพยังไม่ถึงระดับ GPT-4
      ถ้าต้องการแค่ Whisper และไม่ต้องแปล การรันแบบ local ก็ทำได้จริงพอสมควร และ Whisper คุณภาพสูงก็ใส่ใน (V)RAM 4GB ได้
    • ปัญหาของ OpenAI Whisper คือมันช้าเกินไปบน เครื่องที่ใช้ CPU ล้วน
      Whisper.CPP เร็วกว่า Whisper มาก เลยหวังว่าจะมีฟีเจอร์แยกผู้พูดที่ดีกว่านี้สร้างบนมัน
    • whisper-dia มีปัญหาแปลก ๆ ที่บางครั้งแก้ไม่ได้ โดยส่วนตัวแล้ว whisperX เหมาะกับผมมากกว่า: https://github.com/m-bain/whisperX
    • น่าสนใจที่ ปัญหา machine learning ซึ่งแต่เดิมซับซ้อนและยากมาก กำลังกลายเป็นสินค้าโภคภัณฑ์ทั่วไปมากขึ้นเรื่อย ๆ ด้วย AI
      เช่น การถอดเสียง การแปลด้วยเครื่อง OCR และการรู้จำภาพ
  • อาจจะไม่ค่อยชัดเจน แต่ OTranscribe ไม่ใช่เครื่องมือ speech-to-text อัตโนมัติ เป็น UI ที่ช่วยการถอดเสียงแบบแมนนวล
    ดังนั้นตรงนี้ไม่มี AI

    • ใช่ เป็นเครื่องมือที่ออกแบบมาเพื่อ ช่วยถอดเสียงแบบแมนนวล
  • มีแอปโอเพนซอร์ส/แอปเสียเงิน/แชร์แวร์/ฟรีแวร์ที่ทำ การถอดเสียงแบบเรียลไทม์ระดับคำ ระหว่างอัดเสียง ทำงานแบบ local ทั้งหมด และใช้โมเดล local แบบโอเพนซอร์สที่ค่อนข้างใหม่บ้างไหม?
    ตอนนี้ใช้ otter.ai สำหรับถอดเสียงการประชุมแบบเรียลไทม์อยู่ เวลาทำหลายอย่างพร้อมกันแล้วมีคนถาม ก็สามารถไล่อ่าน transcript ช่วงไม่กี่วินาทีล่าสุดเพื่อกลับมาตามทันได้ทันที ซึ่งดี แต่ก็ไม่สมบูรณ์แบบ บางครั้งบริการถอดเสียงแบบเรียลไทม์หน่วงค่อนข้างมาก และยังต้องมีการเชื่อมต่ออินเทอร์เน็ตด้วย
    ในทางกลับกัน แอปที่ใช้ Whisper ส่วนใหญ่ รวมถึงโค้ดเดโมของ whisper.cpp ครั้งล่าสุดที่ตรวจดู ต้องใส่เสียงที่อัดไว้ทั้งหมดเข้าไปทีเดียว ส่วนตัวอื่น ๆ ที่พึ่งพาเฟรมเวิร์ก Apple Dictation เป็นต้น ก็มีฟีเจอร์ที่ค่อนข้างล้าสมัยในตอนนี้
    อยากรู้ว่ามีอะไรที่ใช้งานจริงกันอยู่บ้างไหม

    • เพราะมีความจำเป็นอีกอย่างหนึ่งคือการได้ยินไม่ค่อยดี ผมเลยสร้างโซลูชันแบบ local-first ที่ทำ การถอดเสียงแบบเรียลไทม์ระดับคำ ทั้งหมดบนเครื่องเอง
      เป็นเครื่องมือที่ใช้ทุกวันเวลาถอดเสียงการประชุม บทสัมภาษณ์ ฯลฯ ข้อมูลทั้งหมดอยู่ในเครื่องของผม จึงไม่ต้องกังวลเรื่องความเป็นส่วนตัวเวลาถอดเสียงการประชุมที่ทำงาน
      เร็วพอ ๆ กับ Otter.ai แต่แน่นอนว่ายังมีพื้นที่ให้ปรับปรุงด้านประสบการณ์ผู้ใช้และความเร็ว อย่างไรก็ตาม ใช้งานได้เฉพาะบน MacBook ที่มี Apple silicon เท่านั้น
      ถ้าสนใจคุยกันทางอีเมลได้ (ดูโปรไฟล์ HN)
    • ใช้ Transcribro[0] บน Android/GrapheneOS อยู่
      เป็นซอฟต์แวร์เสรีโอเพนซอร์สและทำงานแบบ local ทั้งหมด ไม่ใช่เรียลไทม์ระดับคำ แต่ก็ไม่จำเป็นต้องรออัปโหลดไฟล์เสียงทั้งหมดก่อนเริ่มทำงาน ใช้บน Pixel 5a อยู่ ดังนั้นฮาร์ดแวร์ก็ไม่ได้แรงอะไร
      มันทำงานดีพอจนใช้ส่งข้อความผ่าน Telegram ไปยังเครื่อง Linux ตอนที่ไม่อยากพิมพ์ได้ด้วย เป็นแฮ็กที่ไม่เนียนนัก แต่ช่วยให้งานเสร็จได้
      ใช้เวลาหลายชั่วโมงหา alternative แบบ native บน Linux หรือพยายามรันใน Waydroid แต่ไม่เจออะไรที่ดีเท่านี้ เลยตัดสินใจไม่ให้ “ความลื่นไหล” กลายเป็นศัตรูของ “ดีพอใช้งานได้”
      [0] https://github.com/soupslurpr/Transcribro
    • โทรศัพท์ Google Pixel มีฟีเจอร์นี้ และ ทำงานได้ดีมาก
    • เคยช่วยเขียนโค้ด oTranscribe+ [0] ซึ่งทำสิ่งที่คล้ายกับที่ขอ
      เป็นเดสก์ท็อปแอปที่ใช้ 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
    • ทำได้ แอป TestFlight ของ WhisperKit รองรับทั้งสามอย่างบน Apple Silicon: https://www.takeargmax.com/blog/whisperkit
      ถ้ามี การแยกผู้พูด ด้วยก็คงดี แต่กำลังรอให้ upstream Whisper เพิ่มเข้ามา: https://github.com/argmaxinc/WhisperKit/issues/31
  • การที่ไม่มี การผสานรวม AI นี่ค่อนข้างน่าแปลกใจ
    ถ้าต้องการผลลัพธ์ระดับคุณภาพสำหรับการตีพิมพ์ ผลจาก AI ก็ยังต้องมีการตรวจแก้และตรวจสอบคุณภาพอยู่ดี ต้องระบุว่าใครพูดเมื่อไร หรืออย่างน้อยก็ต้องแยกแยะผู้พูดซึ่ง Whisper ยังทำไม่ได้ รวมถึงแก้นามสกุลแปลก ๆ เป็นต้น
    ดังนั้นแม้แต่คนที่ใช้ AI ก็ยังต้องการเครื่องมือดี ๆ สำหรับปรับแต่ง/เก็บงาน/ตรวจแก้ และน่าจะคล้ายกับเครื่องมือถอดความแบบไม่ใช้ตัวช่วย

    • เครื่องมือนี้สร้างขึ้นเมื่อนานมาแล้วโดย Elliot Bentley อดีตนักข่าว WSJ Graphics ซึ่งตอนนี้อยู่ที่ Datawrapper
      ปัจจุบัน 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 สำหรับทำงานกับทรานสคริปต์ด้วย

    • ได้ผลลัพธ์ดีจากแผนแบบจ่ายเงินของ TurboScribe และชอบที่ให้บริการในรูปแบบ service
      ปกติใช้กับไฟล์บันทึกวิดีโอความยาว 2–3 ชั่วโมงที่มีผู้พูดหลายคน และ เครื่องมือแก้ไข ที่ช่วยจัดระเบียบก่อนส่งออกก็มีประโยชน์
    • ดูดีนะ สงสัยว่ามี API หรือมีแผนจะเปิดให้ใช้ไหม
  • สงสัยว่า 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 หน้าเต็มไปด้วยเสียงอย่าง ‘อืม’, ‘เอ่อ’ แล้วต้องมากรองและแก้ไขใหม่ทีหลัง

    • เอาทรานสคริปต์ใส่เข้าไปใน LLM แล้วให้มันลบคำฟุ่มเฟือยอย่าง อืม, เอ่อ ไม่ได้เหรอ?