AIWisper — десктопное приложение для локальной транскрипции речи с диаризацией спикеров. Все данные обрабатываются на устройстве без отправки в облако.
- Транскрипция речи — Whisper (многоязычный) и GigaAM (русский)
- Диаризация спикеров — автоматическое определение кто говорит
- Распознавание по голосу — автоматическая идентификация известных спикеров по voiceprint
- Запись системного звука — транскрибация звонков, видео, подкастов
- Mute каналов — отключение микрофона или системного звука во время записи
- Voice Isolation — подавление фонового шума (macOS 15+)
- Silero VAD — нейросетевая детекция голосовой активности (97% точность)
- AI-сводка — генерация краткого содержания через Ollama
- GPU ускорение — Metal и CoreML на Apple Silicon
- Полностью офлайн — никакие данные не покидают устройство
- Live Транскрипция — real-time транскрипция речи во время записи с минимальной задержкой (<500ms)
- Гибридная транскрипция — двухпроходное распознавание (GigaAM + Whisper) с LLM-выбором лучшего результата
- Статистика сессий — детальные метрики: слова, спикеры, WPM, активность, качество распознавания
- Batch Export — экспорт нескольких сессий в ZIP архив (TXT, SRT, VTT, JSON, Markdown)
- Горячие клавиши — ↑/↓ навигация, ⌘+1-9 быстрый доступ, ⌘+F поиск
| Требование | Минимум | Рекомендуется |
|---|---|---|
| macOS | 13 Ventura | 15 Sequoia |
| RAM | 8 GB | 16 GB |
| Диск | 3 GB | 10 GB (для моделей) |
| Процессор | Intel/Apple Silicon | Apple Silicon |
Скачайте DMG из Releases:
# Для Apple Silicon
AIWisper-x.x.x-arm64.dmg
# Для Intel
AIWisper-x.x.x-x64.dmg# Клонировать репозиторий
git clone https://github.com/askidmobile/AIWisper.git
cd AIWisper
# Установить зависимости frontend
cd frontend && npm install && cd ..
# Собрать backend и запустить в dev-режиме
cd frontend && npm run electron:dev- Запустите приложение и дайте разрешение на микрофон
- Скачайте модель в менеджере моделей (рекомендуется
large-v3-turbo) - Нажмите "Новая запись" и начните говорить
- Остановите запись — транскрипция появится автоматически
| Модель | Размер | Качество | Скорость |
|---|---|---|---|
tiny |
74 MB | Базовое | Очень быстро |
base |
141 MB | Хорошее | Быстро |
small |
465 MB | Отличное | Средне |
medium |
1.4 GB | Высокое | Медленно |
large-v3-turbo |
1.5 GB | Высокое | Быстро |
large-v3 |
2.9 GB | Максимальное | Очень медленно |
| Модель | Размер | WER | Особенности |
|---|---|---|---|
gigaam-v3-ctc |
225 MB | 9.1% | Рекомендуется |
gigaam-v3-e2e-ctc |
225 MB | 9.1% | С автопунктуацией |
AIWisper автоматически определяет кто говорит в записи:
- Режим диалога — раздельные каналы "Вы" (микрофон) и "Собеседник" (системный звук)
- FluidAudio — нативный движок диаризации на Swift/CoreML
- Sherpa-ONNX — кроссплатформенный движок на C++/ONNX
Нативный движок диаризации для macOS на базе FluidAudio, использующий Apple Neural Engine через CoreML:
| Компонент | Модель | Описание |
|---|---|---|
| Сегментация | pyannote-segmentation-3.0 |
Определение границ речи |
| Embedding | wespeaker-voxceleb-resnet34 |
Извлечение голосовых признаков |
| Кластеризация | Agglomerative Clustering | Группировка по спикерам |
Преимущества:
- Работает на Apple Neural Engine (ANE) — энергоэффективно
- Нативная интеграция с macOS
- Не требует ONNX Runtime
- Оптимизирован для Apple Silicon
При установленном Ollama доступны:
- Сводка — краткое содержание записи
- Улучшение текста — коррекция ошибок транскрипции
- AI-диаризация — разбивка по собеседникам через LLM
# Установка Ollama
brew install ollama
ollama pull llama3.2- Rust 1.75+ — системный язык для высокой производительности
- Tauri 2.1 — десктопный фреймворк с нативным IPC
- whisper-rs 0.15 — Rust bindings для whisper.cpp с Metal поддержкой
- ort 2.0 — ONNX Runtime с CoreML для Apple Silicon
- cpal 0.15 — кроссплатформенный захват аудио
- tokio — async runtime для параллельной обработки
- parking_lot — эффективные примитивы синхронизации
- React 18 — UI фреймворк с hooks
- TypeScript 5.3 — строгая типизация
- Vite 5 — быстрая сборка и HMR
- @tauri-apps/api — Tauri IPC для коммуникации с бэкендом
- React Markdown — рендеринг Markdown в Summary
- ScreenCaptureKit — захват системного звука (macOS 13+)
- CoreAudio Process Tap — альтернативный захват (macOS 14.2+)
- Voice Isolation — AI шумоподавление (macOS 15+)
- FluidAudio — нативная диаризация на CoreML
- Metal — GPU ускорение для whisper.cpp
- CoreML — Apple Neural Engine для диаризации
- Whisper — многоязычное распознавание речи (OpenAI)
- GigaAM — русскоязычная модель от Sber (WER 9.1%)
- Parakeet TDT v3 — streaming ASR от NVIDIA
- Silero VAD — нейросетевая детекция голоса (97% точность)
- WeSpeaker — голосовые эмбеддинги для диаризации
- Ollama — локальные LLM для AI-сводки
AIWisper/
├── rust/ # Основная кодовая база (Rust + Tauri)
│ ├── src-tauri/ # Tauri backend
│ │ ├── src/
│ │ │ ├── commands/ # IPC команды
│ │ │ ├── state/ # Состояние приложения
│ │ │ └── main.rs # Точка входа
│ │ ├── resources/ # Ресурсы (модели, бинарники)
│ │ └── tauri.conf.json # Конфигурация Tauri
│ ├── crates/ # Rust workspace crates
│ │ ├── aiwisper-audio/ # Захват и обработка аудио
│ │ ├── aiwisper-ml/ # ML движки (Whisper, GigaAM)
│ │ ├── aiwisper-types/ # Общие типы данных
│ │ └── aiwisper-worker/ # Worker процессы
│ └── ui/ # React frontend
│ ├── src/
│ │ ├── components/ # UI компоненты
│ │ ├── context/ # React контексты
│ │ ├── hooks/ # Custom hooks
│ │ └── App.tsx # Главный компонент
│ └── package.json
├── backend/ # Legacy Go backend (для совместимости)
│ ├── ai/ # Движки распознавания
│ ├── audio/ # Swift модули захвата
│ │ ├── coreaudio/ # CoreAudio Process Tap
│ │ ├── screencapture/ # ScreenCaptureKit
│ │ └── diarization/ # FluidAudio диаризация
│ └── session/ # Управление сессиями
├── frontend/ # Legacy Electron frontend
├── scripts/ # Скрипты сборки
└── docs/ # Документация
- Rust 1.75+ (с
cargo) - Node.js 18+
- Xcode Command Line Tools (для Swift и Metal)
- Tauri CLI (
cargo install tauri-cli)
# Запуск в режиме разработки (Tauri + React)
cd rust && cargo tauri dev
# Сборка релиза
cd rust && cargo tauri build
# Только frontend (без Tauri)
cd rust/ui && npm run dev
# Legacy Electron режим (если нужен)
cd frontend && npm run electron:dev# Путь к данным (по умолчанию ~/Library/Application Support/aiwisper)
AIWISPER_DATA_DIR=/path/to/data
# Ollama URL (по умолчанию http://localhost:11434)
OLLAMA_URL=http://localhost:11434~/Library/Application Support/aiwisper/
├── sessions/ # Записи
│ └── {uuid}/
│ ├── meta.json # Метаданные
│ ├── full.mp3 # Аудио
│ └── chunks/ # Чанки + транскрипции
├── models/ # Скачанные модели
├── logs/ # Логи приложения (автоочистка)
├── voiceprints/ # Голосовые профили
└── config.json # Настройки
- Дайте разрешение "Запись экрана" в Настройки → Конфиденциальность
- Перезапустите приложение
- Используйте модель
large-v3-turboвместоlarge-v3 - Убедитесь что используется GPU (Metal)
- Проверьте свободное место на диске
- Удалите частично скачанную модель из
~/Library/Application Support/aiwisper/models/
# Проверить логи
cat /tmp/aiwisper-backend.log
# Запустить вручную для отладки
./backend/aiwisper-backend -trace-log /dev/stdoutMIT License. См. LICENSE.
- whisper.cpp — движок транскрипции
- GigaAM — русскоязычная модель от Sber
- FluidAudio — нативная диаризация для macOS
- sherpa-onnx — кроссплатформенная диаризация
- pyannote.audio — модели сегментации
- Electron — десктопный фреймворк