PocketVoice Reader di Volary
Reads web pages aloud with Kyutai's Pocket TTS model, entirely inside Firefox. English, German, French, Spanish and Portuguese, 27 voices. No separate program, no account, and the page text never leaves your browser.
Metadati estensione
Informazioni sull’estensione
PocketVoice Reader reads web pages aloud. The speech model is Kyutai Pocket TTS, a text-to-speech model with 100M parameters by Kyutai in Paris (weights under CC-BY-4.0). It runs entirely inside Firefox as WebAssembly, on the phonon-tts engine by Gradium, which is built around Laurent Mazare's xn engine. There is no separate program to install, no account and no server of mine involved.
To use it, click the toolbar button and then "Read this page". The extension finds the main text with Mozilla's Readability library (the same code that Firefox's Reader View uses), reads the title first and skips pictures and their captions, code listings, footnote markers and reference lists. It stops at the first References, Sources, Bibliography, Further reading, See also or External links heading, so the end of a Wikipedia article isn't read out. The popup has Back and Skip (one sentence each), Pause/Resume and Stop, a speed slider (0.8x to 2x, the pitch stays the same) and a volume slider, and it shows the sentence that is being read. The toolbar badge shows whether it is reading or paused.
"Pick" reads only one part of a page: the page is shaded except for the element under the mouse, a click picks it, and a small dialog lets you widen the choice to the elements around it (slider or arrow keys) before you press Read.
It speaks English, German, French, Spanish and Portuguese, with a separate model for each, and it follows the language of the page. A page without a language tag is read in English. A page in any other language is refused with a message, unless you pick a language in the options. The options page can force one language for all pages, and you can choose a voice per language from Kyutai's 27 preset voices (there is no voice cloning).
Some text preparation happens before the speech model gets it. Dashes are read as pauses. In German, quotes and brackets are removed (like in Kyutai's own German config). In German, French, Spanish and Portuguese, numbers, dates and times are spelled out, because those models can't read digits. In English, "c.", "b." and "d." before a year become circa, born and died, geological ages ("12 ka", "66 Ma", "mya") and units after a number ("300 m", "5km", also square and cubic ones like "sq ft" and "km3") are read as words, and long numbers and years are read in full. Roman numerals after names are read as ordinals or numbers (George the First, World War Two), and dates and fractions are spelled out.
The first time you use a language, its model (129 MB) is downloaded once from Hugging Face (inklight-app/pocket-tts-q8, an 8-bit version of Kyutai's model without the voice-cloning part) and kept inside Firefox, and the popup shows the download progress. The numbers below are my own measurements on an M4 MacBook Air with Firefox 158. On my connection, the download takes 8-25 seconds (longer on a slow evening), and the reading starts right after it. After that, the first audio comes about 1 second after the click. The model stays loaded for 10 idle minutes (about 500 MB of memory) and is freed after that.
Firefox gives extensions only one CPU thread for this, because extension pages can't use WebAssembly threads. On that one thread, the M4 generates speech about 4-5 times faster than realtime. Slower computers have less headroom, and on a computer that is slower than realtime I expect gaps in the audio (I haven't measured that).
The page text never leaves your browser, because the speech is generated inside Firefox. The only network traffic is the model download from Hugging Face.
To use it, click the toolbar button and then "Read this page". The extension finds the main text with Mozilla's Readability library (the same code that Firefox's Reader View uses), reads the title first and skips pictures and their captions, code listings, footnote markers and reference lists. It stops at the first References, Sources, Bibliography, Further reading, See also or External links heading, so the end of a Wikipedia article isn't read out. The popup has Back and Skip (one sentence each), Pause/Resume and Stop, a speed slider (0.8x to 2x, the pitch stays the same) and a volume slider, and it shows the sentence that is being read. The toolbar badge shows whether it is reading or paused.
"Pick" reads only one part of a page: the page is shaded except for the element under the mouse, a click picks it, and a small dialog lets you widen the choice to the elements around it (slider or arrow keys) before you press Read.
It speaks English, German, French, Spanish and Portuguese, with a separate model for each, and it follows the language of the page. A page without a language tag is read in English. A page in any other language is refused with a message, unless you pick a language in the options. The options page can force one language for all pages, and you can choose a voice per language from Kyutai's 27 preset voices (there is no voice cloning).
Some text preparation happens before the speech model gets it. Dashes are read as pauses. In German, quotes and brackets are removed (like in Kyutai's own German config). In German, French, Spanish and Portuguese, numbers, dates and times are spelled out, because those models can't read digits. In English, "c.", "b." and "d." before a year become circa, born and died, geological ages ("12 ka", "66 Ma", "mya") and units after a number ("300 m", "5km", also square and cubic ones like "sq ft" and "km3") are read as words, and long numbers and years are read in full. Roman numerals after names are read as ordinals or numbers (George the First, World War Two), and dates and fractions are spelled out.
The first time you use a language, its model (129 MB) is downloaded once from Hugging Face (inklight-app/pocket-tts-q8, an 8-bit version of Kyutai's model without the voice-cloning part) and kept inside Firefox, and the popup shows the download progress. The numbers below are my own measurements on an M4 MacBook Air with Firefox 158. On my connection, the download takes 8-25 seconds (longer on a slow evening), and the reading starts right after it. After that, the first audio comes about 1 second after the click. The model stays loaded for 10 idle minutes (about 500 MB of memory) and is freed after that.
Firefox gives extensions only one CPU thread for this, because extension pages can't use WebAssembly threads. On that one thread, the M4 generates speech about 4-5 times faster than realtime. Slower computers have less headroom, and on a computer that is slower than realtime I expect gaps in the audio (I haven't measured that).
The page text never leaves your browser, because the speech is generated inside Firefox. The only network traffic is the model download from Hugging Face.
Voto 5 da 1 revisore
Permessi e dati
Raccolta dati:
- Lo sviluppatore dichiara che questa estensione non richiede la raccolta di dati.
Ulteriori informazioni
- Link componente aggiuntivo
- Versione
- 1.2
- Dimensione
- 2,95 MB
- Ultimo aggiornamento
- 6 giorni fa (9 nov 2026)
- Categorie correlate
- Licenza
- Licenza MIT
- Cronologia versioni
- Aggiungi alla raccolta