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!
  • Hi @Imperial_Squid

    Thank you so much for making this plugin, I've been on the lookout for something like this for over two years now!
    Unfortunately when trying to connect the plugin with Zotero I keep getting the same error message and I don't know how to fix it... I will show the message underneath this text. Do you know if it is a problem I can fix myself or did something brake in the plugin?


    https://s3.amazonaws.com/zotero.org/images/forums/u10495284/vw4gbhjjzgiuvokk0b71.png (I added English translations since my pc is in Dutch)
  • I am experiencing the same error ("The add-on "%S" could not be installed. It could be incompatible with this version of Zotero") when I try to install the plugin.
  • @DDBuck

    Sorry for the slow reply (Zotero forums unfortunately don't send emails about replies to threads etc, so it's on me to manually check in now and then...!)

    That error is due to the fact that ZoTTS is only compatible with Zotero 7+, if you download the latest version the plugin should work fine.

    (Apologies for any inconvenience caused by it not working with version 6, there were a lot of changes made under the hood between both versions which would've made coding it for both tricky in places, 7 was released just as ZoTTS was getting ready for it's first version so the plugin only supports 7 and later)

    Do let me know if you run into any issues! (GitHub issues or emails are pretty reliable, though I'll endeavour to check in here more frequently too)

    ---

    @dhutton2002 apologies to you too for not seeing your reply here, thanks for opening a bug report about it though, GitHub is a much more reliable way to get my help
  • > Zotero forums unfortunately don't send emails about replies to threads

    Errr... yes, the forum certainly sends such e-mails.
  • It did for that one, but previously it's not with any consistency though, the only emails I have about forums posts are from your comment, ones on Sept 15th, Aug 24th May 1st... ¯⁠\⁠_⁠(⁠ツ⁠)⁠_⁠/⁠¯
  • I would suggest posting a message specific to that problem, then. Let the forum admins know, so that someone can take a look under the hood :-)
  • Fair point lol, it's never been a major issue but you're correct that it would be a good idea to report it...!
  • It did for that one, but previously it's not with any consistency though, the only emails I have about forums posts are from your comment, ones on Sept 15th, Aug 24th May 1st...
    My guess is you received the first email, but did not visit the thread after that, hence no new notifications until you revisited. See forum guidelines here, https://www.zotero.org/support/forum_guidelines#be_responsive
    After posting to the forums, be sure to follow up. You'll automatically receive an email notification the first time someone replies to a thread you've posted to, but you won't receive additional notifications until you visit the thread again, so it's a good idea to click through to the thread to ensure that you're notified the next time someone responds.
  • Thanks for the explanation, I wasn't aware of this refinement.
  • Hi! If I want to skip footnotes while listening, what should I put under the Substitutions section?
  • Hi @sahanarajan18

    Apologies for the late reply.

    The substitutions section is more intended to fix pronunciation issues in words/phrases, but I can definitely try finding a solution for you!

    Would you mind opening an issue on the GitHub repo? It just makes it a little easier for me to collect information and manage things (plus I'm more active there).

    Thanks.
Sign In or Register to comment.