-
-
Notifications
You must be signed in to change notification settings - Fork 300
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make text-to-speech feature more discoverable #672
Comments
This is not a bug/issue. The described feature already exists in Foliate.
Note: For this all to work you need to have a TTS reader - i. e. |
@itprojects additionally I had to set the TTS command in the settings, but now it works. Perhaps this should be clearer in the UI? It only showed after I configured it in the settings. Maybe it should just show by default, except the TTS button/dropdown item for "Start from here" are disabled (with a hint saying to configure it) |
@dspacejs From the README.md:
Adding a suggestion to the UI implies that there only a very specific set of apps to check for Text-to-speech (TTS). This is a problem, because there are many apps that can provide TTS. Some are online, some are offline, some are FOSS, some are blobs. A detection mechanism will give false positives, thus causing more confusion. |
@itprojects people shouldn't have to read the full README to know that. I downloaded this app a long time ago, so even if I saw that bit in the README, I must have forgot. The UI should make it obvious rudimentary functionality like this exists and be seamless. You don't have to auto-detect the TTS. I see two feasible solutions:
The first is far more preferable and is seamless. It works without any configuration. It also means the user doesn't have to bother going through the different TTS options, select the best one, review the different CLI options and configure it. I've never used TTS on Linux before, so it's a significant hassle to have to do that. Additionally, I don't think people should be forced to read READMEs to use basic software like this. Especially users who aren't technical. In order for Linux to become mainstream, the front-end of software needs to be seamless. This is a mistake I've seen a lot of developers make, that if fixed would improve the platform a lot. Not only that, but even technical users like myself don't always have the time for this sort of thing, everything should just work by default. |
@dspacejs Option 1 creates a permanent dependency barrier to Foliate adoption. It can also cause compilation problems for those (and there are some) that want to compile from source. The better would be Option 2 "Grayed out button", since the button is already there, just need to disable, instead of hide. Then the user will look at the You are right that maybe the design of this part of Foliate should be looked at, but design is no panacea. |
The button doesn't have to be grayed out. If the TTS command is not set, it can just show the TTS configuration dialog when you click on it. One downside of this is that it can be a little distracting for people who don't use TTS at all. |
@johnfactotum Perhaps an updated Readme.md with a section on the typical settings? List of known configurations: espeak-ng: espeak-ng -a 100 -g 1 -p 50 -s 160 espeak-ng -v mb-en1 -a 100 -g 1 -p 50 -s 160 spd-say: spd-say -e -w -p 50 mimic: mimic -f /dev/stdin mimic -f /dev/stdin -voice slt |
Closing this in favor of #829 |
Is your feature request related to a problem? Please describe.
It'd be great if you can listen to your books with a text-to-speech feature, which can transform any eBook into an audiobook.
Describe the solution you'd like
A button somewhere for text-to-speech. Highlight the active word currently being spoken, and automatically scroll the page to keep in sync with the current spoken word. Perhaps also skip redundant text, like the table of contents.
Describe alternatives you've considered
Not all books have audiobooks. It'd also be handy to do this, so you don't have to get a copy of an audiobook for whatever book you're reading.
The text was updated successfully, but these errors were encountered: