शुरुआत
speech-swift Apple Silicon पर macOS और iOS के लिए ऑन-डिवाइस AI स्पीच प्रोसेसिंग प्रदान करता है। मॉडल MLX (Metal GPU) और CoreML (Neural Engine) का उपयोग करके लोकली चलते हैं।
आवश्यकताएँ
- macOS 14+ (Sonoma या बाद में)
- Apple Silicon (M1, M2, M3, M4 सीरीज़)
- Xcode 15.4+ / Swift 6.0+
- न्यूनतम 8 GB RAM (बड़े मॉडलों के लिए 16 GB अनुशंसित)
इंस्टॉलेशन
Swift Package Manager
अपने Package.swift dependencies में speech-swift जोड़ें:
dependencies: [
.package(url: "https://github.com/soniqo/speech-swift", from: "0.0.9")
]
फिर अपने टारगेट में आवश्यक मॉड्यूल जोड़ें:
.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
]
)
उपलब्ध मॉड्यूल
| मॉड्यूल | विवरण |
|---|---|
Qwen3ASR | स्पीच-टू-टेक्स्ट (Qwen3-ASR) |
ParakeetASR | स्पीच-टू-टेक्स्ट (Parakeet TDT, CoreML) |
Qwen3TTS | टेक्स्ट-टू-स्पीच (Qwen3-TTS) |
CosyVoiceTTS | टेक्स्ट-टू-स्पीच (CosyVoice3, बहुभाषी) |
KokoroTTS | टेक्स्ट-टू-स्पीच (Kokoro-82M, CoreML, iOS-ready) |
Qwen3Chat | ऑन-डिवाइस LLM चैट (Qwen3.5-0.8B, MLX + CoreML) |
PersonaPlex | स्पीच-टू-स्पीच (PersonaPlex 7B) |
SpeechVAD | VAD (Silero + Pyannote), डायराइज़ेशन, स्पीकर एम्बेडिंग |
SpeechEnhancement | नॉइज़ सप्रेशन (DeepFilterNet3, CoreML) |
AudioCommon | साझा प्रोटोकॉल, ऑडियो I/O, HuggingFace downloader |
सोर्स से बिल्ड करना
रिपॉज़िटरी को क्लोन करें और बिल्ड करें:
git clone https://github.com/soniqo/speech-swift.git
cd speech-swift
make build
महत्वपूर्ण
make build MLX Metal shader library को स्वचालित रूप से कंपाइल करता है। इसके बिना, JIT shader कंपाइलेशन के कारण GPU इन्फ़रेंस ~5x धीमी चलती है।
त्वरित प्रारंभ: ऑडियो ट्रांसक्राइब करें
CLI
# Transcribe a WAV file
.build/release/audio transcribe recording.wav
Swift API
import Qwen3ASR
let model = try await Qwen3ASRModel.loadFromHub()
let result = try await model.transcribe(audioFile: "recording.wav")
print(result.text)
मॉडल पहले उपयोग पर HuggingFace से स्वचालित रूप से डाउनलोड होते हैं और ~/Library/Caches/qwen3-speech/ में कैश होते हैं।
त्वरित प्रारंभ: टेक्स्ट-टू-स्पीच
CLI
# Generate speech
.build/release/audio speak "Hello, world!" --output hello.wav
Swift API
import Qwen3TTS
let model = try await Qwen3TTSModel.loadFromHub()
let audio = try await model.speak("Hello, world!")
try audio.write(to: "hello.wav")
मॉडल डाउनलोड
सभी मॉडल पहले उपयोग पर HuggingFace से डाउनलोड होते हैं। अनुमानित आकार:
| मॉडल | आकार | RAM उपयोग |
|---|---|---|
| Qwen3-ASR 0.6B (4-bit) | 680 MB | ~2.2 GB peak |
| Qwen3-ASR 0.6B (8-bit) | 1.0 GB | ~2.5 GB peak |
| Qwen3-ASR 1.7B (4-bit) | 2.1 GB | ~4 GB peak |
| Parakeet-TDT (CoreML INT8) | 500 MB | ~600 MB peak |
| Qwen3-TTS 0.6B (4-bit) | 1.7 GB | ~2 GB peak |
| Qwen3-TTS 1.7B (4-bit) | 3.2 GB | ~4 GB peak |
| CosyVoice3 (4-bit LLM) | 1.2 GB | ~1.5 GB peak |
| Kokoro-82M (CoreML INT8) | 89 MB | ~200 MB peak |
| Qwen3.5-Chat 0.8B (INT4 MLX) | 418 MB | ~700 MB peak |
| Qwen3.5-Chat 0.8B (INT8 CoreML) | 981 MB | ~1.2 GB peak |
| PersonaPlex 7B (8-bit) अनुशंसित | 9.1 GB | ~11 GB peak |
| PersonaPlex 7B (4-bit) | 4.9 GB | ~6.5 GB peak |
| Pyannote VAD | 5.7 MB | ~20 MB peak |
| Silero VAD v5 | 1.2 MB | ~5 MB peak |
| WeSpeaker ResNet34 | 25 MB | ~50 MB peak |
| DeepFilterNet3 (FP16) | 4.2 MB | ~10 MB peak |
अगले कदम
- CLI संदर्भ — सभी उपलब्ध कमांड और विकल्प
- Qwen3-ASR गाइड — विस्तृत स्पीच-टू-टेक्स्ट दस्तावेज़ीकरण
- Qwen3-TTS गाइड — विस्तृत टेक्स्ट-टू-स्पीच दस्तावेज़ीकरण
- API और प्रोटोकॉल — साझा प्रोटोकॉल और types