o programie
Nie ma tu czarnych skrzynek. To pełna lista tego, co leży w archiwum: co robi każdy element, kiedy działa i na jakiej licencji, wraz z każdym modelem, który oferuje katalog.
Ja: Vitalii Yemets, jeden programista. Nie ma firmy, zespołu ani inwestorów: jedna osoba pisze program, odpowiada na zgłoszenia i wydaje wersje, wszystko na widoku na GitHubie.
Napisałem HoldToType na własny komputer z Windows: chciałem dyktować bez subskrypcji i bez tego, żeby mój głos gdziekolwiek trafiał. Potem zaczęli z niego korzystać moi koledzy, a teraz jest dostępny dla wszystkich. Jest darmowy i taki pozostanie.
Jeśli coś jest nie tak, napisz do mnie: zgłoszenie na GitHubie albo holdtotype@outlook.com.
Każdy to osobny plik wykonywalny obok aplikacji. Program uruchamia ten, który jest potrzebny, rozmawia z nim po lokalnym porcie i zatrzymuje po dziesięciu minutach bezczynności.
whisper-server.exe — prowadzi rodzinę modeli Whisper i ich tryb tłumaczenia na angielski.
Dopóki język, w którym dyktujesz, obsługuje model Whisper.
MIT
sherpa-server.exe i sherpa-online-server.exe — wszystko, co nie jest Whisperem, jednym przebiegiem albo strumieniowo w trakcie mówienia.
Dopóki język obsługuje model sherpa albo wybrany jest model strumieniowy.
Apache 2.0
llama-server.exe — model redagujący, który wykonuje twoje prompty po rozpoznaniu.
Tylko dopóki włączona jest obróbka.
MIT
Matematyka tensorowa wewnątrz whisper.cpp i llama.cpp. Nie osobny plik; wkompilowana w oba.
Razem z silnikiem, który jej używa.
MIT
Uruchamia modele wewnątrz sherpa-onnx. Wkompilowany w pliki wykonywalne sherpy.
Razem z sherpą.
MIT
Aplikacja napisana jest w Go. To jedyne zewnętrzne biblioteki, z których korzysta.
Rysuje okno ustawień, które jest stroną HTML wyświetlaną przez składnik WebView2, obecny już w Windows.
MIT
Ładuje biblioteki WebView2. Używa jej go-webview2.
MIT
Przechwytuje mikrofon: wywołanie dźwiękowe, które napełnia bufor, dopóki trzymasz klawisze.
Unlicense
Połączenie websocket z rozpoznawaniem strumieniowym, które odsyła tekst, gdy jeszcze mówisz.
BSD-2
Wywołania API Windows: zaczep klawiatury, ikona w zasobniku, okno paska, obiekty zadań dla procesów potomnych.
BSD-3
Jedyny krój, którym złożony jest każdy wygląd, wbudowany w plik wykonywalny, żeby czytał się tak samo na każdej maszynie.
OFL 1.1
Część Windows, nie dostarczamy jej my. To ona faktycznie maluje stronę ustawień.
Microsoft
Modele pobiera się na żądanie, z repozytoriów poniżej, a każdy plik porównuje się z opublikowanym SHA-256 przed użyciem. Żaden nie jest dołączony do programu.
Domyślny wybór dla każdego języka i modele, na których stoi tłumaczenie: na angielski własnym zadaniem tłumaczenia, na pozostałe języki przez powiedzenie im, że mowa jest już w języku docelowym. Wersje kwantyzowane oznaczone są q5.
MIT
Model jednojęzyczny, który sam stawia znaki interpunkcyjne. Na zdaniu 11-sekundowym zajęło mu to 0,47 s wobec 11,6 s u Whisper Medium, przy 277 MB pamięci wobec 814 MB.
MIT
Poprzednie pokolenie tego samego modelu: ta sama szybkość, bez interpunkcji.
MIT
25 języków europejskich w jednym wąskim modelu, interpunkcję stawia sam.
CC-BY-4.0
Pisze w trakcie mówienia: fragmenty tekstu na pasku, 40 języków, z interpunkcją.
OpenMDW-1.1
Angielski, niemiecki, hiszpański i francuski — i tłumaczy między nimi bez Whispera.
CC-BY-4.0
Około 30 języków, najcięższy i najdokładniejszy w katalogu.
Apache 2.0
Mały i szybki, na jeden język naraz i na skromny sprzęt.
MIT
Obróbka uruchamia dowolny model GGUF, który jej wskażesz; wyszukiwanie i pobieranie z Hugging Face jest w programie.
wg modelu
Silniki to zwykłe serwery HTTP i websocket przywiązane do 127.0.0.1. Z sieci są nieosiągalne, a uruchomienia silnika na porcie, który trzyma już inny proces, program odmawia.
8910whisper-server
HTTP
język obsługuje model Whisper
8911llama-server
HTTP, klucz sesji
włączona jest obróbka końcowa
8912sherpa-server
HTTP
język obsługuje model sherpa
8913sherpa-online-server
websocket
wybrany jest model strumieniowy
Sam HoldToType jest opublikowany na licencji MIT: używaj, czytaj, zmieniaj, wydawaj własne. Każdy silnik i biblioteka powyżej ma własną liberalną licencję, podaną obok.
holdtotype@outlook.com w każdej sprawie. Zgłoszenia na GitHubie do problemów i próśb, gdzie inni mogą je zobaczyć i dopisać. Program jest też wpisany na AlternativeTo.