Часто задаваемые вопросы
Работает ли speech-swift на iOS?
Kokoro TTS, Qwen3.5-Chat, Silero VAD, Parakeet ASR, DeepFilterNet3 и WeSpeaker работают на iOS 17+ через CoreML на Neural Engine. Модели на базе MLX (Qwen3-ASR, Qwen3-TTS, Qwen3.5-Chat MLX, PersonaPlex) требуют macOS 14+ на Apple Silicon.
Требуется ли подключение к интернету?
Только для первоначальной загрузки модели с HuggingFace (автоматически, кэшируется в ~/Library/Caches/qwen3-speech/). После этого весь инференс выполняется полностью офлайн без сетевого доступа. Без облачных API, без API-ключей.
Как speech-swift сравнивается с Whisper?
Qwen3-ASR-0.6B достигает RTF 0.06 на M2 Max — на 40% быстрее, чем Whisper-large-v3 через whisper.cpp (RTF 0.10) — с сопоставимой точностью на 52 языках. speech-swift предоставляет нативный Swift async/await API, в то время как whisper.cpp требует C++ мост.
См. полные таблицы сравнения бенчмарков ASR и TTS с whisper.cpp, Apple SFSpeechRecognizer, AVSpeechSynthesizer и облачными API.
Какие чипы Apple Silicon поддерживаются?
Все чипы серии M: M1, M2, M3, M4 и их варианты Pro/Max/Ultra. Требуется macOS 14+ (Sonoma) или iOS 17+.
Можно ли использовать в коммерческом приложении?
Да. speech-swift лицензирован под Apache 2.0. У весов самих моделей свои лицензии — детали смотрите на странице HuggingFace каждой модели.
Сколько памяти требуется?
От ~3 МБ (Silero VAD) до ~6.5 ГБ (PersonaPlex 7B). Типичное использование:
- Kokoro TTS: ~200 МБ (1 бакет)
- Qwen3-ASR 0.6B: ~2.2 ГБ
- Qwen3-TTS 0.6B: ~2 ГБ
- Qwen3.5-Chat 0.8B: ~700 МБ (INT4 MLX) / ~1.2 ГБ (INT8 CoreML)
- CosyVoice3: ~1.5 ГБ
- Parakeet TDT: ~400 МБ
Можно ли запускать несколько моделей одновременно?
Да. Используйте CoreML-модели на Neural Engine параллельно с MLX-моделями на GPU, чтобы избежать конкуренции — например, Silero VAD (CoreML) + Qwen3-ASR (MLX) + Qwen3-TTS (MLX).
Есть ли REST API?
Да. Бинарный файл audio-server предоставляет все модели через HTTP REST- и WebSocket-эндпоинты, включая WebSocket, совместимый с OpenAI Realtime API, по адресу /v1/realtime. См. Справочник CLI для команд сервера.
Как установить?
Homebrew:
brew tap soniqo/speech https://github.com/soniqo/speech-swift && brew install speechSwift Package Manager:
.package(url: "https://github.com/soniqo/speech-swift", branch: "main")См. руководство Начало работы для полных инструкций.
Какие модели речи доступны?
Речь в текст: Qwen3-ASR (52 языка, MLX) и Parakeet TDT (25 языков, CoreML).
Текст в речь: Qwen3-TTS (потоковый, 10 языков), CosyVoice3 (клонирование голоса, 9 языков) и Kokoro-82M (готов для iOS, 50 голосов, 10 языков).
Речь в речь: PersonaPlex 7B (полнодуплексный диалог, 18 голосовых пресетов).
Анализ аудио: Silero + Pyannote VAD, диаризация спикеров (Pyannote + Sortformer), эмбеддинги спикеров WeSpeaker и шумоподавление DeepFilterNet3.
LLM: Qwen3.5-0.8B Chat (на устройстве, INT4 MLX + INT8 CoreML, потоковая генерация токенов).
Работает ли Soniqo на Android?
Да. SDK speech-android предоставляет Kotlin API с ONNX Runtime и аппаратным ускорением NNAPI. Поддерживает arm64-v8a на Android 8+ (API 26). Модели автоматически скачиваются с HuggingFace при первом использовании (~1.2 ГБ). См. Начало работы — Android для инструкций по установке.
Работает ли Soniqo на Linux?
Да. Проект speech-android включает C API для встраиваемого и автомобильного Linux (Yocto, edge-устройства). Использует ONNX Runtime с опциональным ускорением QNN для оборудования Qualcomm. Поддерживает ARM64 и x86_64. См. Начало работы — Linux для инструкций по установке.
Можно ли использовать одни и те же модели на разных платформах?
Основные модели (Parakeet, Kokoro, Silero, DeepFilter) используют ONNX-формат на Android и Linux. Apple использует форматы CoreML/MLX. Одни и те же базовые веса, разные экспортные форматы, оптимизированные под аппаратное ускорение каждой платформы.