drmfinlay / tts-util-app Goto Github PK
View Code? Open in Web Editor NEWTTS Util — Text-to-speech utility Android app for synthesising text into audible speech
License: Apache License 2.0
TTS Util — Text-to-speech utility Android app for synthesising text into audible speech
License: Apache License 2.0
If I'm trying to save more than one long string of text in sequence, the latter will overwrite the previous.
It would be extremely useful to set those output names before execution starts so that multiple jobs can be queued, without waiting for generation, and processing of each, and renaming each manually.
Dear developer!
In the process of using, I found a bug in layout / display. As shown in the figure, in the first page, the text in the red box is half blocked. This may be an adaptation problem. I suspect it is because display and font size are set to large (mainly due to display size).
Because of some problems with my eyesight, I often use the largest font and display.
App version is 2.0.2, my mobile phone is Google nexus 6, screen resolution setting is 1920* 1080, font size and display size are the largest ! ! !, Android system is 8.0.
The above is a description of the problem. The overall experience of the software is good. You can see that the design is very attentive. Thank you very much for the efforts of the developers all the time. I hope to receive a reply.
Thank you!
Thank you @relan for reporting this bug in fdroiddata merge request 5900. I've pasted your report and steps below.
I stumbled upon the following issue initially. I have a tablet with AOSP 8.1. Pico TTS has a language setting set to system, which is none of the supported ones. When I was trying to speak some English text aloud, it didn't work. Steps to reproduce:
- Check the languages in the Pico TTS settings. Mine has only English, Spanish, Italian, German and French. Set to System.
- Set the system language to any but mentioned above.
- Start TTS Util and try to speak some text.
- Nothing is spoken, "Speech in progress" notification appears, "Stop speaking" button does nothing. Expected result: an error message saying that I should choose a supported language in the Pico TTS settings.
Device: OnePlus 8T (kebab)
OS: LineageOS 18.1, Android 11 with no GooglePlay Services installed
I installed version 4.0.0 via F-Droid. When I click the top right button to initialize, the message first says "initializing text-to-speech" and then "No text-to-speech engine available". Furthermore, when I navigate to the app settings and and click on TTS Engine (first item from the top) I get a dialogue box which says "Select the TTS engine." but doesn't show any items.
The problem is that I have installed both RHVoice and eSpeak. Both engines can be selected in the system settings and at least RHVoice is working inside osmAnd, Librera and FitoTrack. TTS Util seems to be the only app that displays this type of behavior.
I would be nice to add a setting:
Could be really useful for some people.
bug
Selecting the directory where wave files are saved is not possible at the moment. This is a confusing limitation of the app. It was my intention from the start to include this, but I couldn't quite figure out how to bring up a UI for directory selection. I hope to add this in a future version of the app.
Markdown url [](url) speach, but do not
It would be great if I could paste an URL, then it downloads the resource and read it.
This app could register itself as an option to open URLs, opening directly into its "Read URL" mode.
Improvements when mime type is text/html or the extension is html:
<script>
or <style>
, remove all tags <[^>]*>
and translate &abc;
occurrences.<H#>
or inside <article>
.Hi Dane, congratulations on releasing version 2.0.
Unfortunately, I'm unable to have it 'Read from File'. Doesn't seem to matter which TXT file I choose, short or long, it crashes with the following;
https://imgur.com/a/mLVZCde
As my phone doesn't allow me to select the crash report text, I'm unable to upload it as plain text. If I find a way of extracting it, I'll include it.
I'm running 2.0 from the GitHub releases page, using a Mi 9T phone running Android 10.
Let me know if you need any further information.
When I read a PDF can you please Remove some line breaks (preserve paragraphs)
Like in
https://www.textfixer.com/tools/remove-line-breaks.php
And
lesleyrs/clipboard-narrator#1
/n
As of the time of writing, Google requires that new app releases on their store target SDK level 30 or above, i.e. Android 11. See this article for more information.
The new Android Extension Library (AndroidX) seems to be required to target SDK level 30 for applications that use the support library. The "upgrade" to AndroidX is supposedly easy to do. Unfortunately, I have had quite a bit of trouble with it; moving to AndroidX breaks the application — hence the scare quotes. Since this requirement of Google's has held me back from releasing a new version of TTS Util, new releases on the Play Store will be, at least, staggered. The F-Droid store and the project's Releases page are where users should look for new versions.
If I manage to get AndroidX working, I will make a follow-up comment here.
The dark mode if done can support settings like follow system, battery saver or choose a light, dark theme.
Android 13 has been here for a while and Android 14 is already on the verge of release. Can you please target Android 13 or higher?
Hello, just what the title says. I tested it on a Samsung tablet as well as various AVD, it is 100% reproducible for a given file but I don't know if there's a limit on the file size or spoken length or what. For files above ~90-100kB, as soon as the text to speech conversion is 99% in the bar, the TTS Util app crashes and no file is saved.
hello Danesprite
I would like to have tts-util-app Function keyboard
Applied to language learning. Pronunciation correction
Learning a foreign language. Example Russian German I don't know how to speak, TTS taught me to speak
Text-to-Speech Always speak typed keys speak Phonetic letters are spoken when long pressing on keyboard keys and navigating by character.
example,
l only want to talk when you press keys on the keyboard, not to read the screen
https://play.google.com/store/apps/details?id=com.google.android.marvin.talkback
https://www.youtube.com/watch?v=YPBn6D6pf78&t=207s
l only want to talk when you press keys on the keyboard, not to read the screen
I saw this error just after downloading and running the project on an Android 6.0 device.
Did a little change before run - "distributionUrl=https://services.gradle.org/distributions/gradle-7.2-bin.zip" Also tried without changes
after this change, I got this error during the app run
2023-10-07 19:11:07.457 2589-2691 WorkSourceUtil com.google.android.gms E Could not find package: com.danefinlay.ttsutil
2023-10-07 19:11:07.599 2589-9292 FA-SVC com.google.android.gms E Error deleting application data. appId, error: com.danefinlay.ttsutil, android.database.sqlite.SQLiteException: no such table: trigger_uris (code 1): , while compiling: DELETE FROM trigger_uris WHERE app_id=?: bgrr.w(:com.google.android.gms@[email protected] (040400-570218080):100)
.
.
.
.
.
2023-10-07 19:11:53.933 10118-10198 JavaBinder com.danefinlay.ttsutil E *** Uncaught remote exception! (Exceptions are not yet supported across processes.)
java.lang.NoSuchMethodError: No super method onRangeStart(Ljava/lang/String;III)V in class Landroid/speech/tts/UtteranceProgressListener; or its super classes (declaration of 'android.speech.tts.UtteranceProgressListener' appears in /system/framework/framework.jar)
at com.danefinlay.ttsutil.TTSTask.onRangeStart(TTSTasks.kt:431)
at com.danefinlay.ttsutil.TTSTask.onStart(TTSTasks.kt:425)
at android.speech.tts.TextToSpeech$Connection$1.onStart(TextToSpeech.java:2106)
at android.speech.tts.ITextToSpeechCallback$Stub.onTransact(ITextToSpeechCallback.java:55)
at android.os.Binder.execTransact(Binder.java:458)
.
.
.
.
2023-10-07 19:11:53.938 10118-10198 JavaBinder com.danefinlay.ttsutil E Forcefully exiting
.
Whenever I try to open the TTS Util app it keeps stopping.
I'm running version 1.0 on a Xiaomi Pocophone F1 Beryllium with LineageOS 17.1-20200413-NIGHTLY-beryllium ( Android 10) with all expected permissions allowed.
Hi,
with activated "playback on input" option it plays immediatley each letter i entered. And after finishing the word with an additonal space it speaks the hole word.
I would prefer the behaviour of only speaking the hole word instead of each letter seperatley.
Best, Carl
It would be nice if it were possible to exclude a voice from reading:
I think that such options can be made in the settings.
Would it be possible to pass text to TTS Util using adb and an intent? I'm just curious because I'm using Waydroid on Linux and I'm exploring options to pass text to Waydroid in various ways. There's not a lot that can easily be done because everything under Waydroid is owned by Root. Port forwarding could work but then I can't pause TTS playback. It would be nice to use ADB to pass text to tts util.
Thank you for your work, I get a lot of use and enjoyment out of it while I listen to novels all day and night lol
A user of TTS Util has been in touch with me and asked whether the app can be updated to generate wave files from input text. It shouldn't be too difficult to add this functionality, either through an additional button on the Read text screen or with an additional panel item and screen, e.g. Write text to file.
This functionality should be made to work for clipboard text too.
It shows "There was an error during speech synthesis" toast message..... Does it have limit for characters ? which we can paste and [speak text]
Hi there!,
First of all, I want to thank you for the time and effort you've spent to develop this program, as I find it really useful.
I think it would be great to have an option to pause and resume the current reading. For example, it could be implemented as a new button next to the stop icon which would pause the reading the first time you press it, and it would resume it with the next press. Or, you could transform the play button after pressing it into a pause icon, and once you've pressed the pause icon change it back to a play icon.
In a second iteration, maybe this could be implemented by syncing the current playback with a moving cursor in the text box, so it would move forward as it reads the text. With this feature it would be possible to go some words (or paragraphs) backward (or forward) just by pausing, replacing the cursor to a previous (or following) position, and then resuming the play.
Thank you very much.
When the system language is English (United States), open the app, its text-to-speech language is always the same even after changing it in the setting.
When the system language is German (Germany), open the app, it doesn't work, saying “Neither the selected nor the system speaker languages are available”.
Other system languages may also have such problems.
The model is SM-A9200, engine is Google Text-to-speech Engine.
Spanish Latin America
Because of an accident that I had recently, I am unable to speak for the next few weeks and I started using this app as a tool for communication. I like that the app is simple and clutter free, but I would suggest one addition and that is to give the user the possibility to save common phrases like "Yes" or "I'm ok with that" and have multiple buttons below the EditText
for quick access to those phrases.
Cheers :)
If the option to output to a compressed format such as mp3, aac etc was offered then folks could actually create audiobooks from ebooks in txt format such as from Project Gutenberg and then listen to them in the car. Vocalizer voices (UK Malcolm) has a great voice and works well with this app.
Will the recording include any alert sounds such as email etc that occur while the text is being read to wave?
I have received via e-mail a request to add to this application the ability to change the current text-to-speech language via markup in the input text. For example:
[lang="pl"] Text in Polish.
Text in Polish - next line.
[lang="en"] Text in English.
Text in English - next line.
The preferred voice for the language, if set in the application or system settings, can be used. An index might also be specified. For example:
[voice="pl-1"] Text in Polish voice one.
[voice="pl-2"] Text in Polish voice two.
Setting the voice pitch and rate might be done in the same way:
[pitch=0.75] Text spoken with a pitch of 0.75.
[rate=2.0] Text spoken with a rate of 2.0.
These options could be combined:
[lang="pl", pitch=0.75, rate=2.0]
The application settings should be restored at the end of audio playback or file synthesis.
I would say this is related to issues #17 and possibly #18, since markup text would not be included in the output.
Hello Danesprite
I really like this app and thanks for creating it and make it open source!
I had personally tried to creat a similar (toy) app that does similar stuff. Instead of using the share action. I opted to use the text action (my use case is use the app to read long articles), so I can select all text (in reader mode in firefox) and then click on the read to have the article read to me.
Due to nature of most of the articles, I found the built-in text limit for android tts too low for most of them, therefore I used a splitter to split long text (by new line) to work around that limit.
Just wondering, would you accept pull request that
The ability to select and process multiple text files would be a nice feature to have. I have in fact received requests concerning this feature via e-mail.
It is implemented now and will be released in the next version. Multiple text files may be read, or processed into wave files, in the order in which they are shown in the file manager.
update 10-7-23 - phone just upgraded to A13 - thought maybe the issue might go away with 13 but not to be - 13 is doing exactly the same as 12 did (described below); fyi
nobody else having this problem?
Android 12 phone - screen freezing issue when tts begins to read:
That describes the issue clear as can. Hopefully it would be an easy fix.. but have to say seems surprising if this issue has not come up before - unless it's just me (?). Fantastic app though - use it everyday Thank you for it..
Android's TextToSpeech API allows setting per-app settings including the preferred TTS engine, language/voice, voice pitch and speech rate (i.e. speed). If set, these settings will override the system settings.
Configurable settings for these things have been implemented in PR #5 and will be available in the next release soon.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.