HoldToType

informazioni

Chi lo fa, e di cosa è fatto

Qui non ci sono scatole nere. Questo è l'elenco completo di ciò che sta nell'archivio: che cosa fa ogni pezzo, quando gira e con quale licenza, compreso ogni modello che il catalogo offre.

Chi lo fa

Io: Vitalii Yemets, uno sviluppatore. Non c'è azienda, né team, né investitori: una persona lo scrive, risponde alle issue e pubblica le versioni, tutto alla luce del sole su GitHub.

Ho scritto HoldToType per il mio computer Windows: volevo dettare senza abbonamento e senza che la mia voce andasse da qualche parte. Poi i miei colleghi hanno iniziato a usarlo, e ora è disponibile a tutti. È gratuito e lo resterà.

Se qualcosa non va, scrivimi: una issue su GitHub o holdtotype@outlook.com.

I motori

Ognuno è un eseguibile a sé accanto all'app. Il programma ne avvia uno quando serve, gli parla su una porta locale e lo ferma dopo dieci minuti di inattività.

componentecosa fa quiquando giralicenza
whisper.cpp

whisper-server.exe — fa girare la famiglia di modelli Whisper e la loro modalità di traduzione in inglese.

Finché un modello Whisper serve la lingua in cui state dettando.

MIT

sherpa-onnx

sherpa-server.exe e sherpa-online-server.exe — tutto ciò che non è Whisper, in un passaggio solo o in streaming mentre parlate.

Finché un modello sherpa serve la lingua, o è scelto un modello in streaming.

Apache 2.0

llama.cpp

llama-server.exe — il modello di redazione che esegue i vostri prompt dopo il riconoscimento.

Solo finché la post-elaborazione è accesa.

MIT

ggml

La matematica tensoriale dentro whisper.cpp e llama.cpp. Non è un file a parte; è compilata in entrambi.

Con il motore che la usa.

MIT

ONNX Runtime

Fa girare i modelli dentro sherpa-onnx. Compilato negli eseguibili di sherpa.

Con sherpa.

MIT

Le librerie

L'app è scritta in Go. Queste sono le uniche librerie esterne che usa.

componentecosa fa quilicenza
go-webview2

Disegna la finestra delle impostazioni, che è una pagina HTML resa dal componente WebView2 già presente in Windows.

MIT

go-winloader

Carica le librerie di WebView2. La usa go-webview2.

MIT

malgo / miniaudio

Cattura il microfono: la richiamata audio che riempie il buffer mentre tenete i tasti.

Unlicense

gorilla/websocket

Il collegamento websocket al riconoscitore in streaming, che rimanda testo mentre state ancora parlando.

BSD-2

golang.org/x/sys

Le chiamate all'API di Windows: il gancio della tastiera, l'icona nell'area di notifica, la finestra della targhetta, gli oggetti di lavoro per i processi figli.

BSD-3

IBM Plex

L'unico carattere in cui è composto ogni design, incorporato nell'eseguibile perché si legga uguale su qualsiasi macchina.

OFL 1.1

WebView2 Runtime

Parte di Windows, non consegnata da noi. È lei che davvero dipinge la pagina delle impostazioni.

Microsoft

I modelli

I modelli si scaricano su richiesta, dagli archivi qui sotto, e ogni file viene confrontato con uno SHA-256 pubblicato prima di essere usato. Nessuno è incluso nel programma.

modelloa cosa servelicenza
Whisper Base, Small, Medium, Turbo

La scelta di partenza per qualsiasi lingua, e i modelli che reggono la traduzione: in inglese con il loro compito di traduzione, nelle altre lingue dicendo loro che il parlato è già nella lingua d'arrivo. Le versioni quantizzate portano la sigla q5.

MIT

GigaAM v3

Un modello monolingua che mette da sé la punteggiatura. Su una frase di 11 secondi ha impiegato 0,47 s contro gli 11,6 s di Whisper Medium, e 277 MB di memoria contro 814 MB.

MIT

GigaAM v2

La generazione precedente dello stesso modello: la stessa velocità, senza la punteggiatura.

MIT

Parakeet TDT 0.6B v3

25 lingue europee in un solo modello stretto, mette la punteggiatura da sé.

CC-BY-4.0

Nemotron 3.5 Streaming

Scrive mentre parlate: testo parziale sulla targhetta, 40 lingue, punteggiatura compresa.

OpenMDW-1.1

Canary 180M Flash

Inglese, tedesco, spagnolo e francese, e traduce fra loro senza Whisper.

CC-BY-4.0

Qwen3 ASR

Una trentina di lingue, il più pesante e il più preciso del catalogo.

Apache 2.0

Moonshine

Piccolo e rapido, per una lingua alla volta su macchine modeste.

MIT

Qualsiasi modello editor GGUF

La post-elaborazione fa girare qualsiasi modello GGUF gli indichiate, cercato e scaricato da Hugging Face dentro il programma.

per modello

Porte

I motori sono normali server HTTP e websocket legati a 127.0.0.1. Dalla rete non sono raggiungibili, e il programma si rifiuta di avviarne uno su una porta che un altro processo già occupa.

portamotoreprotocollogira mentre
8910

whisper-server

HTTP

un modello Whisper serve la lingua

8911

llama-server

HTTP, chiave di sessione

la post-elaborazione è attiva

8912

sherpa-server

HTTP

un modello sherpa serve la lingua

8913

sherpa-online-server

websocket

è scelto un modello in streaming

La costruzione è riproducibile. Tutto viene compilato in Docker da sorgenti fissate: le versioni dei motori sono fissate nel Dockerfile, la versione di sherpa è verificata con il suo SHA-256, e il risultato sono i due file della pagina delle versioni. L'intera ricetta è nel repository.

Licenze

HoldToType stesso è pubblicato con licenza MIT: usalo, leggilo, modificalo, pubblica il tuo. Ogni motore e libreria qui sopra porta la propria licenza permissiva, indicata accanto.

Una cosa spetta a te. I modelli editor che trovi da solo tramite la ricerca di Hugging Face portano la licenza scelta dal loro autore, e alcuni limitano l'uso commerciale.

Contatto

holdtotype@outlook.com per qualsiasi cosa. Le issue su GitHub per problemi e richieste, dove altri possono vederle e aggiungere. Il programma è elencato anche su AlternativeTo.

Apri il repository