शुरुआत
होस्टेड API चाहिए? वही ट्रांसक्रिप्शन, संश्लेषण और क्लोनिंग प्रबंधित सेवा के रूप में — OpenAI और ElevenLabs संगत। soniqo.audio/cloud →
अपने Apple Silicon Mac पर ऑडियो को टेक्स्ट में बदलने और आवाज़ बनाने के लिए speech CLI इंस्टॉल करें। macOS और iOS ऐप में स्पीच प्रोसेसिंग जोड़ने के लिए Swift SDK इस्तेमाल करें।
CLI की आवश्यकताएँ
- macOS 15+ (Sequoia या बाद में)
- Apple Silicon (arm64)
- न्यूनतम 8 GB RAM (बड़े मॉडलों के लिए 16 GB अनुशंसित)
CLI इंस्टॉल करें
Homebrew (CLI)
speech और speech-server HTTP/WebSocket सर्वर इंस्टॉल करने के लिए मूल ARM संस्करण वाला Homebrew (/opt/homebrew) इस्तेमाल करें।
brew install speech
speech --help
पहला काम: M4A फ़ाइल को टेक्स्ट में बदलें
उदाहरण रिकॉर्डिंग डाउनलोड करें, फिर टर्मिनल में उसे टेक्स्ट में बदलें:
पहली बार चलाते समय इंटरनेट से जुड़ें। चुना गया मॉडल HuggingFace से डाउनलोड होकर आपके Mac पर कैश में रहता है। सेटअप के बाद आप उसी मॉडल से स्थानीय रिकॉर्डिंग को ऑफलाइन टेक्स्ट में बदल सकते हैं।
curl -fL https://soniqo.audio/audio/samples/cli/transcription-sample.m4a -o transcription-sample.m4a
speech transcribe transcription-sample.m4a --engine parakeet
M4A से टेक्स्ट बनाने की गाइड पढ़ें.
त्वरित प्रारंभ: टेक्स्ट-टू-स्पीच
speech speak "Hello, world!" --output hello.wav
स्थानीय स्पीच API चलाएँ
स्थानीय API अनुरोधों के लिए HTTP/WebSocket सर्वर शुरू करें:
speech-server --port 8080
Swift SDK
Swift Package Manager से अपने macOS 15+ या iOS 18+ ऐप में Swift मॉड्यूल जोड़ें।
Swift Package Manager
अपने Package.swift dependencies में speech-swift जोड़ें:
dependencies: [
.package(url: "https://github.com/soniqo/speech-swift", branch: "main")
]
फिर अपने टारगेट में आवश्यक मॉड्यूल जोड़ें:
.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) |
WhisperASR | स्पीच-टू-टेक्स्ट (Whisper Large-v3 Turbo, CoreML) |
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 |
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)
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"))
सोर्स से बिल्ड करना
सोर्स से बिल्ड करने के लिए Metal Toolchain सहित Xcode 16.3+ और Swift 6+ इंस्टॉल करें। रिपॉज़िटरी क्लोन करें, CLI बिल्ड करें, फिर चेकआउट में बनी बाइनरी जाँचें:
git clone https://github.com/soniqo/speech-swift.git
cd speech-swift
make build
.build/release/speech --help
make build MLX Metal shader library को स्वचालित रूप से कंपाइल करता है। इसके बिना, JIT shader कंपाइलेशन के कारण GPU इन्फ़रेंस ~5x धीमी चलती है।
नए SDK के साथ भी शेडर बिल्ड डिफ़ॉल्ट रूप से macOS 15.0 और Metal 3.2 को लक्षित करता है। कस्टम बिल्ड में MACOSX_DEPLOYMENT_TARGET और MLX_METAL_LANGUAGE_VERSION इन मानों को बदलते हैं; उच्च लक्ष्य संस्करण पुराने सिस्टम पर नहीं चल सकते। कंपाइलर, SDK, फ़्लैग, स्क्रिप्ट या स्रोत में बदलाव से कैश अमान्य हो जाता है। कंपाइलेशन या लिंकिंग विफल होने पर पिछली लाइब्रेरी और कैश हैश सुरक्षित रहते हैं।
मॉडल डाउनलोड
मॉडल पहले उपयोग पर HuggingFace से स्वचालित रूप से डाउनलोड होते हैं और ~/Library/Caches/qwen3-speech/ में कैश होते हैं।
सभी मॉडल पहले उपयोग पर HuggingFace से डाउनलोड होते हैं। अनुमानित आकार:
| मॉडल | आकार | RAM उपयोग |
|---|---|---|
| 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 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 |
अगले कदम
- M4A से टेक्स्ट बनाने की गाइड पढ़ें
- CLI संदर्भ — सभी उपलब्ध कमांड और विकल्प
- Qwen3-ASR गाइड — विस्तृत स्पीच-टू-टेक्स्ट दस्तावेज़ीकरण
- Qwen3-TTS गाइड — विस्तृत टेक्स्ट-टू-स्पीच दस्तावेज़ीकरण
- API और प्रोटोकॉल — साझा प्रोटोकॉल और types