Başlangıç
Barındırılan API mi tercihiniz? Aynı döküm, sentez ve klonlama yönetilen hizmet olarak — OpenAI ve ElevenLabs uyumlu. soniqo.audio/cloud →
Apple Silicon Mac’inizde sesi metne dönüştürmek ve konuşma üretmek için speech CLI aracını kurun. macOS ve iOS uygulamalarına konuşma işleme eklemek için Swift SDK’yı kullanın.
CLI gereksinimleri
- macOS 15+ (Sequoia veya üzeri)
- Apple Silicon (arm64)
- En az 8 GB RAM (daha büyük modeller için 16 GB önerilir)
CLI kurulumu
Homebrew (CLI)
speech ve HTTP/WebSocket sunucusu speech-server kurulumu için yerel ARM sürümü Homebrew’u (/opt/homebrew) kullanın.
brew install speech
speech --help
İlk görev: M4A dosyasını metne dönüştürme
Örnek kaydı indirin, ardından terminalde metne dönüştürün:
İlk çalıştırmada internete bağlanın. Seçtiğiniz model HuggingFace’ten indirilir ve Mac’inizde önbelleğe alınır. Kurulumdan sonra aynı modelle yerel kayıtları internet bağlantısı olmadan metne dönüştürebilirsiniz.
curl -fL https://soniqo.audio/audio/samples/cli/transcription-sample.m4a -o transcription-sample.m4a
speech transcribe transcription-sample.m4a --engine parakeet
M4A’dan metne dönüştürme kılavuzuna geçin.
Hızlı Başlangıç: Metinden Konuşmaya
speech speak "Hello, world!" --output hello.wav
Yerel konuşma API’sini çalıştırma
Yerel API istekleri için HTTP/WebSocket sunucusunu başlatın:
speech-server --port 8080
Swift SDK
Swift Package Manager ile macOS 15+ veya iOS 18+ uygulamanıza Swift modüllerini ekleyin.
Swift Package Manager
speech-swift'i Package.swift bağımlılıklarınıza ekleyin:
dependencies: [
.package(url: "https://github.com/soniqo/speech-swift", branch: "main")
]
Ardından ihtiyaç duyduğunuz modülleri hedefinize ekleyin:
.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
]
)
Mevcut Modüller
| Modül | Açıklama |
|---|---|
Qwen3ASR | Konuşmadan metne (Qwen3-ASR) |
WhisperASR | konuşmadan metne (Whisper Large-v3 Turbo, CoreML) |
ParakeetASR | Konuşmadan metne (Parakeet TDT, CoreML) |
Qwen3TTS | Metinden konuşmaya (Qwen3-TTS) |
CosyVoiceTTS | Metinden konuşmaya (CosyVoice3, çok dilli) |
KokoroTTS | Metinden konuşmaya (Kokoro-82M, CoreML, iOS uyumlu) |
Qwen3Chat | Cihaz içi LLM sohbeti (Qwen3.5-0.8B, MLX + CoreML) |
PersonaPlex | Konuşmadan konuşmaya (PersonaPlex 7B) |
SpeechVAD | VAD (Silero + Pyannote), konuşmacı ayrıştırma, konuşmacı embedding'leri |
SpeechEnhancement | Gürültü azaltma (DeepFilterNet3, CoreML) |
AudioCommon | Ortak protokoller, ses I/O, HuggingFace indirici |
Swift ile sesi metne dönüştürme
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)
Swift ile konuşma üretme
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"))
Kaynaktan Derleme
Kaynaktan derlemek için Metal Toolchain içeren Xcode 16.3+ ve Swift 6+ kurun. Depoyu klonlayın, CLI aracını derleyin ve çalışma dizinindeki yürütülebilir dosyayı kontrol edin:
git clone https://github.com/soniqo/speech-swift.git
cd speech-swift
make build
.build/release/speech --help
make build, MLX Metal shader kütüphanesini otomatik olarak derler. Bu olmadan, JIT shader derlemesi nedeniyle GPU üzerindeki çıkarım yaklaşık 5 kat daha yavaş çalışır.
Gölgelendiriciler, yeni SDK sürümleriyle bile varsayılan olarak macOS 15.0 ve Metal 3.2 için derlenir. Özel derlemelerde MACOSX_DEPLOYMENT_TARGET ve MLX_METAL_LANGUAGE_VERSION bu değerleri değiştirir; yüksek hedef sürümler eski sistemleri dışlayabilir. Derleyici, SDK, bayrak, betik veya kaynak değişiklikleri önbelleği geçersiz kılar. Derleme veya bağlama başarısız olursa önceki kitaplık ve önbellek özeti korunur.
Model İndirmeleri
Modeller ilk kullanımda HuggingFace'ten otomatik olarak indirilir ve ~/Library/Caches/qwen3-speech/ içinde önbelleğe alınır.
Tüm modeller ilk kullanımda HuggingFace'ten indirilir. Yaklaşık boyutlar:
| Model | Boyut | RAM Kullanımı |
|---|---|---|
| Qwen3-ASR 0.6B (4-bit MLX) | 680 MB | ~1.0 GB peak |
| Qwen3-ASR 0.6B (8-bit MLX) | 1.0 GB | ~1.3 GB peak |
| Qwen3-ASR 0.6B (CoreML INT8) | 180 MB | ~1.4 GB peak |
| Qwen3-ASR 1.7B (4-bit MLX) | 2.1 GB | ~3 GB peak |
| Qwen3-ASR 1.7B (8-bit MLX) | 3.2 GB | ~2.7 GB peak |
| Parakeet-TDT v3 (CoreML INT8) | 500 MB | ~900 MB peak |
| Whisper Large-v3 Turbo (CoreML FP16) | 1.6 GB | ~384 MB peak |
| Omnilingual CTC 300M (4-bit MLX) | 193 MB | ~400 MB peak |
| Omnilingual CTC 300M (CoreML INT8) | 312 MB | ~550 MB peak |
| Qwen3-TTS 0.6B (4-bit) | 1.7 GB | ~2 GB tepe |
| Qwen3-TTS 1.7B (4-bit) | 3.2 GB | ~4 GB tepe |
| CosyVoice3 (4-bit LLM) | 1.2 GB | ~1.5 GB tepe |
| Kokoro-82M (CoreML INT8) | 89 MB | ~200 MB tepe |
| Qwen3.5-Chat 0.8B (INT4 MLX) | 418 MB | ~700 MB tepe |
| Qwen3.5-Chat 0.8B (INT8 CoreML) | 981 MB | ~1.2 GB tepe |
| PersonaPlex 7B (8-bit) önerilen | 9.1 GB | ~11 GB tepe |
| PersonaPlex 7B (4-bit) | 4.9 GB | ~6.5 GB tepe |
| Pyannote VAD | 5.7 MB | ~20 MB tepe |
| Silero VAD v5 | 1.2 MB | ~5 MB tepe |
| WeSpeaker ResNet34 | 25 MB | ~50 MB tepe |
| DeepFilterNet3 (FP16) | 4.2 MB | ~10 MB tepe |
Sonraki Adımlar
- M4A’dan metne dönüştürme kılavuzuna geçin
- CLI Referansı — mevcut tüm komutlar ve seçenekler
- Qwen3-ASR Kılavuzu — ayrıntılı konuşmadan metne belgeleri
- Qwen3-TTS Kılavuzu — ayrıntılı metinden konuşmaya belgeleri
- API ve Protokoller — ortak protokoller ve tipler