शुरुआत

speech-swift Apple Silicon पर macOS और iOS के लिए ऑन-डिवाइस AI स्पीच प्रोसेसिंग प्रदान करता है। मॉडल MLX (Metal GPU) और CoreML (Neural Engine) का उपयोग करके लोकली चलते हैं।

आवश्यकताएँ

इंस्टॉलेशन

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)
SpeechVADVAD (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 VAD5.7 MB~20 MB peak
Silero VAD v51.2 MB~5 MB peak
WeSpeaker ResNet3425 MB~50 MB peak
DeepFilterNet3 (FP16)4.2 MB~10 MB peak

अगले कदम