olivierkes / manuskript

A open-source tool for writers
http://www.theologeek.ch/manuskript
GNU General Public License v3.0
1.74k stars 230 forks source link

[REQ] Adding Text-To-Speech (TTS) functionality #575

Open b16r05 opened 5 years ago

b16r05 commented 5 years ago

This maybe much and out of scope, but what about adding TTS functionality into manuskript. Some writers want to hear back what they have written... written parts could be highlighted to be read back to the writer to see how they sound.

My suggestion... Mycroft's TTS Tech: Mimic. https://mimic.mycroft.ai/ https://github.com/MycroftAI/mimic1 https://github.com/MycroftAI/mimic2

worstje commented 5 years ago

I think this may be out of scope of the project, given that it is focused on producing written prose and supplying the tools necessary to make this more feasible... and thus not so much on experiencing the prose itself.

That having been said, I guess TTS could have a usecase when you want a different experience of what you wrote. (I personally wouldn't be able to get over the typical wooden pronounciation and uneven rhythms that result from it, but I am not all people.)

Wouldn't it be smarter to rely on whatever functionality the OS offers for this, though? That would likely cover a lot of customization a user of such software would likely want configured: gender of the voice, the accent and other such details.

I'm not saying using Mycroft or another package is out of the question, but requiring yet another package to be installed to enable a particular bit of functionality is just going to keep adding to the overall complexity of using Manuskript.

In the meanwhile, can't you use some sort of script that responds to a hotkey, recognises the selected text in whatever program has the focus, and then triggers Mycroft with that? I am not saying people won't implement it, but that you might be easily able to script up something that matches your needs without having to wait for someone to also care about this who wants to implement it.

b16r05 commented 5 years ago

@worstje Thank you for the reply. As I thought, TTS might be much... and I agree.

I did find a youtube video [https://www.youtube.com/watch?time_continue=2&v=U25vhhE50kI] showing how Microsoft Narrator can be used. Currently, I am not selecting the text within Manuskript for narration as, using hotkeys crashes it sometimes [especially if both apps map the same hotkey]. But, copying the text into notepad(++) and having the narrator read it works fine.

Maybe someone will create a skill for mimic/mycroft and it could run at the OS level and get trigger from within Manuskript without issues. We'll see!

Eusorph commented 5 years ago

Let me say this as a user and a writer: text to speech is not at all out of scope. Having you novel read back to you is not something fancy, it is instead something incredibly helpful in the editing process, because you get to feel the flow much, much better -- and you can also catch typos much more easily. Reading it yourself is not the same at all. I have used it for several years now on Scrivener, and it is one of my favorite functions. Please, do integrate this into Manuskript. I really love the software and have already dumped Scrivener for it, but I still need to use it during editing because it has TTS, where Manuskript doesn't. Specifically, integrate the "Play from cursor point" function. Having to select and play doesn't cut it.

worstje commented 5 years ago

Your arguments make sense, and perhaps it is not as out-of-scope as I thought it was. I can see how it could be a useful feature in the creative process.

That having been said: there is a lot of stuff that needs to happen on Manuskript, and we do not have very many contributors working on the project. With limited manpower, there is only so much we can do. For example, my own limited efforts are mostly in the realm of fixing bugs and cleaning up the code to make it more accessible and contribution-friendly in the long run, but I mostly do this when the mood strikes me.

While new features are not out of the question, it would be easiest to find someone who is enthusiastic about implementing it. Besides that, it helps to have enough users desire this feature in comparison to other features that have been requested: knowing that a feature is that popular might help motivate an unrelated coder to go about implementing it.

We're all volunteers here who make contributions for our own reasons on our own time. So if you really want to see it implemented sooner than later, I'd suggest implementing it yourself if you can, or if that is outside of your skillset to perhaps find a different way to contribute to Manuskript so that your needs hold more sway with others who do have the skillset to implement the feature. 😄

obw commented 5 years ago

This feature is for me a classic example, that a Plugin Interface would be nice.... Without it, i say, there are mor needed features and fixes!

Eusorph commented 5 years ago

I think a plug-in would be great. When I used Word to write, I also used Nextup Textaloud plug-in to have text read back to me. It was perfect in that it had a "read from cursor position" that worked perfectly. And it did highlight words as it spoke.

Eusorph commented 5 years ago

In regards to voice engine, I wouldn't spend time on it. The only good voices are the Ivona ones and some of the Nuance. The rest is garbage and more distracting than anything. I would only spend time implementing a plug-in of the functionality of "read from cursor" and "highlight words as you speak" leaving the actual voice engine alone. Just my two cents, but based on years of using the various voices, Scrivener text-to-speech and Textaloud Word plug-in.

gedakc commented 5 years ago

Re-opening this issue in case someone wishes to work on it.