WhisperKit เป็นแพ็คเกจ Swift ที่รวมโมเดลการรู้จำคำพูด Whisper ยอดนิยมของ OpenAI เข้ากับเฟรมเวิร์ก CoreML ของ Apple เพื่อการอนุมานเฉพาะที่ที่มีประสิทธิภาพบนอุปกรณ์ Apple
ลองใช้แอปสาธิตบน TestFlight
[โพสต์บล็อก] [Python Tools Repo]
การติดตั้ง
ผู้จัดการแพ็คเกจ Swift
ข้อกำหนดเบื้องต้น
ขั้นตอน Xcode
แพ็คเกจสวิฟท์
โฮมบรูว์
เริ่มต้นใช้งาน
ตัวอย่างด่วน
การเลือกรุ่น
การสร้างโมเดล
สวิฟท์ CLI
การมีส่วนร่วมและแผนงาน
ใบอนุญาต
การอ้างอิง
WhisperKit สามารถรวมเข้ากับโปรเจ็กต์ Swift ของคุณได้โดยใช้ Swift Package Manager
macOS 14.0 หรือใหม่กว่า
Xcode 15.0 หรือใหม่กว่า
เปิดโปรเจ็กต์ Swift ของคุณใน Xcode
ไปที่ File
> Add Package Dependencies...
ป้อน URL ที่เก็บแพ็กเกจ: https://github.com/argmaxinc/whisperkit
เลือกช่วงเวอร์ชันหรือเวอร์ชันเฉพาะ
คลิก Finish
เพื่อเพิ่ม WhisperKit ให้กับโปรเจ็กต์ของคุณ
หากคุณใช้ WhisperKit เป็นส่วนหนึ่งของแพ็คเกจ Swift คุณสามารถรวมมันไว้ในการขึ้นต่อกันของ Package.swift ได้ดังนี้:
การอ้างอิง: [ .package(url: "https://github.com/argmaxinc/WhisperKit.git", จาก: "0.9.0"),],
จากนั้นเพิ่ม WhisperKit
เป็นการพึ่งพาสำหรับเป้าหมายของคุณ:
.เป้า( ชื่อ: "แอปของคุณ" การอ้างอิง: ["WhisperKit"])
คุณสามารถติดตั้งแอปบรรทัดคำสั่ง WhisperKit
โดยใช้ Homebrew ได้โดยการรันคำสั่งต่อไปนี้:
ชงติดตั้ง Whisperkit-cli
ในการเริ่มต้นกับ WhisperKit คุณต้องเริ่มต้นในโปรเจ็กต์ของคุณ
ตัวอย่างนี้สาธิตวิธีการถอดเสียงไฟล์เสียงในเครื่อง:
นำเข้า WhisperKit// เริ่มต้น WhisperKit ด้วยการตั้งค่าเริ่มต้น { ให้ไปป์ = ลอง? รอ WhisperKit() ให้ถอดเสียง = ลองไหม รอไปป์!.transcribe(audioPath: "path/to/your/audio.{wav,mp3,m4a,flac}")?.text print(transcription)}
WhisperKit จะดาวน์โหลดรุ่นที่แนะนำสำหรับอุปกรณ์โดยอัตโนมัติหากไม่ได้ระบุไว้ คุณยังสามารถเลือกรุ่นเฉพาะได้โดยส่งชื่อรุ่น:
ให้ไปป์ = ลองไหม? รอ WhisperKit (WhisperKitConfig (รุ่น: "large-v3"))
วิธีนี้ยังรองรับการค้นหาแบบ glob ด้วย ดังนั้นคุณจึงใช้ไวด์การ์ดเพื่อเลือกรุ่นได้:
ให้ไปป์ = ลอง? รอ WhisperKit(WhisperKitConfig (รุ่น: "distil*large-v3"))
โปรดทราบว่าการค้นหาโมเดลต้องส่งคืนโมเดลเดียวจากแหล่งซื้อคืน มิฉะนั้นจะเกิดข้อผิดพลาด
สำหรับรายการรุ่นที่มีจำหน่าย โปรดดู repo HuggingFace ของเรา
WhisperKit ยังมาพร้อมกับ repo whisperkittools
ที่รองรับ ซึ่งช่วยให้คุณสร้างและปรับใช้ Whisper เวอร์ชันที่ได้รับการปรับแต่งอย่างดีของคุณเองในรูปแบบ CoreML ไปยัง HuggingFace เมื่อสร้างขึ้นแล้ว ก็สามารถโหลดได้โดยเพียงแค่เปลี่ยนชื่อ repo เป็นชื่อที่ใช้ในการอัปโหลดโมเดล:
ให้ config = WhisperKitConfig (รุ่น: "large-v3", modelRepo: "ชื่อผู้ใช้/your-model-repo") ให้ไปป์ = ลองไหม รอ WhisperKit (กำหนดค่า)
Swift CLI ช่วยให้สามารถทดสอบและแก้ไขข้อบกพร่องภายนอกโปรเจ็กต์ Xcode ได้อย่างรวดเร็ว หากต้องการติดตั้ง ให้รันสิ่งต่อไปนี้:
git clone https://github.com/argmaxinc/whisperkit.gitcd กระซิบ
จากนั้น ตั้งค่าสภาพแวดล้อมและดาวน์โหลดโมเดลที่คุณต้องการ
ทำการตั้งค่า ทำการดาวน์โหลดโมเดล MODEL=large-v3
บันทึก :
สิ่งนี้จะดาวน์โหลดเฉพาะโมเดลที่ระบุโดย MODEL
(ดูว่ามีอะไรอยู่ใน repo HuggingFace ของเรา โดยที่เราใช้คำนำหน้า openai_whisper-{MODEL}
)
ก่อนที่จะรัน download-model
ตรวจสอบให้แน่ใจว่าได้ติดตั้ง git-lfs แล้ว
หากคุณต้องการดาวน์โหลดโมเดลทั้งหมดที่มีไปยังโฟลเดอร์ในเครื่องของคุณ ให้ใช้คำสั่งนี้แทน:
ทำการดาวน์โหลดโมเดล
จากนั้นคุณสามารถเรียกใช้ผ่าน CLI ด้วย:
รันอย่างรวดเร็วกระซิบ kit-cli ถอดความ --model-path "Models/whisperkit-coreml/openai_whisper-large-v3" --audio-path "path/to/your/audio.{wav,mp3,m4a,flac}"
ซึ่งควรพิมพ์สำเนาของไฟล์เสียง หากคุณต้องการสตรีมเสียงโดยตรงจากไมโครโฟน ให้ใช้:
วิ่งอย่างรวดเร็วกระซิบ whorekit-cli ถอดความ --model-path "Models/whisperkit-coreml/openai_whisper-large-v3" --stream
เป้าหมายของเราคือการทำให้ WhisperKit ดีขึ้นเรื่อยๆ เมื่อเวลาผ่านไป และเรายินดีรับความช่วยเหลือจากคุณ! เพียงค้นหาโค้ดสำหรับ "TODO" เพื่อดูคุณลักษณะต่างๆ ที่ยังไม่ได้สร้าง โปรดดูแนวทางการสนับสนุนของเราสำหรับการส่งปัญหา คำขอดึงข้อมูล และมาตรฐานการเขียนโค้ด ซึ่งเรายังมีแผนการทำงานสาธารณะสำหรับฟีเจอร์ต่างๆ ที่เรารอคอยที่จะสร้างในอนาคต
WhisperKit เปิดตัวภายใต้ใบอนุญาต MIT ดูใบอนุญาตสำหรับรายละเอียดเพิ่มเติม
หากคุณใช้ WhisperKit เพื่อทำอะไรเจ๋งๆ หรือแค่เห็นว่ามีประโยชน์ โปรดส่งข้อความถึงเราที่ [email protected]!
หากคุณใช้ WhisperKit สำหรับงานวิชาการ นี่คือ BibTeX:
@misc{whisperkit-argmax, title = {WhisperKit}, ผู้แต่ง = {Argmax, Inc.}, ปี = {2024}, URL = {https://github.com/argmaxinc/WhisperKit}}