Announcing ZoTTS - A Text to Speech Plugin for Zotero!

Hi everyone!

After a long wait (for me too, this project idea is over a year old), ZoTTS is finally ready for release!

You can find it here: https://github.com/ImperialSquid/zotero-zotts

---

The plugin should work out of the box, no need to install external tools, and all your data is kept locally so no privacy concerns there either.

The plugin lets you use both shortcuts and UI elements to access the TTS features.

By default, the shortcuts are:
- Ctrl/Cmd + S will begin speaking (Ctrl/Cmd + Shift + S will modify how it works)
- Ctrl/Cmd + P will pause
- Ctrl/Cmd + C will cancel

When in the Library tab:
Ctrl/Cmd + S will speak a paper's title, Ctrl/Cmd + Shift + S will speak its abstract

When in a Reader Tab:
If some text is selected, Ctrl/Cmd (+ Shift) + S will speak that text
If no text is selected, but some annotations are selected, Ctrl/Cmd + S will speak the annotated text, Ctrl/Cmd + Shift + S will speak the attached comment if available

There are also play/pause/cancel buttons in the top right of each Reader tab, these act the same as their respective shortcuts (note: speaking an annotation will always speak its text not the comment for simplicity, though I'm open to changing this if people want it!)

There are also a bunch of settings so you can get ZoTTS feeling just right!
- Enable/disable queueing - if you attempt to speak multiple items, should ZoTTS queue them all or just speak the most recent?
- Adjust the voice, rate, pitch and volume used
- Voices are all local to your computer
- If you're on Windows, you can go to Settings > Time and Language > Speech > Add voices to enable more built in ones. Non built in voices are available in various places online, paid and free.
- I'm not sure what's available on macOS and Linux since I don't use those, sorry
- Tweak shortcuts
- You can change the letters for speak/pause/cancel to whatever you like
- You can also reverse what happens when you use Ctrl/Cmd + S vs Ctrl/Cmd + Shift + S

---

Do bear in mind, this is the very first release and is my first project in this programming language, some slightly jankiness is inevitable...

Anyway, I really hope this is useful to everyone! I got my ADHD diagnosis part way through my studies, so I know first hand how useful this kind of assistive tech can be.

Do let me know if you run into any issues by opening an issue on GitHub: https://github.com/ImperialSquid/zotero-zotts/issues

I'd also love to hear any feedback people have (positive remarks, feature requests, constructive critiques are all welcome!), here or at my email, wherever is most comfortable!
  • It's working well for me so far! My only problem is that I have to select the text I want it to speak and cannot make the TTS continue past the selected text. Highlighting on Zotero is already a little finnicky and having to re-highlight every new page/paragraph is irritating.
  • Thanks for your comment @Thomas. Rivera, yeah others have mentioned about that and it's definitely my primary focus at the moment!

    The reason it wasn't available from the beginning is that getting the raw text looked to be much more of a headache than getting the text selection (due to privacy/security stuff built into Zotero), so for now I thought I'd just release a version that worked _somewhat_ rather than delay waiting for the optimal solution. But rest assured it's my top priority before other features!

    Glad to hear it's working well for you otherwise! :D
  • Hi!

    Very excited to learn of this plugin, it's a much-needed addition! For some reason, I haven't been able to get it to work (pressing the play button, using shortcuts no reaction, although the plugin was successfully added on zotero 2). Any similar experiences that might help me get it working? I'm on a mac, using the latest version of zotero 2.

    Thanks for working on this, I'm sure it's going to be really helpful for a lot of people!
  • Hi @johnkaye

    Apologies for the slow reply, was away from everything visiting family. I'm glad the plugin seems useful to you, sorry to hear it's not been working though.

    A fair few Mac and Linux users have reported the plugin not working correctly annoyingly (I think it has something to do with the way the TTS engine loads on these machines vs Windows machines). Though I've been doing some digging and I have a few ideas that should help improve stability that should be coming soon!
Sign In or Register to comment.