Izwi: локальный аудио-инференс на Rust с TTS и ASR | Обзор 2026 | AiManual
AiManual Logo Ai / Manual.
09 Фев 2026 Инструмент

Izwi: когда Rust, приватность и голосовые модели решили жить вместе

Полный обзор Izwi — локального аудио-движка на Rust с поддержкой TTS, распознавания речи и клонирования голоса. Работает без интернета, поддерживает Apple Silic

За последние два года мы видели десятки проектов, которые обещают локальный аудио-инференс. Большинство из них — обертки на Python вокруг PyTorch, которые требуют 16 ГБ оперативки просто для запуска и ведут себя как капризные дети при попытке собрать их на чем-то кроме Ubuntu.

Izwi — другой. Это не обертка. Это движок, написанный с нуля на Rust с использованием фреймворка Candle от Hugging Face. Когда я впервые увидел список функций — TTS, ASR, клонирование голоса, поддержка Apple Silicon через MLX, OpenAI-совместимый API — подумал: "Очередная утопия". Потом запустил.

Что Izwi умеет делать на самом деле

Представьте себе один бинарный файл размером около 50 МБ (без моделей, конечно). Вы запускаете его, и у вас появляется:

  • Текст в речь (TTS) — с поддержкой последних моделей на начало 2026 года. Не только базовые Coqui, но и адаптированные под Candle версии Qwen3-TTS (да, того самого, про который мы писали в обзоре Qwen3-TTS на Rust).
  • Распознавание речи (ASR) — Whisper-совместимые модели, включая Whisper v4 (да, на февраль 2026 она уже есть, хоть и в экспериментальной поддержке). Если вы работали с локальной транскрибацией через Whisper + Ollama, то оцените скорость — Rust здесь дает реальный прирост.
  • Клонирование голоса — не такой продвинутый как LuxTTS (о котором мы писали здесь), но работающий. Для базовых задач хватает.
  • OpenAI-совместимый API — это ключевая фишка. Вы можете заменить в своих скриптах вызовы к OpenAI Audio API на локальный endpoint. Без переписывания кода.

На февраль 2026 Izwi поддерживает модели в форматах SafeTensors и GGUF. Если у вас уже есть веса для Whisper или Coqui TTS в этих форматах — они заработают без конвертации.

Архитектура: почему Rust и Candle — это не просто мода

Здесь нужно понять одну вещь: большинство "локальных" голосовых инструментов на Python — это фарс. Они локальные только потому, что запускаются на вашем железе, но под капотом у них все равно TensorFlow/PyTorch с их гигабайтами зависимостей.

Izwi построен на Candle — фреймворке для машинного обучения на Rust, который:

  • Компилируется в один бинарник без зависимостей
  • Поддерживает CPU, CUDA, Metal (для Apple Silicon) через единый API
  • Имеет встроенную поддержку квантования моделей

Для Mac с M-серией процессоров есть бонус — поддержка MLX от Apple. На практике это означает, что Whisper Large v3 на M3 Max работает быстрее, чем на RTX 4090 в некоторых сценариях. (Нет, это не шутка — просто Metal оптимизирован под их архитектуру.)

💡
Если вы пользовались Speekium (наш обзор здесь), то поймете разницу. Speekium — это готовый ассистент. Izwi — это движок, из которого можно собрать своего ассистента.

С чем Izwi конкурирует (и выигрывает)

Инструмент Язык Локальность Поддержка Apple Silicon Единый API для TTS/ASR
Izwi Rust Полная (бинарник) ✅ Native через MLX ✅ OpenAI-совместимый
AnyTTS Python/C++ Частичная (нужен Python) 🟡 Через Rosetta ❌ Только TTS
Pocket-TTS Python Да, но с зависимостями 🟡 Работает, но медленно ❌ Разные интерфейсы
OpenAI API - ❌ Облачный - ✅ Но платный

Главное преимущество Izwi — предсказуемость. Вы компилируете (или скачиваете готовый бинарник), запускаете — он работает. Никаких "ой, у вас версия libtorch не та" или "простите, но cuDNN 8.7 не поддерживается".

Где Izwi спасет ваш проект (а где нет)

Идеальные сценарии:

  • Медицинские или юридические транскрипции, где данные не могут уходить в облако. Если вы работали с Voxtral-Mini для реального времени, то Izwi даст похожую скорость, но с меньшими требованиями к памяти.
  • Озвучка контента для YouTube/подкастов с сохранением единого голоса. Не такой качественный как профессиональные сервисы, но бесплатный и полностью под вашим контролем.
  • Образовательные проекты, где нужно локально обрабатывать аудио студентов. Один сервер с Izwi заменяет подписки на несколько облачных сервисов.
  • Интеграция в существующие системы через OpenAI-совместимый API. Меняете endpoint с api.openai.com на localhost:8000 — все продолжает работать.

Где Izwi не подойдет:

  • Высококачественное клонирование голоса. Для этого лучше использовать специализированные инструменты вроде LuxTTS или коммерческие решения.
  • Полноценный голосовой ассистент с диалогом. Izwi — это движок для TTS/ASR, а не диалоговая система. Для ассистента нужно что-то вроде PersonaPlex (наш обзор здесь).
  • Обработка аудио в реальном времени с задержкой <100 мс. Хотя Izwi быстрый, для truly real-time нужна специализированная оптимизация.

Важный нюанс на февраль 2026: поддержка русской речи в предобученных моделях для Izwi все еще ограничена. Английский работает отлично, русский — через Whisper (распознавание) и адаптированные Coqui модели (синтез). Если нужен качественный русский TTS, возможно, придется дообучать модели самостоятельно.

Практика: как выглядит работа с Izwi

Допустим, вы хотите транскрибировать аудиофайл и потом озвучить текст другим голосом. С Izwi это выглядит так:

1 Запуск сервера

# Скачиваем бинарник (пример для Linux x86_64)
curl -L https://github.com/izwi-dev/izwi/releases/download/v0.4.2/izwi-linux-x86_64 -o izwi
chmod +x izwi

# Запускаем с поддержкой ASR и TTS
./izwi serve \
  --asr-model whisper-medium \
  --tts-model coqui-tts \
  --port 8000

2 Транскрибация через API

curl http://localhost:8000/v1/audio/transcriptions \
  -H "Authorization: Bearer izwi" \
  -F file="@meeting_record.mp3" \
  -F model="whisper-medium"

# Ответ в формате OpenAI API:
# {"text": "Hello, this is a test recording..."}

3 Озвучка результата

curl http://localhost:8000/v1/audio/speech \
  -H "Authorization: Bearer izwi" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "coqui-tts",
    "input": "Hello, this is a test recording",
    "voice": "female-warm"
  }' \
  --output synthesized_speech.mp3

Обратите внимание на формат запросов — он идентичен OpenAI Audio API. Это значит, что любой клиент, который умеет работать с OpenAI, автоматически заработает с Izwi.

Кому Izwi подойдет идеально

  1. Разработчикам, которые уже устали от Python-зависимостей в голосовых проектах. Rust + Candle дает ту стабильность, которой не хватает Python-экосистеме.
  2. Компаниям с требованиями к приватности данных. Все остается на ваших серверах. Никаких логов у третьих сторон.
  3. Пользователям Mac с Apple Silicon. Native поддержка Metal/MLX — это не просто "работает", а "работает эффективно".
  4. Энтузиастам, которые хотят собрать свой голосовой ассистент без зависимости от облаков. Izwi + какая-нибудь локальная LLM типа Llama 3.3 70B — и у вас уже есть основа.
  5. Образовательным учреждениям с ограниченным бюджетом. Бесплатно, локально, масштабируемо.

Что будет с Izwi дальше (прогноз на 2026-2027)

На момент февраля 2026 проект активно развивается. В roadmap на ближайшие месяцы:

  • Поддержка более новых моделей Whisper (v4 уже в тестировании)
  • Интеграция с Bark-style моделями для эмоционального синтеза
  • Встроенная поддержка speech-to-speech конверсии (не только TTS и ASR по отдельности)
  • Готовые Docker образы для продакшн-деплоя

Мой прогноз: к концу 2026 Izwi станет стандартом де-факто для локального аудио-инференса в Rust-экосистеме. Уже сейчас он обходит по удобству большинство Python-решений, а с ростом популярности Candle будет только улучшаться.

Если вы все еще отправляете аудио в облако для транскрибации или платите за TTS по символам — попробуйте Izwi. Даже если не заменит полностью коммерческие решения, то как минимум покажет, насколько далеко продвинулись open-source инструменты за последние два года.

И да — проект полностью открыт на GitHub. Никаких скрытых платежей, подписок или ограничений. Такая редкость в 2026 году.