What is Easy Text To Speech for Android? (EasyTTS)

A Text To Speech Application for Android (OS v2.2 - v4.2.2).

Main Features:

* Clipboard Monitoring for instant Text To Speech from any App.
* Web Page and News Article Reader with much improved Text scraping functionality.
* Automated Text Import from Sharing support, direct text import or from File Manager text file launching and clipboard synchronisation.

* Type and Speak it. Reads and speaks aloud anything you type or edit. Loop mode of selected text activated by a Long Click of the Play button.
* Speak and follow by Sentence, Word, Letter by Letter (and pronounce), NATO (Alpha Delta Foxtrot etc.) and Morse Code (Dit Dit Dah).
* Incoming SMS Text reader and Caller Id Name reader to speech (simple implementation).
Accessibility, Dyslexia Assistive Technology or educational reading aid, correct pronunciation tool. Background processing.
Clip Manager, stores clipboard history and Shared data activity, manage clips into groups, templates or easy clip notes. One touch copy or speak aloud clip texts in Sound Board Mode, which may help communication for people who have difficulty speaking.


Free Android TTS Engines:


App Downloads:


How to use Easy Text To Speech 

Select and Copy text from any application and hear it spoken back to you automatically. No need to Paste and click extra buttons.

The App also responds to Shared links as a powerful Web Page and News Article Text Reader. Text files can be imported directly when launched from any File Manager. Or just free hand any text for processing to speech, from a functional feature rich user interface where many buttons support dual actions driven by short and long click support.

If you cannot hear any speech or the speech sounds poor then check the "TTS Settings" then the "Install Voice Data", Google Play will link to, download and install free voice data files. There are plenty of great sounding free voices to choose from. Then be sure to check the preferred Language is installed and selected.

If your device's CPU performance will allow, try downloading a more friendly voice from INOVA. There are plenty of great sounding free voices to choose from.

There are a number of ways to get text into the App, simply by copying text to the clipboard, via the Android "Share" data feature or from any text file shared import from 3rd party File Managers Apps such as File Expert.


Button Actions: 

|<< button : rewinds to select previous sentence. Long click rewinds to start of text. 

>>| button : steps forward to select next sentence. Long click forwards to the end of the text and selects the last sentence. 

Play & Speak button : starts speaking from the selected text point. Long click will initiate Loop mode for any selected text. 

II Pause button : stops speaking text aloud, pauses on last sentance processed in the application. 


Copy button : copies selected text to the clipboard (silently). Long click copies all text to the clipboard. 

Paste button : pastes text from to the clipboard into the text at the current cursor point. Long click paste overwrites all the text with any text in the clipboard. 

Clear button : clears the text and stops all speech processing. Long click also resets the clipboard after saving the contents to the Undo list. 

Undo button : steps through the texts stored in the undo list. Long click restores the last undo stored. 

Hide button : hide the App like the Android Home or Back actions. Long click will ask if you wish to Exit and close the App. 

Progress / Seek bar : is a visual progress indication for text processing. Can be clicked or dragged to quick index into the text by moving the text selection marker. 


1. If you press "Hide", "Home" or the "Back" button, the user interface will disappear but clipboard monitor will remain active for any text copied to the clipboard. 

To activate this application, either re-launch from the icon or click the Notification status bar message entry. Or just click the "Stop Processing" notification item which is very handy if you want to quickly stop a speech in progress. 

Alternatively, just re-launch this App or hold down the device's "Home" button and choose this App from the list of recently accessed Apps.

Note that some browser Apps may have options that hide the notification status bar, which when visible allows more control and feedback over the Easy Text To Speech processing.

2. Navigate to any Text Message, hold down a long click and then click "Copy Message Text" to hear the message spoken out clearly, whilst some of the standard Text Message emotions and abbreviations may be expanded into words.

Precise functionality may vary depending on your Android Operating System and it's Cut and Paste features. 

Other in Application Features: 

Loop Mode: Select some text and Long click the "Play & Speak" button to loop process up to 1000 times. Also allows the Preferences for Speech Rate and Pitch settings to be changed during Loop mode.

Navigation delimiters: For auto sentence selection highlighting based on text ending with the following characters : ; ? ! in addition to the full stop / period.

3. In the Android web browser (Gingerbread version), click the menu button, click the "More" option and then click "Select Text". Then on the web page, touch and drag to select text, then finally, single click the chunk of selected text, which will be copied and spoken aloud. 

Alternatively you can hold a long click on a piece of text, then manipulate the selection markers, when satisfied, click the selected text to Copy and Speak the desired text chunk.

Alternatively, long click on a web page address and click the "Share Link" option to direct the page to this App to extract text content for reading. Or in the text box in this App just type in the desired web address only and click the speak button. 

For FaceBook, take a look at FriendCaster to allow better Copy and Paste functionality or view FaceBook in a web page for mobiles at m.facebook.com

Plenty of mobile specific sites that allow text copying where the dedicated Apps do not. Eg. Try m.youtube.com etc.

4. There are quite a few other features supported in this App. Note the useful Text navigation buttons and play pause features. Also be aware that long clicks on forward and rewind buttons will move the selection pointer to either end of the text window. 

Other buttons such as Copy and Paste buttons also respond to long clicks. 

The Undo feature helps to retrieve any work lost accidentally, where a long click will retrieve the most recent edits. 


Shared Links or enter a web address, downloads and extracts web text from web pages, which can then be processed to speech. 

Export functions via the long click on the Copy button and the Share feature to supporting Apps, accessed from the device's Menu button then click "More" and click the "Share" option. 

A quick way to index into a large text is to swipe with your finger up the screen to scroll down into the text, locate your target text and press a long click on the first word, then from the offered context menu click the "Select Word" option. Now click the "Play & Speak" button to start speech processing from the selected starting point. If required, long click the devices Menu button to show the soft keyboard once again.

5. Please be sure to support the product by purchasing a license with the paid version.  
The application is useful and more great features are planned for the future.

So spread the word...


Trouble shooting, known problems and workarounds:
Bug: App spuriously speaks old text without warning.
Reason: Clipboard contains text that the service processes when the App’s service is restarted by the OS. 
Workaround: Disable SMS Text and Caller ID reader features or enable use of the “: ETTS” marker processing method to identify already processed clipboard text.


Issue: Copy the same identical text more than once and the Clipboard monitor fails to read aloud after the first copy.
Reason: Can only process new clipboard text if the EasyTTS service can detect a change in the clipboard contents. 
Workaround: Enable use of the “: ETTS” marker processing method to identify already processed clipboard text (which pollutes text with the marker text at the end). Or copy something else to the clipboard then try again to force a change in the clipboard text, allowing change detection for speech output.


Bug: Web Page Article Reader doesn't properly decode the text from this web page when using the default extraction method.
Reason: Internal settings wrongly identify content as non content. Show me an App that does perform consistently with a variety of web page designs. 
Workaround: Enable and use Full Extraction Text method.


Issue: App starts using 40 to 80MB of memory.
Reason: Unknown, seems greedy to me.
Workaround: Restart App or the OS may decide to restart the App anyway. May give the impression of a slow device as memory is recycled from App.


Bug: App freeze on launch or takes too long to start up or swap into memory from cached Apps (by the OS).
Reason: Unknown.
Workaround: Wait or restart App. Sometime the OS restarts the App if memory gets tight.


Bug: Clip Manager freeze on launch.
Reason: Occasionally the clip database malfunctions and becomes locked (rarely).
Workaround: Restart device and Android OS to free up file lock.


Bug: Text ‘Skipping’, in App speech processing malfunctions and jumps around the text.
Reason: On some faster new device's, some how more than one speech processing thread gets initiated and they interfere with each other, normally when Copying large texts.
Workaround: Click the stop processing status notification or the Clear button in the App.


Issue: App fails to revert to default TTS language and Accent.
Reason: On older OS versions this is an API problem not handle correctly in the App software.
Workaround: Go into the OS TTS Setting and click the ‘Listen to an Example’ to force the default language or use the Accent selector in the App.


Issue: The TTS language and Accent doesn't work properly on Jelly Bean OS. 
Reason: Developer requires a new phone to develop against.
Workaround: Unknown, none yet.


Bug: App fails to come to the foreground when requested.
Reason: Hanging on to old ‘intent’ from OS, eg. an old hide request fires instead of the show bring to foreground.
Workaround: Try again. Slightly annoying.


Issue: App fails to start up at boot time.
Reason: Normally because the feature is only supported when the App is located on internal storage. External storage not always accessible at boot time.
Workaround: Move App to internal storage.


Issue: The App appears in many ‘Share Via‘ menus for data and file types not supported.
Reason: The App wants to respond to all shared text data. Developer knowledge gap.
Workaround: Unknown.


Bug: On newer OS versions and displays, the App button text can wrap and look awful. Sometimes the User Interface is confusing, especially if English is not your first language.
Reason: OS variations, screen sizes and options not available to the developer who only has an old Xperia Ray on Android 2.3.
Workaround: Wait until developer gets a decent up to date phone, sorry and the developer learns how to implement better looking graphics that is supported on over 3000 devices with various screen layouts.                                             



Other reported unconfirmed issues or problems:

Issue: Installing old Flash software fails to install.
Reason: Unknown, under investigation.
Workaround: Unknown. User recommend temporarily uninstalling EasyTTS to install Flash software support.


Issue: Samsung Galaxy S3, App failed to start correctly after first install. Just kept cycling the EasyTTS About Information screen.
Reason: Unknown at this time but the device was rooted and tweaked.
Workaround: Restarted the phone and the App started up correctly. 


Issue: Bluetooth audio fails to resume after call answered.
Reason: Unknown, under investigation. EasyTTS has no requirement and does not communicate with Bluetooth activities.
Workaround: Suspect 3rd party software interaction with Bluetooth and OS media management. 


Easy Solutions UK: Email the developer at EasySolutionsGlos@gmail.com


Appendix:

Text filtering tries to remove some of the tedious formatting characters and some text that certain TTS engines fail to intelligently process to speech. Whilst other TTS Engines may be far superior and won't benefit from such pre filtering. This is particularly noticeable by users with regard to punctuation and pronunciation problems and often to do with the quality of the chosen TTS Engine. 

Text Filtering Rules:
For preparing text for smoother speech processing (in order of implementation).

"http://" replace with "web page"
"https://" replace with "web page"
"www." replace with "web page"
":\" replace with "file path"

":-)" replace with "smile"
":)" replace with "smile"

";-)" replace with "wink" 
";)" replace with "wink" 

":-(" replace with "sad"
":(" replace with "sad"

":’-(" replace with "crying"
":’(" replace with "crying"

"8)" replace with "cool"
"B-)" replace with "cool"
"B)" replace with "cool"

":-*" replace with "kiss"
":*" replace with "kiss"

":-P" replace with "tongue poke"
":P" replace with "tongue poke"

"O:-)" replace with "angel"
"O:)" replace with "angel"

":-O" replace with "gasp"

":-[" replace with "embarrassed"
":[" replace with "embarrassed"

":-$" replace with "money mouth"

":-!" replace with "scared"
":!" replace with "scared"

":-/" replace with "erm"

":-D" replace with "laughing"
":D" replace with "laughing"

"o_O" replace with "confused"
":O" replace with "yelling"
"=-O" replace with "surprised"
":-X" replace with "lips are sealed"

"2moro" replace with "Tomorrow"
"2nite" replace with "Tonight"
"BTW" replace with "By The Way"
"B4N" replace with "Bye For Now"
"FWIW" replace with "For What It's Worth"
"FYI" replace with "For Your Information"
"GR8" replace with "Great"
"IMHO" replace with "In My Humble Opinion"
"L8R" replace with "Later"
"OMG" replace with "Oh My God"
"THX" replace with "Thanks"
"STBY" replace with "Sucks To Be You"
"SWAK" replace with "Sealed With A Kiss"
"ROTFLMAO" replace with "Rolling On The Floor Laughing My Ass Off"
"LMAO" replace with "Laughing My Ass Off"
"TTYL" replace with "Talk To You Later"
"TLC" replace with "Tender Loving Care"
"WTF" replace with "What The Feck"
"WYWH" replace with "Wish You Were Here"
"XOXO" replace with "Hugs and Kisses"
"XXX" replace with "Kisses"
"xxx" replace with "Kisses"

"Mr. " replace with "Mr "
"Mrs. " replace with "Mrs "

"***" replace with "*"
"**" replace with "*"
"**" replace with " "

"___" replace with_");
"__" replace with_");
"__" replace with

"===" replace with=");
"==" replace with=");
"==" replace with

"...." replace with "."
"..." replace with "."
".." replace with ";"
".." replace with " "

"[" replace with "("
"]" replace with ")"

"C#" replace with "C sharp"

"#" replace with "HASH"
" HASH  HASH " replace with HASH

"^" replace with CARET
" CARET  CARET " replace with CARET

"`" replace with "'"
"‘" replace with "'"
" '" replace with " "
"' " replace with " "
"\" replace with "slash"
"  " replace with " "
"\r" replace with " "
"\n" replace with " "
"." replace with "; "