Terjemahan mesin · Versi asli bahasa Inggris

Panduan awal

Awan Soniqo

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

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

ModulDeskripsi
Qwen3ASRSpeech-to- text (Qwen3-ASR)
WhisperASRSpeech-to- teks (Whisper Large-v3 Turbo, CoreML)
ParakeetASRSpeech-to- teks (Parakeet TDT, CoreML)
Qwen3TTSTeks - to- pidato (Qwen3-TTS)
CosyVoiceTTSTeks - to- pidato (CosyVoice3, multibahasa)
KokoroTTSTeks - to- pidato (Kokoro-82M, CoreML. iOS-ready)
Qwen3ChatOn-device LLM chat (Qwen3.5-0.8B, MLX + CoreML)
PersonaPlexSpeech-to-speech (PersonaPlex 7B)
SpeechVADVAD (Silero + Pyannote), diarisasi, penggelapan pembicara
SpeechEnhancementTekanan kebisingan (DeepFilterNet3, CoreML)
AudioCommonProtokol 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
Penting

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:

ModelUkuranPenggunaan 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) disarankan9.1 GB~ 11 GB puncak
PersonaPlex 7B (4-bit)4.9 GB~ 6,5 GB puncak
Pyannote VAD5.7 MB~ 20 puncak MB
Silero VAD v51.2 MB~ 5 puncak MB
WeSpeaker ResNet3425 MB~ 50 puncak MB
DeepFilterNet3 (FP16)4.2 MB~ Puncak 10 MB

Langkah Berikutnya