Home / GitHub Page

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.

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.

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.