network-user
ко всем проектам
Платформа 7 Sep 2026 бета

.аудио

DotAudio

Диктовка, Live-субтитры и медиафайлы проходят через один локальный конвейер.

суть

DotAudio подходит для короткой диктовки, но этим сценарий не ограничивается. Глобальная горячая клавиша запускает запись, Live-режим слушает микрофон или системный звук, а импортированный файл открывается в редакторе с таймкодами. Результат можно отправить в буфер обмена или сохранить в одном из форматов экспорта.

Загрузка моделей, распознавание, запись и экспорт не блокируют GUI-поток. Черновик Live остаётся в памяти, подтверждённые сегменты сохраняются в SQLite, а ассистент отвечает рядом с исходной расшифровкой и не меняет её. Windows получает полную интеграцию; для Linux и macOS в репозитории есть установщики и общее ядро, но end-to-end сценарии ещё не проверены на целевых машинах.

масштаб

размер и срок: что стоит за продуктом.

10 форматов экспорта расшифровки
4 голоса в Sortformer
2 окна Live: остров и зал
3 ОС с путём установки в репозитории

архитектура

decode optional microphone system audio audio / video capture.py bounded pipeline faster-whisper NeMo Sortformer Qt Quick / QML SQLite history 10 exports local assistant

Источник диктовки: блоки PCM нормализуются до mono, 16 kHz.

  • capture.py

WASAPI loopback на Windows или monitor / BlackHole на других ОС.

  • capture.py

Импортированный файл с таймкодами и словными границами.

  • capture.py

Собирает микрофон, loopback и HTTP-потоки, не зная о QML.

  • bounded pipeline

Endpointing, preview, final-очередь и отмена живут в одном контракте.

  • faster-whisper decode

Локальный ASR на CTranslate2, с профилями CPU / GPU и кешем модели.

  • NeMo Sortformer optional
  • Qt Quick / QML
  • SQLite history

Опционально размечает до четырёх голосов только в расшифровке файла.

  • SQLite history

Остров, Live-сцена, редактор и страницы приложения получают сигналы Qt.

Сохраняет сессии, сегменты, исходный текст, правки и локальные настройки.

  • 10 exports
  • local assistant

TXT, Markdown, субтитры, таблицы, JSON и LRC рендерятся из одних данных.

llama.cpp или Ollama отвечает по сохранённым частям и таймкодам.

  • Qt Quick / QML
Нажми на модуль: покажу его роль в системе.

стек

состав стека по слоям · 18
  • Язык 2
  • Фреймворк 4
  • Данные 2
  • Инфраструктура 4
  • Клиент 3
  • AI / ML 3

Язык

  • Python 3.12
  • QML / JavaScript

Фреймворк

  • PySide6
  • Qt Quick
  • faster-whisper
  • FastAPI (optional)

Данные

  • SQLite
  • TXT / SRT / VTT / JSON / LRC

Инфраструктура

  • Git installer
  • FFmpeg
  • pytest
  • Ruff

Клиент

  • Windows hotkeys
  • WASAPI loopback
  • pynput

AI / ML

  • CTranslate2
  • NeMo-Speech.cpp
  • llama.cpp / Ollama

что умеет

ключевые возможности продукта прямо сейчас.

Диктовка с безопасной вставкой

Горячая клавиша запускает запись, финальный текст попадает в буфер и при включённой опции пытается вернуться в ожидаемое окно.

Escape отменяет диктовку без вставки. Приложение не нажимает Enter и не отправляет сообщение за пользователя.

Live-субтитры из реального сигнала

Остров показывает уровень входа и состояние распознавания, а отдельная сцена выводит текущую фразу поверх других окон.

Черновик остаётся в памяти, подтверждённые фразы сохраняются. При отставании модели очередь ограничена, а перегрузка получает явный статус.

Медиа с таймкодами

Аудио и видео открываются в редакторе сегментов: можно перейти к реплике, сохранить исходный текст и экспортировать результат.

Каталог экспорта описан данными: TXT, Markdown, SRT, VTT, CSV, JSON, LRC и варианты с ролями и протоколом используют общий рендерер.

Говорящие как отдельный слой

NeMo-Speech.cpp размечает голоса в файловой расшифровке, но не блокирует текст, если опциональный рантайм недоступен.

Sortformer различает до четырёх голосов. При смене голоса фраза режется по границе, а роль можно переименовать и фильтровать.

Локальный ассистент по записям

llama.cpp или Ollama отвечает по выбранной записи, строит выжимки и возвращает таймкоды, не выдавая ответ за расшифровку.

Длинная запись делится на части, а локальная модель подбирается по железу. Запрос запускается только явным действием пользователя.

Работа вне GUI-потока

Загрузка моделей, inference, запись и экспорт уходят в фоновые задачи, а QML получает только Qt-сигналы и готовые состояния.

Один контракт сегментов связывает локальный путь и необязательный FastAPI-сервис. Серверный режим остаётся локальным адаптером, а не публичным API.

хронология

как продукт рос от первой версии.

  1. 7 Sep 2026

    Live-конвейер

    Захват микрофона и системного звука, ограниченная очередь, остров и отдельная сцена субтитров.

  2. 8 Sep 2026

    Читаемый текст и ассистент

    Стабильная композиция Live, локальный чат по записям, выжимки частей и переход к таймкоду из ответа.

  3. 9 Sep 2026

    Автонастройка и медиа

    Мастер выбирает профиль по железу, медиа получают экспорт и говорящих, а Windows-окно ведёт себя как обычное приложение.

  4. 10 Sep 2026

    Установщики для трёх ОС

    Git-установка и обновления для Windows, Linux и macOS, с честной оговоркой: Unix end-to-end ещё нужно пройти на целевых машинах.