WhisperKit adalah paket Swift yang mengintegrasikan model pengenalan ucapan Whisper OpenAI yang populer dengan kerangka kerja CoreML Apple untuk inferensi lokal yang efisien pada perangkat Apple.
Lihat aplikasi demo di TestFlight.
[Entri Blog] [Repo Alat Python]
Instalasi
Manajer Paket Swift
Prasyarat
Langkah Xcode
Paket.cepat
minuman rumahan
Memulai
Contoh Singkat
Pemilihan Model
Menghasilkan Model
CLI cepat
Berkontribusi & Peta Jalan
Lisensi
Kutipan
WhisperKit dapat diintegrasikan ke dalam proyek Swift Anda menggunakan Swift Package Manager.
macOS 14.0 atau lebih baru.
Xcode 15.0 atau lebih baru.
Buka proyek Swift Anda di Xcode.
Navigasikan ke File
> Add Package Dependencies...
.
Masukkan URL repositori paket: https://github.com/argmaxinc/whisperkit
.
Pilih rentang versi atau versi tertentu.
Klik Finish
untuk menambahkan WhisperKit ke proyek Anda.
Jika Anda menggunakan WhisperKit sebagai bagian dari paket Swift, Anda dapat memasukkannya ke dalam dependensi Package.swift Anda sebagai berikut:
ketergantungan: [ .package(url: "https://github.com/argmaxinc/WhisperKit.git", dari: "0.9.0"),],
Kemudian tambahkan WhisperKit
sebagai ketergantungan untuk target Anda:
.target( nama: "Aplikasi Anda", dependensi: ["WhisperKit"]),
Anda dapat menginstal aplikasi baris perintah WhisperKit
menggunakan Homebrew dengan menjalankan perintah berikut:
pembuatan bir instal Whisperkit-cli
Untuk memulai WhisperKit, Anda perlu menginisialisasinya di proyek Anda.
Contoh ini menunjukkan cara menyalin file audio lokal:
import WhisperKit// Inisialisasi WhisperKit dengan pengaturan defaultTask { let pipe = coba? tunggu WhisperKit() biarkan transkripsi = coba? menunggu pipa!.transcribe(audioPath: "path/to/your/audio.{wav,mp3,m4a,flac}")?.text print(transcription)}
WhisperKit secara otomatis mengunduh model yang direkomendasikan untuk perangkat jika tidak ditentukan. Anda juga dapat memilih model tertentu dengan memasukkan nama model:
biarkan pipa = coba? menunggu WhisperKit(WhisperKitConfig(model: "large-v3"))
Metode ini juga mendukung pencarian glob, sehingga Anda dapat menggunakan wildcard untuk memilih model:
biarkan pipa = coba? menunggu WhisperKit(WhisperKitConfig(model: "distil*large-v3"))
Perhatikan bahwa pencarian model harus mengembalikan satu model dari repo sumber, jika tidak, kesalahan akan terjadi.
Untuk daftar model yang tersedia, lihat repo HuggingFace kami.
WhisperKit juga dilengkapi dengan alat repo whisperkittools
yang memungkinkan Anda membuat dan menerapkan versi Whisper Anda sendiri yang telah disesuaikan dalam format CoreML ke HuggingFace. Setelah dibuat, mereka dapat dimuat hanya dengan mengubah nama repo menjadi nama yang digunakan untuk mengunggah model:
biarkan config = WhisperKitConfig(model: "large-v3", modelRepo: "nama pengguna/repo model-Anda") biarkan pipa = coba? menunggu WhisperKit (konfigurasi)
Swift CLI memungkinkan pengujian cepat dan debugging di luar proyek Xcode. Untuk menginstalnya, jalankan perintah berikut:
git clone https://github.com/argmaxinc/whisperkit.gitcd bisikankit
Kemudian, atur lingkungan dan unduh model yang Anda inginkan.
membuat pengaturan buat model unduhan MODEL=besar-v3
Catatan :
Ini hanya akan mengunduh model yang ditentukan oleh MODEL
(lihat apa yang tersedia di repo HuggingFace kami, di mana kami menggunakan awalan openai_whisper-{MODEL}
)
Sebelum menjalankan download-model
, pastikan git-lfs sudah diinstal
Jika Anda ingin mengunduh semua model yang tersedia ke folder lokal Anda, gunakan perintah ini:
membuat model unduhan
Anda kemudian dapat menjalankannya melalui CLI dengan:
jalankan cepat Whisperkit-cli transcribe --model-path "Models/whisperkit-coreml/openai_whisper-large-v3" --audio-path "path/to/your/audio.{wav,mp3,m4a,flac}"
Yang seharusnya mencetak transkripsi file audio. Jika Anda ingin melakukan streaming audio langsung dari mikrofon, gunakan:
jalankan cepat Whisperkit-cli transkripsikan --model-path "Models/whisperkit-coreml/openai_whisper-large-v3" --stream
Tujuan kami adalah menjadikan WhisperKit lebih baik dan lebih baik lagi dari waktu ke waktu dan kami akan senang dengan bantuan Anda! Cukup cari kode "TODO" untuk berbagai fitur yang belum dibangun. Silakan lihat pedoman kontribusi kami untuk mengirimkan masalah, permintaan penarikan, dan standar pengkodean, di mana kami juga memiliki peta jalan publik tentang fitur-fitur yang ingin kami bangun di masa depan.
WhisperKit dirilis di bawah Lisensi MIT. Lihat LISENSI untuk lebih jelasnya.
Jika Anda menggunakan WhisperKit untuk sesuatu yang keren atau hanya merasa berguna, kirimkan pesan kepada kami di [email protected]!
Jika Anda menggunakan WhisperKit untuk tugas akademis, inilah BibTeX:
@misc{whisperkit-argmax, title = {WhisperKit}, penulis = {Argmax, Inc.}, tahun = {2024}, URL = {https://github.com/argmaxinc/WhisperKit}}