o programie
Kto to robi i z czego jest zbudowany
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.
Zaktualizowano · Vitalii Yemets
Kto to robi
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.
Silniki
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
Biblioteki
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
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
Porty
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
Licencje
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.
Kontakt
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.