о программе
Здесь нет чёрных ящиков. Это полный список того, что лежит в архиве: что делает каждая часть, когда она работает и по какой лицензии, включая все модели, которые предлагает каталог.
Я: Виталий Емец, один разработчик. Нет компании, команды и инвесторов: один человек пишет программу, отвечает на issues и выпускает релизы, всё открыто на GitHub.
Я написал HoldToType для своего компьютера с Windows: хотел диктовать без подписки и так, чтобы мой голос никуда не уходил. Потом ею начали пользоваться коллеги, и теперь она доступна всем. Она бесплатна и останется бесплатной.
Если что-то не так, напишите мне: issue на GitHub или holdtotype@outlook.com.
Каждая — отдельный исполняемый файл рядом с приложением. Программа запускает нужный, разговаривает с ним через локальный порт и останавливает через десять минут простоя.
whisper-server.exe — запускает семейство моделей Whisper и их режим перевода на английский.
Пока язык, на котором вы диктуете, обслуживает модель Whisper.
MIT
sherpa-server.exe и sherpa-online-server.exe — всё, что не Whisper, одним проходом или потоком по ходу речи.
Пока язык обслуживает модель sherpa или выбрана потоковая модель.
Apache 2.0
llama-server.exe — модель-редактор, которая выполняет ваши промпты после распознавания.
Только пока включена постобработка.
MIT
Тензорная математика внутри whisper.cpp и llama.cpp. Не отдельный файл; вкомпилирована в оба.
Вместе с движком, который её использует.
MIT
Запускает модели внутри sherpa-onnx. Вкомпилирован в исполняемые файлы sherpa.
Вместе с sherpa.
MIT
Приложение написано на Go. Это единственные внешние библиотеки, которыми оно пользуется.
Рисует окно настроек — это HTML-страница, которую отрисовывает компонент WebView2, уже имеющийся в Windows.
MIT
Загружает библиотеки WebView2. Используется go-webview2.
MIT
Снимает звук с микрофона: обратный вызов, который наполняет буфер, пока вы держите клавиши.
Unlicense
Websocket-связь с потоковым распознавателем, который присылает текст, пока вы ещё говорите.
BSD-2
Вызовы Windows API: перехват клавиатуры, значок в трее, окно плашки, объекты заданий для дочерних процессов.
BSD-3
Единственный шрифт, которым набран каждый дизайн; он зашит в исполняемый файл, поэтому читается одинаково на любой машине.
OFL 1.1
Часть Windows, мы её не поставляем. Именно она и рисует страницу настроек.
Microsoft
Модели скачиваются по запросу, из репозиториев ниже, и каждый файл перед использованием сверяется с опубликованным SHA-256. Ни одна не поставляется вместе с программой.
Выбор по умолчанию для любого языка и модели, на которых держится перевод: на английский — их собственной задачей перевода, на остальные языки — тем, что им называют язык результата как язык речи. Квантованные сборки помечены q5.
MIT
Одноязычная модель, сама расставляет знаки препинания. На фразе в 11 секунд ей понадобилось 0,47 с против 11,6 с у Whisper Medium и 277 МБ памяти против 814 МБ.
MIT
Предыдущее поколение той же модели: та же скорость, но без знаков препинания.
MIT
25 европейских языков в одной узкой модели, знаки ставит сама.
CC-BY-4.0
Печатает по ходу речи: куски текста на плашке, 40 языков, со знаками препинания.
OpenMDW-1.1
Английский, немецкий, испанский и французский — и переводит между ними без Whisper.
CC-BY-4.0
Около 30 языков, самая тяжёлая и самая точная в каталоге.
Apache 2.0
Маленькая и быстрая, на один язык за раз и на скромном железе.
MIT
Постобработка запускает любую GGUF-модель, которую вы укажете; поиск и загрузка с Hugging Face есть внутри программы.
по модели
Движки — обычные HTTP- и websocket-серверы, привязанные к 127.0.0.1. Из сети они недоступны, а запускать движок на порту, который уже держит другой процесс, программа отказывается.
8910whisper-server
HTTP
язык обслуживает модель Whisper
8911llama-server
HTTP, ключ сессии
включена постобработка
8912sherpa-server
HTTP
язык обслуживает модель sherpa
8913sherpa-online-server
websocket
выбрана потоковая модель
Сам HoldToType опубликован под лицензией MIT: пользуйтесь, читайте, меняйте, выпускайте своё. Каждый движок и библиотека выше несёт собственную разрешительную лицензию, указанную рядом.
holdtotype@outlook.com по любым вопросам. Issues на GitHub для проблем и пожеланий, там их видят и дополняют другие. Программа также внесена на AlternativeTo.