yashsingh1/xdaforums huggingface dataset:
[G1 Android Development] Zillode:
TTSNotifier: Speech notifier for android - Incoming calls, SMS and more...

PRE DONUT: Download @ http://wilma.vub.ac.be/~lhoste/TTSNotifier-v1.6.php

DONUT: Download @ http://wilma.vub.ac.be/~lhoste/TTSNotifier-v1.7-4.php

Features:

- Incoming call speech notification

- Special incoming call ringtone which switches between ringtone and speech according to multiple parameters

- Incoming SMS (speaks personname and/or body of the message)

- Battery low notification

- Bad media removal notification

- Provider changed notification

- Media unmounted notification

- Open Wifi discovered notification (* should be switched on in the wireless settings)

- Wifi connected / disconnected notifications

- Set volume for the notification

- Obey silent mode of the phone (does not notify when phone is in silent mode)

- All spoken text can be user specified

- Multi-language support

- More? post!

Dependencies:

- TTS library (Text To Speech Service on the market)

Plans:

- Speech rate

- Calendar notifications

- Download completion

- Funny sentences (let them come!)

Plans - low priority:

- Tri-color LED quickly loop through the 7 colors while it is ringing

Known problems:

- When TTSnotifier starts to play the ringtone before the (built-in) dialer applications, it will skip a ringtone because the dialer stops all music (I think - can any1 help with this one?)

Changelog 1.7 (SDK 4) - 17/09 01:28

- Donut speech!! WOOT

Changelog 1.6: - 12/09 15:12

- Added test TTS button

- Nothing special actually

Changelog 1.5: - 25/08 15:16

- Multi-language support! (EN, FR, NL, DE) (if you wan't another language, please send me strings)

- work-around for TTS returning false on .isSpeaking() too fast

Changelog 1.4: - 25/08 00:14

- Volume settings

- Option to disable built-in ringer (lower volume to 1)

- pause between intervals option

- number of TTS repeats

Changelog 1.3: - 24/08 18:30

- SMS notification

- BATTERY_LOW

- MEDIA_BAD_REMOVAL

- PROVIDER_CHANGED

- sdcard unmount (mount not possible since TTS uses the sdcard to store it's wav files)

- Fixed wifi connected msg

- Added priority option

- WOOT

Changelog 1.2: - 23/08 22:03

- 'Special TTS ringtone' which allows you to define the number of rings before the TTS starts; then loops

- User defined text for incoming call, and wifi notices

Changelog 1.1: - 22/08 00:46

- Added preferences for all settings

- Added check on silent mode

- Bugfix where TTS starts when the call is allready on (issued by IConrad01)

Changelog 1.0: 22/08 17:50

- Renamed the project to TTSNotifier

- Added Wifi connect/disconnect TTS

- Does not need to run on the background!! So use of taskkiller is allowed and your battery life will not be affected

Changelog 0.9:

- Added TTS for incoming calls

Follow me / Code @

http://github.com/Zillode/Android-TTSNotifier/tree/master

(spawned from this thread: http://xdaforums.com/showthread.php?t=550548)

If you like it you can donate here, thanks!
[G1 Android Development] happyface_0:
I got this from that other thread, and it works great
[G1 Android Development] Baldyman1966:
Sent you a PM but may as well post here. I have a dev account and am always willing to post things developed here to the market.
[G1 Android Development] Lakers3408:
Not Working

Im on JacHero 1.3

So i tried this out and its not working, here is what i did:

1. Installed TTSRingtone

2. Installed TTS from Market

3. Uninstalled TTS

4. Re-Installed TTS

3. Uninstalled TTSRinger

4. Installed TTSNotifier

After all that it still does not work, I get the default ringtone when calls come in.
[G1 Android Development] Zillode:
Can u run adb locat and send me the output?

thx
[G1 Android Development] jinx10000:
Works on Twisted Umbrella's Shadow.

Any way to make this mute automatically when the phone is on silent or vibrate?
[G1 Android Development] saul972:
I'm currently using Soulife Rogers Rom and it's working but noticed that even though my phone is on vibrate i still get the notification. I haven't tested it on silent
[G1 Android Development] RainCrow:
Did you run TTS after installing it? Cuz I believe you have to run the app in order for it to download the voice package to ur sd card.
[G1 Android Development] Stigy:
Two questions:

1. Does this notify you while your phone is on vibrate silent?

2. Is there a setting to turn it on/off or you have to uninstall it?
[G1 Android Development] Lakers3408:
I will run Log Collecter app since I don't have access to a pc right now.

Where do you want me to send it?
[G1 Android Development] Lakers3408:
Si señor, this ain't my first rodeo ;)
[G1 Android Development] Zillode:
1) Yes; will be an option soon

2) Uninstall to remove it; will be an option soon

Edit: done!
[G1 Android Development] IConrad01:
I have noticed a bug w/ this program's functionality when used with a bluetooth headset. The TTS is being routed to the headset connection, which does not exist until after the phone has been answered. (I caught a split second of the friendly robot's little voice in my headset).
[G1 Android Development] Zillode:
Aha right, will be fixed in the new version I hope
[G1 Android Development] rpmccormick:
Thanks man! I'm glad I posted that other thread and you came to my rescue with this one. Good job!

Well, besides saying thanks and posting to subscribe to this thread, do you know anything about capturing button events? ...no body said a word in my thread about the 2nd request:

<quote>

EDIT: And while I'm posting development requests, I would also like to see an app that lets you re-assign buttons (like vol+/- could page up and down unless there is sound playing, and the camera button which does nothing in Hero could be assigned to launch an app [HTC Camera] or even bring up a menu of apps to select from). They have lots of button programs for WinMo, but I've seen none for android.

</quote>
[G1 Android Development] rpmccormick:
I had another idea for this app...

There is a thread here about making the phone ring faster. They have found setting priorities helps, but the settings are not persistent. Could your app possibly keep verifying/setting these priorities so the TTS ring starts as soon as possible?

...just a random thought.
[G1 Android Development] RainCrow:
Haha cool. Just making sure : )
[G1 Android Development] Zillode:
I'm actually running the TTSNotifier with a lower priority because I think phone ring / vibrate / responsiveness matters more than getting the voice speak 0.3 seconds faster.

We can't force all applications to run with high priority because it would kill the use of priority

Edit: Hmm, ofcourse if you only use the TTSNotifier this might become a problem, i'll add a setting for this so every1 is happy;)

Edit2: Bah, when waiting for the TTS to start i'm reading out the settings. If I add this feature it might slow a tiny bit down. If there really is a problem with this I'll change it
[G1 Android Development] Lakers3408:
Can you add the version # to the apk

So it will read "TTSNotifier v1.1"
[G1 Android Development] jinx10000:
Zillode

This is awesome. I've been looking for something like this that works for awhile. Thanks.

What is the point of the wifi enabled or disabled option? Does TTS depend on internet speed?
[G1 Android Development] Lakers3408:
LoL

I think what he means is that it will "speak" that the wifi is enabled or disabled.

In other words ,when you enable your WiFi you will hear "WiFi enabled"
[G1 Android Development] rpmccormick:
Ideally, for me at least, I would want a short "ring-ring" first, then the TTS (without ringing at the same time). I would like your app to ring twice, then say the name, then pause, and then repeat the 2-rings and name and pause until the call goes to VM. It should disable the normal ringer.

[Ring+Vibe], [Ring+Vibe], "Incoming call from:" [Name/Number/"Unknown Caller"], [1-sec pause],

[Ring+Vibe], [Ring+Vibe], "Incoming call from:" [Name/Number/"Unknown Caller"], [1-sec pause],

[Ring+Vibe], [Ring+Vibe], "Incoming call from:" [Name/Number/"Unknown Caller"], [1-sec pause],

[Call gone to VoiceMail]

Always at 9/10 volume, unless phone is set to silent-mode, then [Vibe], [Vibe], [1-sec pause], [Vibe], [Vibe], etc.

Feature Creep: I'd also like to see the Tri-color LED quickly loop through the 7 colors while it is ringing (hehe, seriously)
[G1 Android Development] gho0o5t:
I figured this is the thread to submit TTS Quotes:

Simple stuff:

New Voicemail

Wi-fi Connected

Wi-fi Disconnected

Wifi Signal in Range

Connect?

Disconnect?

Enter WEP Password

Bluetooth Enabled

Bluetooth Disabled

Enter password

Bluetooth device pairing requested

Bluetooth connecting...

Bluetooth paired with device but not connected

You have (#) Tweets.

Twitter updated

Facebook updated

Weather Updated

Horoscope updated

You have a new message

Message Blocked

You have (#) new emails

Reminder: (Calendar event name) at ##:## am/pm

(#) Missed call(s) from (Name).

Phone call from (Name)

Happy Birthday to (name)

Upcoming birthday on (Date,Day of week).

Uncommon things to hear:

Battery low! Plug me in!

Battery at 5%! I'm dying here! Plug me in!

Good bye!

Hello (Name)! Ready to start a great day?

Welcome back (name)! [after menu pressed to unlock]

Internal memory at (#)%!

External Memory at (#)%!

Damn... Memory card failed!

Too many programs running... tooo slooOOooOooow...

Terminate applications manually

Network connection lost...

Here are just my normal ones... that I can think of.. hopefully this helps and I'll submit more later. Thanks in advance.

G
[G1 Android Development] gurnted:
The phrases gho0o5t suggested are a nice start , but that would require on off switches for alot of stuff. It would be nice to see this evolve into something that works similar to how locale is set up. Where users can create situations that trigger specific phrases of their choosing. if my next suggestion is possible it may even be able to build some situations and only require the user input a desired response

If it could be designed to somehow watch the notification area for notices sent by other apps, and build a db of notification sources & types. a response could be configured for each. Not sure it can be done but I figured I would throw my thoughts into the pool. If it could it would make phrases like gho0o5t suggestions for twitter, facebook, or any other app that posts to the notification area possible.
[G1 Android Development] jinx10000:
Lol. Makes sense. I didn't think tts library depended on internet.

Zillode

I think one other request would make this perfect for me. However, it would probably be difficult. If this is enabled, could it say the callers name and then start the normal ringtone?
[G1 Android Development] Zillode:
Yes and no.

Implementing the behaviour is not that hard but:

the problem is that it takes a while before the TTS engine is started, this means calls could be noticed too late
[G1 Android Development] rpmccormick:
My TTS plays before the ring as-is. If it is a long name though, the first ring happens during the name announcement.

As I said above, I really want ring-ring, TTS, ring-ring, TTS, repeated. I would expect this is too hard to do with the built-in ringer, so I would want to see the built in ringer disabled and the TTS ringer to have at least a few choices of "standard" ring types (no music).
[G1 Android Development] Zillode:
Mmm, maybe I have too many apps.. My ringtone starts first, but it's a calm sound so the speech is clear.

You are right that you will have to disable the built-in ringer before this can work. I added your idea in my todo list
[G1 Android Development] jinx10000:
Thanks for the info.

I missed rpmccormick's request which would also work. I was just referring to the ringtone and tts going off at the same time makes tts difficult to hear.

Right now I have my ringtone set to lowest setting so I can hear tts and not my ringtone. Which works pretty good. Plus silent mode works which is great.
[G1 Android Development] addiosamigo:
whats wiffy?? lol

can you change the text to speak to "wy fy" it actually sounds like wifi then!

anyways good job so far!

we gonna get text notificaion too??
[G1 Android Development] Zillode:
you're true about wy fy:p

Text notification? explain?
[G1 Android Development] gurnted:
I believe he meant Text as in SMS/MMS.

The developers of Sipdroid say it broadcasts incoming call notifications just like the built-in phone. Any chance we could get you to add support for said notifications?

Also might I suggest providing us with a donation link. That way people who wish to support the work you are kind enough to bless us with have a method of doing so.
[G1 Android Development] jinx10000:
Bad download link?

I keep downloading a 0 byte file for 1.2.
[G1 Android Development] Zillode:
Sorry, fixed :)
[G1 Android Development] Zillode:
True, I already set up the structure for handling incoming text messages, it's coming;)

- Also added a paypal link :) thx
[G1 Android Development] jinx10000:
When I try to enable the special ring and run TTSNotifier it force closes.

I notice it says Note: Disable the default ringtone of your phone.

I am using Hero and I do not see an option in settings to disable the default ringtone. Under Phone Ringtone the only option is Windchimer.

When I select ringtone in TTSNotifier it has default ringtone, silent and windchimer listed. I have tried all three of these.

When I turn off the special ringtone it works again.

Any ideas?
[G1 Android Development] Zillode:
an adb logcat can help alot (do it when you've just received the force close)
[G1 Android Development] namsir:
what does this app do? I enabled everything....turn on wifi, it didn't say anything when networks detected...i'm using cm 4.0.2
[G1 Android Development] Zillode:
When someone calls you you should hear "Phone call from <Personname>", try putting up your media volume (and lowering your ringtone volume maybe?)
[G1 Android Development] namsir:
doesn't it tell you when you enabled wifi or disable wifi also? i didn't hear anything :x
[G1 Android Development] Zillode:
It should, send me your adb logcat to zillode@.g.m...a.i.l..com (antispam)
[G1 Android Development] gurnted:
Did you install the TTS Service from market before installing this? Also someone suggested opening, configuring and playing the test in the TTS Service app before installing. Sure you most likely knew and did those things, but it's worth mentioning none the less. Somtimes it's the simplist things that get overlooked, ya know.
[G1 Android Development] jmdrizen:
I'm on CM 4.0.2... works great here!
[G1 Android Development] DavidChill:
interesting concept

I think this is a very good idea, I interested to see how you update over the next few weeks. I've downloaded and deleted the TTS library several times, I wish there were better sounding voices.. =\
[G1 Android Development] rpmccormick:
You are the man! I love my TTS ringtone. I could not find a way to turn off the built-in ringer, but setting it to a soft musical ringer in the background works great.

Here is a MP3 recording of my ringtone... the first beep you hear is from my PC signaling that Skype has connected (then I muted the PC so you can't hear Skype ring). At 3 seconds you hear the TTS ring and then the phone-default musical-ring starts behind the TTS announcement. You can also hear the vibration. I have TTS "Default Speech Rate" set to "Fast". The TTS ring is set to "Standard 3" with 1-ring at 80% vol, and the default ringtone is set to "Curve" at 50% vol.

FYI: I'm running JACHero 1.4 with tons of apps (>50) and widgets and with 7000fat, 1024ext3, and 42swap on a Class 6. It's a little laggy sometimes but not the TSS ringer... it seems to ring faster then without it. I use TasKiller task-bar widget on my center home screen and I kill-all whenever I go at home which seems to keep everything running well.

Also, I'm a web/Windows programmer, I just know nothing about Android/Linux dev. If you would be willing to share your source-code and build-environment setup with me, I would love to learn. PM me if you like. You da man!

EDIT: Requests...

1) It would be cool if you could kill the default ringer somehow. Maybe have your app install a "silent" ringer and set that to the default in the phone.

2) I want a longer delay before the second announcement. Could you add one more variable to your setup that specifies time to pause (in ms) between repeats.

3 - just thought of it) I only want 2 announcements, after that it should just keep ringing (or just let the default-ringer go if not silent). Add a variable for number of TTS repeats and a true/false for "continue to repeat rings".
[G1 Android Development] Zillode:
Me 2, I'll check if it's possible to use different voices, I saw something in the documentation about this
[G1 Android Development] Zillode:
The code is online at http://github.com/Zillode/Android-TTSNotifier/tree/master

The only thing you need is git (git-core on ubuntu), eclipse and the android sdk.

I added your requests to the planning

Changelog 1.3: - 24/08 18:30

- SMS notification

- BATTERY_LOW

- MEDIA_BAD_REMOVAL

- PROVIDER_CHANGED

- sdcard unmount (mount not possible since TTS uses the sdcard to store it's wav files)

- Fixed wifi connected msg

- Added priority option

- WOOT

- Check if TTS is installed (gives a toast otherwise)
[G1 Android Development] tf442:
I get force closes when I check "Use special TTS Ringtone". Works well otherwise.
[G1 Android Development] Zillode:
Thx, it's probably a problem when no ringtone is selected. Fixed in next version
[G1 Android Development] addiosamigo:
this works great!

the only problem im having is with the special tts ringtone, if i use it i dont get the speech, what am i doin wrong?

i set my ringer volume to one, (if i set it to zero it just vibrates) but i get a really loud ring, a soft one but no speech.
[G1 Android Development] Zillode:
Can you try this with the new version 1.4?

greets
[G1 Android Development] addiosamigo:
yea did it this morning, still the same :(

everything else works tho!
[G1 Android Development] Zillode:
use adb logcat right after you received a call (you don't have to answer it) and send me the text please
[G1 Android Development] addiosamigo:
how do i do that?

i'm just learning this stuff:)
[G1 Android Development] Zillode:
Sorry for the late response.

1) Go to http://developer.android.com/sdk/1.5_r3/index.html

2) Download the sdk zip file for your operating system

3) Unzip it

4) Using the commandline, cd to the unzipped folder

5) cd to toold

6) run 'adb logcat > logfile.txt' just after the incoming phone call

7) send the logfile to me:)
[G1 Android Development] addiosamigo:
ah ok. thanks

i'm not sure if i'm doing it right.

i set the ringtone to zero using sound manager, i then restart program and then enable it again using default ringtone.

it rings but no TTS.

oh btw i did what you said but theres no such file there called toold or adb logcat. (in tools)

also do i just run adb logcat??

can you give me the command lines please!

thanks
[G1 Android Development] Zillode:
When using the 'special tts ringtone' you don't have to set the volume of the ringer to 0 because I added code that automatically does this (and then reset the volume when the ringing stopped).

there should be a folder 'tools', and there you can find adb.

adb logcat > logcat.txt

is the command (and gives you a text file), you can press ctrl+c after 2 seconds so the adb logcat stops (it's a never ending process:))
[G1 Android Development] addiosamigo:
Pm sent, let us know if you get it
[G1 Android Development] Zillode:
Didn't receive it, send it to zillode ............@gmail.com (without the dots:p)
[G1 Android Development] Zillode:
Remove older TTSNotifiers before installing this!

Changelog 1.5: - 25/08 15:16

- Multi-language support! (EN, FR, NL, DE) (if you wan't another language, please send me strings)

- work-around for TTS returning false on .isSpeaking() too fast
[G1 Android Development] svxdriver:
An idea for a feature to add..

Something I would like to see would be the ability to use voice recognition to answer when using a headset. I used to have a phone a long time ago that would announce the caller and ask if I wanted to answer. if I said yes it would answer and if I said no it would stop ringing. I always thought it was a cool feature but I don't know how doable it is, but figured I'd just though it out there as an idea
[G1 Android Development] Zillode:
Good idea, I've search through google to find something about voice recogn on android, but without any luck. There is an android framework for voice recogn but you need to send the speech too google's servers and wait for an answer (which is of course way too slow for this app)

I have an idea that might work, I'll try it later today
[G1 Android Development] Zillode:
Bah, failed attempt. The ringtone gives too much noise. I can't detect it with my simple algorithm.
[G1 Android Development] Hummeroid:
Link not working/ down. Trying to download this again since I could never get it to work before... was hoping itd work better this time around, but my efforts are once again thwarted!
[G1 Android Development] Zillode:
We had a power maintenance at the university this morning for about 30minutes:)
[G1 Android Development] efreese:
voice recognition

you might want to check with a dev known as bratag - search in the market for "sticky note" - if you press the camera button in that app, it goes into voice recognition mode. Maybe he/she would be willing to share with you?
[G1 Android Development] AustinKnight45:
I bet this will be really good when we don't have to use TTS voices, I cant ever understand them
[G1 Android Development] Hummeroid:
Ok, finally got the download :)

BUT

Still only get FC's when I run it. Doesn tmatter if I have the lib installed or not. No matter what I do, I get FCs. Multiple installs/uninstalls.

Running CM 4.0.4

I can get a log if need be
[G1 Android Development] Zillode:
Yes, please do send me the log. <my-nickname>@gmail.com
[G1 Android Development] Zillode:
I dled the app, and I saw it's using the built-in voice recognition. The problem with this is that it's waaay too slow. (sending wav to google server and wait for the text). thx anyway:)
[G1 Android Development] D-e-v-i-l:
The download link is broken :-(
[G1 Android Development] Zillode:
fixed, try again
[G1 Android Development] D-e-v-i-l:
Thx the download works

I hope you edit your programm soon to work with dunut..
[G1 Android Development] Zillode:
It does work with donut, you just have to reinstall tts from the market.

There is no sdk available to use the donut built-in tts but for now we can still use the old external tts.
[G1 Android Development] D-e-v-i-l:
Thank you for the fast repeat..

we also have to wait :-( ^^
[G1 Android Development] Lou2serious:
I installed this and it force closes every time i try to launch it
[G1 Android Development] jmdrizen:
Need a bit more information... :-)

What ROM you using?

Have you any other third party software installed that could cause issue?

Have you installed the TTS from the market AND set it up first? That's a common issue...
[G1 Android Development] IConrad01:
Same issue here.

Cyanogen 4.1.5 and Cyanogen 4.1.6.

I have no other third party software that uses the TTS Service.

After playing around a bit it looks like you're still having this program depend on the Text-to-Speech Library, rather than the new voice synthesis app that's integrated into Donut / Android 1.6. This means that none of the new voice data will be integrated into this application.

For those of you whom have the same "Doesn't work on Donut, install from the market the app, "Text-to-Speech Library".
[G1 Android Development] Lou2serious:
Im running cyan 4.1.6 and i install the tts notifier but it force closes every time i try to launch it. I'll onstall the tts library and see if that helps
[G1 Android Development] jmdrizen:
Yep, that should fix your issue... I'm on 4.1.6 as well...

The 1.6 (donut) firmware is still very new, and not available for some dev's to get their applications to work with it yet...

The TTS Library does work with it and providing you run it after install to confirm it's setup you shouldn't have an issue.