[Plugin] Zotero TTS: enhance Zotero Read Aloud, more voices, custom shortcuts and highlight colors

edited yesterday at 3:47pm
Hi everyone,

I've written a plugin that enhances Zotero 10's built-in Read Aloud: it adds voices from providers of your choice, and gives you more control over highlighting and playback. Free and open source (AGPL): https://github.com/xujialiu/Zotero-TTS
https://s3.amazonaws.com/zotero.org/images/forums/u10985638/9zbpylj6mgy77i3zu66u.gif
What it does:
- More voices in the Read Aloud popup (under the Local tier):
- OpenAI or any OpenAI-compatible server.
- Azure Speech,
- Kokoro-FastAPI server
- Zotero's Standard and Premium voices stay as they are.
- Word and sentence highlighted at the same time, in colors and opacities you pick.
- Keyboard shortcuts, all rebindable: speed down / up / reset, previous / next sentence and paragraph.

https://s3.amazonaws.com/zotero.org/images/forums/u10985638/76blh2x2qznqymetvlwu.png
https://s3.amazonaws.com/zotero.org/images/forums/u10985638/vhrlh12wgeozlincc1w4.png

Everything runs inside Read Aloud itself — no second player. https://raw.githubusercontent.com/xujialiu/Zotero-TTS/main/assets/word-highlight.gif

About the providers:
- OpenAI-compatible option takes a custom base URL, model and voice list, plus extra headers for a server behind a gateway.
- Azure Speech needs a key + region (the free tier gives 500,000 characters a month, word timings included);
- Kokoro-FastAPI is a free local server (CPU or GPU);

The repo has setup tutorials for Azure and for running Kokoro or Chatterbox in Docker.

Install: download zotero-tts.xpi from https://github.com/xujialiu/Zotero-TTS/releases/latest

A few honest caveats: Zotero 10 desktop only.

Feedback, feature requests and bug reports are very welcome — here or on GitHub: https://github.com/xujialiu/Zotero-TTS/issues
  • BTW, if Zotero want to charge for premium voice and my local voices block the profit of Zotero, please contact me and do let me know. And I will remove the function of adding more voices.

    I respect all efforts and works done by the Zotero team and this plugin is just something I do for enhancing my own experience of the already very good read aloud function. No intention to hinder the Zotero team interest.
Sign In or Register to comment.