Text to speech

Hi. I’m using recently the Joplin software and it is great.

However I would like to have an option for Text to Speech to listen to my notes, something that I use a lot in KyBook for iPhone.

Hopefully will be possible to add a similar feature in Joplin.

1 Like

On which plateform do you want to use TTS ?

I all of them if possible.

on android there are tools for that. you copy your joplin note and paste the text in it and then It reads the content

This days every platform have a tool for TTS, but will be more convenient to have-it straight in the Joplin, instead of copy-pasting text between apps.

I don’t think’t that’s feasible. Every TTS has it’s own engine and Joplin would have to know which one, if any, comes inbuilt with your system. Even on Windows, Joplin could only work with the built in TTS and not any TTS engine you install after.

Nice idea, something I myself wouldn’t mind seeing. I just don’t think it’s going to happen any time soon.

Can’t the TTS engines simply be configured to send the text to the currently active textbox? Basically acting like a keyboard. Then it would work with Joplin as well as any other application.

Not really how TTS engines work. Though, what you are describing is a screen reader. A program that read the text on screen; or, to be precise, calls the TTS engine and voice of your choosing to read the text that is being displayed. Depending on how advanced they are they can indeed be made to only read selected text.

The problem is of course that for non blind users screen readers are annoying since they tend to read all the text on screen. That includes the menus, context menus when they’re opened and so forth. And they tend to restart from the start if they are interrupted. Also, most don’t really work all that well, especially the ones for non android Linux systems.

You’re right, I looked at it the wrong way around. Indeed TTS would require Joplin to directly the service by giving it the text that needs to be read.

I see there’s a React Native lib there: https://github.com/ak1394/react-native-tts

@zohozer, how does it work on KyBook? Do you press some icon or some menu item to make it read the note? Once it starts reading, how do you stop it? If you still have the app on the KyBook app on your phone and could post a few screenshots that would be great.

1 Like

KyBook screen recorded

Thanks for the info. That will serve as reference if we ever implement this. I guess a minimal implementation then would be a way to play the selected text, and a floating toolbar to pause or stop the playback.

For me it seems that the TTS module from KyBooks it is selecting the paragraphs by itself. Only need to select a word at the beginning to get the popup menu where it is the button for TTS and launch this module, after that the TTS engine it is reading ALL the text down to the end of document from initialization point. Also seems to have option to go back and forth in paragraphs, easy navigation.

Man before joplin I was keeping using notepad++ for a lot of note taking, and I really love the TTS plugin. I really wish there was something like this for joplin!!

1 Like

Me too!
There is a LibreOffice extension (named VOX-DL) which allows you to read the selected text (with a "stop" button if you want to stop reading).
It would be nice to have this kind of plugin for Joplin.
Bernard

Just a mention that TTS engine Piper (easy install via GitHub - Elleo/pied: Pied makes it simple to install and manage text-to-speech Piper voices for use with Speech Dispatcher.) works reasonably well on GNOME with its built-in screen reader (orca)

UPD: there's an upstream bug tho Keyboard when Screen Reader is enabled on Ubuntu 20.04 · Issue #24506 · electron/electron · GitHub


tags for search

Text to speech, Linux, Ubuntu, Fedora, blind, read aloud, reading out loud, speech-dispatcher, Accessibility, Voice Synthesis

related: Voluble reads Joplin notifications out loud

1 Like

I would be interested in implementing this at some point (particularly now that we have plugin support on mobile).

Maybe this could use the Web Speech API? Based on a quick test, however, the Web Speech API doesn't seem to work on my Linux system.

It might also be possible to compile Piper to WASM and bundle it with a plugin.

1 Like

Not for Joplin specifically, but for GNOME desktops (Linux, GNOME shell ver. < 45 for now), I have been using Piper (integrated with Speech Dispatcher or standalone, see repo.) in my GNOME shell extension "voluble" to read mouse-selected text. See GitHub repository. Also here.
This is the same extension that provides text-to-speech notifications of Joplin events:

2 Likes