Terjemahan mesin · Versi asli bahasa Inggris
Panduan awal
Lebih suka API yang diselenggarakan? soniqo.audio / cloud sthanbe
Pasang speech CLI untuk menerjemahkan dan menghasilkan audio pada Anda Apple Silicon MacGunakan Swift SDK untuk menambahkan pemrosesan bicara ke macOS dan iOS aplikasi.
CLI persyaratan
- macOS 15+ (Sequoles atau nanti)
- Apple Silicon (arm64)
- 8 GB RAM minimum (16 KIM direkomendasikan untuk model yang lebih besar)
Pasang CLI
Homebrew (CRI)
Gunakan ARM asli Homebrew (/opt/homebrew) untuk memasang speech dan speech-server Server HTTP / WebSocket.
brew install speech
speech --help
Tugas pertama: translate sebuah berkas M4A
Unduh rekaman cuplikan, kemudian tulis di terminal Anda:
Terhubung ke internet untuk run pertama. Model yang dipilih mengunduh dari HuggingFace dan tetap tersimpan di dalam sel Mac Anda setelah pengaturan, Anda dapat menuliskan rekaman lokal secara luring dengan model itu.
curl -fL https://soniqo.audio/audio/samples/cli/transcription-sample.m4a -o transcription-sample.m4a
speech transcribe transcription-sample.m4a --engine parakeet
Lanjutkan dengan panduan M4A-to-text.
Awal Cepat: Teks -to- Pidato
speech speak "Hello, world!" --output hello.wav
Jalankan pidato lokal API
Mulai server HTTP / WebSocket untuk permintaan API lokal:
speech-server --port 8080
Swift SDK
Tambah Swift modul ke Anda macOS 15+ atau iOS 18+ app dengan Swift Manajer Paket.
Manajer Paket Swift
Tambahkan speech-swift ke Anda Package.swift Ketergantungan:
dependencies: [
.package(url: "https://github.com/soniqo/speech-swift", branch: "main")
]
Kemudian tambahkan modul yang Anda butuhkan ke target Anda:
.target(
name: "MyApp",
dependencies: [
.product(name: "Qwen3ASR", package: "speech-swift"),
.product(name: "Qwen3TTS", package: "speech-swift"),
.product(name: "SpeechVAD", package: "speech-swift"),
// ... add any modules you need
]
)
Modul Tersedia
| Modul | Deskripsi |
|---|---|
Qwen3ASR | Speech-to- text (Qwen3-ASR) |
WhisperASR | Speech-to- teks (Whisper Large-v3 Turbo, CoreML) |
ParakeetASR | Speech-to- teks (Parakeet TDT, CoreML) |
Qwen3TTS | Teks - to- pidato (Qwen3-TTS) |
CosyVoiceTTS | Teks - to- pidato (CosyVoice3, multibahasa) |
KokoroTTS | Teks - to- pidato (Kokoro-82M, CoreML. iOS-ready) |
Qwen3Chat | On-device LLM chat (Qwen3.5-0.8B, MLX + CoreML) |
PersonaPlex | Speech-to-speech (PersonaPlex 7B) |
SpeechVAD | VAD (Silero + Pyannote), diarisasi, penggelapan pembicara |
SpeechEnhancement | Tekanan kebisingan (DeepFilterNet3, CoreML) |
AudioCommon | Protokol bersama, audio I / O, HuggingFace downloader |
Translate audio dengan Swift
import Qwen3ASR
let model = try await Qwen3ASRModel.fromPretrained()
// audioSamples: [Float] PCM at 16 kHz (e.g. decoded from a WAV)
let text = model.transcribe(audio: audioSamples, sampleRate: 16000)
print(text)
Hasilkan pidato dengan Swift
import Qwen3TTS
import AudioCommon
let model = try await Qwen3TTSModel.fromPretrained()
let audio = model.synthesize(text: "Hello, world!", language: "english")
try WAVWriter.write(samples: audio, sampleRate: 24000, to: URL(filePath: "hello.wav"))
Bangunan dari Sumber
Untuk membangun sumber, instal Xcode 16.3+ dengan Metal Toolchain dan Swift 6+Clone repositori, bangun CRI, kemudian periksa biner di checkout:
git clone https://github.com/soniqo/speech-swift.git
cd speech-swift
make build
.build/release/speech --help
make build Kompleks MLX Metal Perpustakaan bayangan otomatis. Tanpa itu, GPU inferensi berjalan ~5x lebih lambat karena kompilasi shader JIT.
Shader membangun default ke macOS 15.0 dan Metal 3.2, bahkan dengan SDKs baru, override ini dengan MACOSX_DEPLOYMENT_TARGET dan MLX_METAL_LANGUAGE_VERSION untuk pembuatan ubahan; target lebih tinggi mungkin mengecualikan sistem yang lebih tua. Kompailer, SDK, flag, script, atau perubahan sumber tidak termasuk cache. Gagal kompilasi atau penyambung mempertahankan perpustakaan dan hash cache sebelumnya.
Unduhan Model
Model diunduh secara otomatis dari HuggingFace pada penggunaan pertama dan cache di ~/Library/Caches/qwen3-speech/.
Semua model diunduh dari HuggingFace pada penggunaan pertama. Perkiraan ukuran:
| Model | Ukuran | Penggunaan RAM |
|---|---|---|
| Qwen3-ASR 0.6B (4-bit MLX) | 680 MB | ~ Puncak 1.0 GB |
| Qwen3-ASR 0.6B (8-bit MLX) | 1.0 GB | ~ Puncak 1.3 GB |
| Qwen3-ASR 0.6B (CoreML INT8) | 180 MB | ~ Puncak 1.4 GB |
| Qwen3-ASR 1.7B (4-bit MLX) | 2.1 GB | ~ 3 GB puncak |
| Qwen3-ASR 1.7B (8-bit MLX) | 3.2 GB | ~ Puncak 2.7 GB |
| Parakeet- TDT v3 (CoreML INT8) | 500 MB | ~ Puncak 900 MB |
| Whisper Large-v3 Turbo (CoreML FP16) | 1.6 GB | ~ Puncak MB 384 |
| Omnilingual CTC 300M (4-bit MLX) | 193 MB | ~ 400 puncak MB |
| Omnilingual CTC 300M (CoreML INT8) | 312 MB | ~ Puncak MB 550 |
| Qwen3-TTS 0.6B (4-bit) | 1.7 GB | ~ 2 GB puncak |
| Qwen3-TTS 1.7B (4-bit) | 3.2 GB | ~ 4 GB puncak |
| CosyVoice3 (4- bit LLM) | 1.2 GB | ~ Puncak 1.5 GB |
| Kokoro-82M (CoreML INT8) | 89 MB | - 200 puncak MB |
| Qwen3.5-Chat 0.8B (INT4 MLX) | 418 MB | ~ Puncak 700 MB |
| Qwen3.5-Chat 0.8B (INT8 CoreML) | 981 MB | ~ Puncak 1.2 GB |
| PersonaPlex 7B (8-bit) disarankan | 9.1 GB | ~ 11 GB puncak |
| PersonaPlex 7B (4-bit) | 4.9 GB | ~ 6,5 GB puncak |
| Pyannote VAD | 5.7 MB | ~ 20 puncak MB |
| Silero VAD v5 | 1.2 MB | ~ 5 puncak MB |
| WeSpeaker ResNet34 | 25 MB | ~ 50 puncak MB |
| DeepFilterNet3 (FP16) | 4.2 MB | ~ Puncak 10 MB |
Langkah Berikutnya
- Lanjutkan dengan panduan M4A-to-text
- CLI Referensi - semua perintah dan pilihan yang tersedia
- Qwen3-ASR Panduan - dokumentasi speech- to- text terinci
- Qwen3-TTS Panduan - dokumentasi teks -to-speech rinci
- API & Protokol - protokol bersama dan tipe