Privato · Sul dispositivo · Apple Neural Engine

Sottotitoli in tempo reale per
tutto ciò che il tuo Mac riproduce.

Video, chiamate, podcast: trascritti mentre vanno in riproduzione e disegnati come overlay sempre in primo piano. Non viene caricato nulla, non viene registrato nulla, non viene scritto nulla su disco.

Rimborso entro 14 giorni, senza fare domande

Pagamento unico di 9 $, tutti gli aggiornamenti futuri inclusi · macOS 14.2 o successivo · Apple Silicon
Sottotitoli illimitati, per tutto il tempo che vuoi. Nessun minuto da comprare, nessun account, nessun abbonamento.

Cambia app e i sottotitoli restano: l'overlay sta sopra ogni finestra e lascia passare i clic.

Clicca una finestra per portarla in primo piano. Tieni premuto e trascina i sottotitoli per spostarli, come faresti nell'app.

Punta i sottotitoli e si dissolvono sotto il puntatore. Tieni premuto per rimpilare gli ultimi. Qui funzionano entrambi esattamente come nell'app.

Sottotitoli in tempo reale per qualsiasi app sul tuo Mac

Subtitles sottotitola qualunque audio il tuo Mac possa riprodurre, perché intercetta l'app stessa invece di integrarsi con un servizio specifico. Che tu sia sordo o ipoudente, che stia ascoltando in una seconda lingua o che semplicemente lavori in un posto rumoroso, ci sono tre situazioni che si ripresentano di continuo.

01

Riunioni e chiamate

Zoom, Google Meet, Teams, un huddle di Slack, una chiamata in una scheda del browser: è tutto solo audio che esce da un'app, quindi viene tutto sottotitolato. Seconda lingua o meno, si guadagna il suo posto nel momento in cui un accento è poco familiare, il microfono di qualcuno è pessimo o due persone parlano sopra l'altra: leggere una parola colta solo a metà è più rapido che farsela ripetere, e non interrompe nessuno.

02

Non perdere il filo mentre lavori

L'audio non aspetta. Nel momento in cui passi ai tuoi appunti, al tuo editor o a una finestra del browser, cominci a perdere la conversazione. L'overlay sta sempre sopra ogni finestra e lascia passare i clic, quindi resta dov'è mentre lavori davanti a lui. Puoi prendere appunti, controllare qualcosa e seguire comunque quello che si dice. Un blocco note come Granola redige la riunione a posteriori; questa è la metà che deve avvenire mentre è ancora in corso.

03

Video, podcast e lezioni

Un video senza sottotitoli, o con sottotitoli automatici peggiori del nulla. Un podcast in una lingua che stai ancora imparando. Una lezione registrata o in diretta, un'intervista, un film con dialoghi troppo bassi. I sottotitoli compaiono sopra la finestra che lo sta riproducendo, alla dimensione di testo che imposti, in nove lingue e con la lingua rilevata al posto tuo.

Tutte e tre hanno una cosa in comune: una riunione, una chiamata e una registrazione privata non sono affari di nessun server. Nessuno di questi audio viene caricato, perché non serve: il modello gira sul tuo Mac.

Costruito attorno a tre vincoli

L'audio in diretta non si può mettere in pausa, non si può rifare e non dovrebbe dover lasciare la tua macchina. Tutto quello che c'è qui deriva da lì.

Niente lascia il Mac

Gira in locale e offline: nessuna chiamata di rete, nessun account, nessuna telemetria. L'audio passa dal tap direttamente al riconoscitore e viene scartato. L'unica cosa mai scaricata è il modello stesso, una volta sola.

Neural Engine, non CPU

Circa 0,15 di real-time factor: sei secondi di parlato trascritti per ogni secondo di calcolo. Lo stesso modello su CPU è risultato circa 100× troppo lento per stare dietro a un flusso in diretta.

Qualsiasi app, una alla volta

Scegli una sorgente dalla barra dei menu e l'app cattura quell'applicazione e ogni processo helper che avvia, il che è ciò che la rende compatibile con browser e app Electron, dove l'audio non arriva mai dal processo principale.

La musica non diventa testo di canzone

Un rilevatore vocale gira prima del riconoscitore, così le basi musicali non lo raggiungono mai. Senza, la musica riempie il contesto del modello e le prime parole successive vanno perse.

Un riquadro nuovo per ogni interlocutore

Se vuoi, fa partire un sottotitolo nuovo quando prende la parola qualcun altro, come fa una pausa. Disattivo di default: fa girare un secondo modello accanto al primo.

Nove lingue

Il modello predefinito rileva la lingua da solo. L'inglese ha in più sette checkpoint dedicati, che scambiano latenza con accuratezza a partire da 160 ms.

L'overlay si toglie di mezzo

Una cosa sopra ogni finestra funziona solo se non diventa mai la cosa attorno a cui devi lavorare. Non riceve clic, si dissolve dove punti, e ti restituisce la riga da cui hai distolto lo sguardo.

Un buco dove punti

Avvicina il puntatore al riquadro e sotto di esso si dissolve, così la frase che stai leggendo non copre mai la frase che stai scrivendo. Quanto se ne va e quanto lontano arriva il buco li decidi tu. Tieni premuto per tenerlo pieno.

Tieni premuto ⌥ per quello che ti sei perso

Il riquadro va a pagine come i sottotitoli in televisione: si riempie, si svuota e ricomincia, quindi una riga da cui hai distolto lo sguardo è persa. Tieni premuto e gli ultimi riquadri chiusi si rimpilano sopra quello in corso, fino a trenta, con lo scorrimento per i più vecchi. Lascia il tasto e se ne vanno di nuovo. Non viene scritto nulla da nessuna parte.

L'overlay è l'anteprima

, dal menu apre le impostazioni: quante righe riempie un riquadro prima di svuotarsi, quanto è pieno, quanto lontano arriva la dissolvenza sotto il puntatore, quanto indietro va . Ogni cursore si applica all'overlay mentre lo trascini, quindi queste cose le regoli guardandole invece di scegliere un numero.

Come funziona

Un thread audio realtime che si limita a copiare, un core portabile che non trascrive mai, e un modello che gira dove deve.

  1. 1

    Process tap di Core Audio

    48 kHz stereo, un callback ogni 10,7 ms. Il thread realtime copia in un ring buffer lock-free e non fa altro.

  2. 2

    Ricampionamento e gate

    Giù a 16 kHz mono su un thread worker, silenzi saltati, con circa un secondo riprodotto prima del parlato perché nessuna parola parta a freddo.

  3. 3

    Parakeet sul Neural Engine

    Un modello streaming, non uno a finestra da 30 secondi: la differenza fra sottotitoli che seguono l'audio e sottotitoli che arrivano con secondi di ritardo.

  4. 4

    Overlay

    Pagine da tre righe che si svuotano e ripartono come i sottotitoli televisivi, dissolvendosi quattro secondi dopo l'ultimo testo nuovo anziché alla fine dell'audio.

Tutto ciò che va dal ring buffer al confine del modello è Rust portabile che deliberatamente non trascrive: consegna frame. Il process tap e l'overlay sono le uniche parti specifiche del Mac.

Rimborso entro 14 giorni, senza fare domande.

Niente da far approvare, niente da disattivare

Se puoi puntare questa cosa su una chiamata di lavoro è perché non è un servizio. Non c'è un server, non c'è un account e non c'è una trascrizione, quindi non c'è niente da mandare e nessun altro in mezzo. Il codice è pubblicato, quindi niente di tutto questo va preso sulla fiducia.

  • Nessun bot entra nella chiamata. Cattura l'audio che il tuo Mac sta già riproducendo, quindi non compare niente nella lista dei partecipanti e a nessuno viene detto che c'è qualcosa in funzione. Quasi tutta questa categoria manda invece un partecipante visibile, cosa che parecchie aziende vietano del tutto.
  • Non viene registrato niente e non viene scritto niente su disco. L'audio va dal tap al riconoscitore e viene buttato lì per lì. I sottotitoli sono sullo schermo e poi sono spariti; i riquadri che riporta indietro stanno in memoria finché non esci, e dopo non c'è nessun file da trovare, né sul tuo Mac né altrove.
  • Il microfono non viene mai aperto. Sente soltanto quello che il tuo Mac riproduce. È un limite vero, ed è anche il motivo per cui niente di quello che dici può finire da qualche parte.
  • Nessun account, nessuna telemetria, nessuna rete. Niente a cui accedere e nessun utilizzo riportato da nessuna parte. Il modello si scarica una volta, circa 633 MB, e dopo non resta una sola chiamata di rete da fare: stacca il Wi-Fi e continua a sottotitolare.
  • Non c'è niente su cui addestrare. Non esiste nessuna trascrizione da mandare, quindi non c'è nessuna impostazione sull'addestramento da cercare, nessun valore predefinito da controllare e nessun responsabile del trattamento da indicare in un contratto. Se questo basti alla policy della tua azienda lo decidi tu, ma qui non c'è nessuna terza parte da far approvare.
  • L'unica eccezione è comprarlo. Gumroad incassa il pagamento e vede il tuo indirizzo e-mail, come fa qualsiasi negozio, e ti scrive quando l'app viene aggiornata. L'app in sé non ti chiede né l'uno né l'altro.

Scegli una lingua, non un modello

La lingua è la prima cosa che esclude o ammette un modello, quindi è il primo livello del menu. Cambiare all'interno di un pacchetto è immediato; passare da un pacchetto all'altro scarica l'altro e conserva quello che hai già.

Cambia idea a metà download e lo annulla per avviare subito il nuovo. Torna indietro più tardi e riprende invece di ricominciare da capo.

Vive nella barra dei menu

Nessuna icona nel Dock, nessuna finestra da gestire. L'icona ti dice cosa sta facendo: indaco mentre ascolta, blu mentre scarica un modello, gialla se la pipeline inizia a restare indietro, e mai rossa, perché il rosso significa registrazione, e qui non viene mai scritto nulla da nessuna parte. Gli interruttori restano nel menu, e , da lì apre una finestra di impostazioni con le manopole che stanno dietro.

S
Metti in pausa e riprendi
Tieni premuto
Rende l'overlay trascinabile; per il resto lascia passare i clic
Tieni premuto
Rimpila gli ultimi riquadri sopra quello in corso; scorri per i più vecchi
,
Impostazioni, dal menu aperto: righe per riquadro, opacità, la dissolvenza sotto il puntatore, quanto indietro arriva
Barra dei menu
Modello, sorgente, dimensione del testo, posizione dell'overlay, stato dell'autorizzazione

Perché non i sottotitoli in tempo reale di Apple?

macOS ha i sottotitoli integrati, gratis, su ogni Mac Apple Silicon, in Impostazioni di Sistema, Accessibilità, Sottotitoli in tempo reale. Se coprono quello che ti serve, usali. Questi sono i punti in cui hanno smesso di coprire i miei, e c'è un confronto riga per riga se vuoi la versione lunga.

  • Nove lingue, rilevate al posto tuo. Quelli di Apple non sono disponibili in ogni lingua, paese o regione. Il modello predefinito qui capisce la lingua da solo, e la barra dei menu permette di passare da una all'altra.
  • Il modello lo scegli tu. Sette checkpoint inglesi che scambiano latenza con accuratezza a partire da 160 ms, più quello multilingue. Apple ti dà sottotitoli, non una manopola.
  • L'overlay lascia passare i clic. Quello di Apple è una finestra che sposti e ridimensioni. Questo non riceve un solo clic: ci lavori attraverso. Tieni premuto quando vuoi davvero spostarlo.
  • Si toglie di mezzo dove punti. Il riquadro si dissolve sotto il puntatore così leggi quello che c'è sotto, di quanto e di quanto largo lo imposti tu. Quello di Apple è una finestra opaca che sposti da un'altra parte.
  • Un'app, o tutte. Puntalo sulla scheda che riproduce la chiamata e il resto della macchina resta in silenzio. Quello di Apple trascrive l'audio di tutte le app per impostazione predefinita.
  • La musica non diventa testo di canzone. Un rilevatore vocale gira prima del riconoscitore, così una base musicale non lo raggiunge mai.
  • Un riquadro nuovo per ogni interlocutore. Opzionale, disattivo di default, e senza un equivalente in quello integrato.

Da sapere prima di scaricare

  • Il primo avvio richiede qualche minuto. Il modello pesa circa 633 MB e si scarica da solo al primo avvio. La barra dei menu mostra l'avanzamento.
  • macOS chiederà l'autorizzazione a registrare l'audio di sistema. Salta quella richiesta e ogni campione arriva come silenzio digitale senza alcun errore da nessuna parte, quindi l'app tiene un controllo dell'autorizzazione nel menu invece di far finta di saperlo. Il download è firmato e notarizzato, quindi la risposta che dai sopravvive a ogni aggiornamento.
  • Il canto conta come parlato. Il rilevatore vocale non sa distinguerli, quindi la musica cantata esce trascritta come testo.
  • Gli stacchi fra interlocutori sono retrospettivi. La diarizzazione riferisce a intervalli regolari, quindi una parola o due del nuovo interlocutore possono finire nel riquadro in uscita prima che si svuoti.
  • Un solo schermo. L'overlay usa lo schermo principale.
  • I modelli restano su disco appena li provi. Passare fra gli otto è proprio il modo di trovare quello che vuoi, e ognuno di quelli che provi viene tenuto. Le impostazioni hanno un pulsante che rimuove quelli che non sta usando nessuno, e mai quello in uso.

Le domande che arrivano per prime

Funziona con Zoom, Teams e Google Meet?
Sì. Intercetta l'audio che un'app riproduce invece di integrarsi con un servizio specifico, quindi una finestra di Zoom, un huddle di Slack e una chiamata in una scheda del browser vengono sottotitolati allo stesso modo. Browser e app Electron inclusi: cattura i processi helper che avviano, da cui il loro audio arriva davvero.
Un overlay non finisce per dare fastidio?
Non riceve un solo clic, quindi ci lavori dritto attraverso, e si dissolve sotto il puntatore così puoi leggere quello che c'è sotto. Quanto si dissolve, quanto lontano arriva, quanto è pieno il riquadro e quante righe tiene sono tutte impostazioni. Tieni premuto per tenerlo pieno e trascinarlo altrove; dove lo metti viene ricordato.
Sottotitola la mia voce?
No. Sente soltanto ciò che riproduce il tuo Mac, mai il microfono. In una chiamata significa che leggi gli altri, non te stesso.
Serve una connessione a internet?
Una volta sola, per scaricare il modello al primo avvio, circa 633 MB. Da lì in poi gira totalmente offline e non fa alcuna chiamata di rete.
Posso salvare o esportare una trascrizione?
No, ed è voluto. Non viene scritto nulla su disco: i sottotitoli esistono sullo schermo e poi spariscono. Tenere premuto riporta indietro gli ultimi riquadri finché l'app è aperta, e serve a recuperare la riga che ti sei perso, non a tenere una traccia. Se ti serve una traccia di una conversazione, questo è lo strumento sbagliato.
L'IT deve approvarlo?
Qui non c'è nessun fornitore da approvare: nessun account, nessun server, nessuna trascrizione che lascia il Mac e niente che entri nella chiamata come partecipante, quindi nessuno in riunione viene registrato da qualcosa. È un'app firmata e notarizzata su una sola macchina, e una volta scaricato il modello non fa più nessuna chiamata di rete. Se questo basti alla policy della tua azienda lo decidi tu, ma non c'è nessuna terza parte in mezzo da far approvare.
Funziona con cuffie o AirPods?
Sì. Cattura l'audio che un'app produce, non il suono che esce da un altoparlante, quindi non fa differenza su cosa ascolti.
Rallenterà il mio Mac?
La trascrizione gira sul Neural Engine anziché sulla CPU, con un real-time factor di circa 0,15, ovvero sei secondi di parlato per ogni secondo di calcolo. Lo stesso modello su CPU è risultato circa 100× troppo lento anche solo per stare dietro.
Su quali Mac funziona?
Apple Silicon, macOS 14.2 o successivo. Il requisito minimo di versione viene dai process tap di Core Audio, l'API su cui è costruito tutto quanto.
È un abbonamento?
No. 9 $ una volta sola, tutti gli aggiornamenti futuri inclusi, nessun account da creare e nessun minuto da comprare. Se non fa per te, c'è un rimborso entro 14 giorni.
Posso vedere il codice sorgente?
Sì. È pubblicato con licenza FSL-1.1-ALv2, che diventa Apache 2.0 due anni dopo ogni rilascio. Leggilo, o compilalo da solo, su github.com/daformat/subtitles.

Sottotitoli per qualsiasi cosa, senza mandare audio da nessuna parte.

Rimborso entro 14 giorni, senza fare domande

Pagamento unico di 9 $, tutti gli aggiornamenti futuri inclusi · macOS 14.2 o successivo · Apple Silicon
Sottotitoli in tempo reale illimitati, finché possiedi il Mac. Nessun minuto da comprare, nessun account, nessun abbonamento.