Voice Notify

From Pilot_51's Wiki
Revision as of 03:12, 11 December 2017 by Pilot 51 (talk | contribs) (Add v1.1.0 and Privacy Policy, plus some other updates.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Scan this QR Code with an Android device to go to Voice Notify in the Android Market

Voice Notify is an open source Android app that uses Text-To-Speech through the Notification Listener service in Android 4.3 and above to speak notification messages from the status bar when they appear, allowing users to know what a notification says without looking at the screen. It features a fully customizable spoken message and a list of installed apps which can be ignored.

Price: Free!
Open source license: Apache License 2.0


Privacy Policy

Voice Notify developers are not responsible for any undesired spoken notifications, as users should configure VN and their device to prevent unwanted spoken notifications. However, users should not expect any broad configuration to work perfectly for all possible cases, which is a risk they must accept if they use VN.

Notification data is received by Voice Notify and, if settings allow, is sent to the Text-To-Speech engine. The data is also temporarily kept in a notification log that holds up to 20 notifications and is only kept in memory, never written to storage or sent anywhere else. The TTS engine is outside the direct control of Voice Notify and could potentially use spoken text for other purposes.

Installed apps are read and listed to allow users to (un)ignore notifications from individual apps. The app titles and package names are stored in a database in VN's internal private data storage.

The Contact Developer option prepopulates an email message (or whatever app the user chooses to launch) with the VN version, Android version, Android build number, and device name. The message is not sent until the user chooses to do so.

Below are the used permissions and why they're needed:
Bluetooth - Required to detect whether Bluetooth headset is connected.
Vibrate - Required for Test feature while phone is in vibrate mode.
Modify Audio Settings - Required for improved wired headset detection.
Read Phone State - Required to interrupt TTS if a phone call becomes active.


Dates are in GMT.

v1.1.0 [2017-12-11]

  • Update minSdkVersion from 4 (Android 1.6) to 18 (Android 4.3).
  • Update build SDK to 27 (Android 8.1) for visual refresh and new APIs such as Notification Listener.
  • Switch from Accessibility to Notification Listener service.
  • Remove support for reading toasts (Accessibility feature).
  • Support reading much more notification content (TTS Message default changed as a result).
  • Add TTS Text Replacement option.
  • Add option to truncate messages. [contributor: Mark Burton]
  • Enable speaking caller ID while ringing (requires READ_PHONE_STATE permission).
  • Enable fast scroll in App List. [contributor: Damien Degois]
  • Move TTS preferences into separate screen.
  • Fix issue with repeated message detection. [contributor: Mark Burton]
  • Fix Google Wallet launcher.
  • Add crowdsourced translations: Czech, Greek, Dutch, Portuguese

v1.0.12 [2014-05-04]

  • Fix Google Now hotword disabled while VN service running.
  • Use better headset connectivity detection for Android 2.0+. Requires Modify Audio Settings permission. [Code contributed by Chris Rae (pugwonk)]
  • Fix issue 24: Shake-To-Silence silencing future notifications.

v1.0.11.2 [2014-02-10]

  • Fix crash when DeviceStateReceiver triggered while all notifications are ignored and the Notification Log is empty (usually happens at service start).
  • Update translations. Don't translate support email strings to encourage users to write in English. Russian updated by new translator: vanetned

v1.0.11.1 [2014-01-12]

  • Add mention that Google Wallet Send Money is only available in the United States.
  • Fix status showing suspended and nothing happening when clicked after suspending with widget and then disabling VN.
  • Fix crash at launch for API 7 (2.1) and earlier.
  • Fix wrong app toggled when un/checking app in filtered list. [Code contributed by 1karu5]
  • Fix VN crashing or ceasing to function in some situations, plus other TTS fixes. [Code contributed by Scott Albertine]

v1.0.11 [2014-01-01]

  • Italian translation updated by Matteo Regoli (Teorouge).
  • Add option to pause/dim other media while speaking. [Code contributed by Scott Albertine]
  • Add support for new widget picker. [Code contributed by 1karu5]
  • Add option to ignore empty notifications (previously they were always ignored).
  • Add support for more audio streams: Voice, Ring, Alarm
  • Add option to donate through Google Wallet.
  • Fix service status in config not updating when resumed from background.
  • Fix handling of TTS initialization, preventing notifications from being missed and other possible issues.

v1.0.10.1 [2013-06-11]

  • Fix crash on some devices when initializing TTS before speech if TTS Delay or TTS Repeat is set. This seems to have mainly affected quad-core devices.
  • Don't interrupt speech when screen changes to ignored state.
  • French translation updated by Titan44.

v1.0.10 [2013-06-08]

  • New translations: French by caliann and Souln77, German by massimo2001, Hungarian by njozsef.
  • Make speaking of toasts optional in Android 3.0+.
  • Add un/ignore in Notification Log via long-press & confirm.
  • Increase Notification Log history limit from 10 to 20.
  • Instead of "Enable/Disable", indicate whether VN service is running.
  • Add menu option in App List to show soft keyboard for filtering. This solves devices without hardware keyboard unable to filter.
  • Add widget. Color indicates service status. Clicking it toggles service suspend or opens Accessibility settings if disabled.
  • Only run TTS service while speaking. Reduces memory usage while not speaking and hopefully fixes issues with audio from other apps not being restored after speaking completes.
  • Add GetLocalization and GitHub to Support menu.
  • Add basic info to support email body: VN version, Android version, Android build number, Device.
  • Fix crash when viewing log with app not yet in app list.
  • Fix crash when viewing log during TTS Delay & ignore.
  • Fix crash when resuming App List after process death.
  • Fix crash when notification received and not ignored with TTS Delay set between 2147484 and 2147483647 seconds.
  • Fix crashes when opening App List multiple times while loading. Also fixes duplicates in App List if it doesn't crash.
  • Major performance boost on first load of app list.
  • TTS Repeat improvements. Fixes crash with TTS Repeat set between 35792 and 2147483647 minutes. Hopefully fixes issue 29.

v1.0.10 public beta released on 2013-06-03.

v1.0.9.1 [2012-11-26]

  • Fix crash when opening App List and an uninstalled app gets removed from cache.
  • Fix shake sensor remaining active after TTS stops speaking. Fixes shake applying to last notification in Log long since done speaking. Possibly resolves the reported excessive battery usage.
  • Significant improvement to shake detection, fixing erroneous detections.
  • Don't allow installing/moving to SD card since it causes problems.

v1.0.9 [2012-11-15]

  • Add Russian translation by Max Ponomaryov (ceejay).
  • Add Spanish translation by PaoloNB.
  • Add Shake-To-Silence preference to configure sensitivity threshold.
  • In Notification Log, show reasons in yellow if silenced after speaking started.
  • Change keyboard type for number preferences from "phone" to "number".
  • Fix issue 30: VN not appearing in Android 4.2 Accessibility list.
  • Fix some ignore reasons not showing in Notification Log.
  • Fix crash when ignoring all/none while App List is loading.
  • Fix crash when running Test on Android 4.2 device in vibrate mode (add vibrate permission).

v1.0.8 [2012-08-04]

  • Add Italian translation by Teorouge.
  • Fix issue 27: Accessibility broken in Android 4.1 (Jelly Bean).
  • Add shake-to-silence.
  • Add notification log. Shows list of last 10 notifications with time, app name, message, and ignore reasons. Log data is only kept in memory for the life of the process.
  • Add option for TTS to repeat notifications at a custom interval in minutes while screen is off.
  • Fix Ignored Text not working when containing capital letters.

v1.0.7.2 [2012-03-28]

  • Fix mislabeled device states (on and off were swapped).
  • Fix somewhat rare crash at start caused by NullPointerException (I don't know why, couldn't reproduce) when checking if the old ignores file exists before transferring to database.

v1.0.7.1 [2012-03-27]

  • Fix crash when notification received and Ignore Text is not set/initialized.

v1.0.7 [2012-03-26]

  • Add Ignore Text preference.
  • Add Ignore Repeats preference. Default, which was previously hard-coded, is to ignore identical consecutive notifications within 10 seconds.
  • Add Silent/Vibrate to Device States preference. Default, which was previously hard-coded, is disabled (not speak).
  • Default ignore for new apps is based on Ignore All/None.
  • Change App List progress indicator to indeterminate title bar style since load time is much quicker.
  • Change to a database to store ignores and to work as a cache for near-instant loading of App List. First time displaying App List will take some time to get all installed apps cached (loading app labels from the system is very slow).
  • App search filtering now includes package names and search containing text instead of words starting with the search term.
  • Show toast message when running Test with Voice Notify ignored.
  • Check notification-independent ignores after TTS Delay instead of before.
  • Stop speaking if headset changes to ignored state.
  • Fix crash at service initialization on some (most?) Android 2.0.1 and lower devices.
  • Fix/enable TTS Settings for ICS.
  • Fix TTS Settings crash in Honeycomb & Android 4.0 (API 11-14).

v1.0.6 [2012-01-10]

  • Add option for custom TTS Delay. Value in seconds.
  • Add headset on/off to device states. Note: Due to API limitations, all Bluetooth devices are detected the same, headset or not.
  • Add Bluetooth permission. Required to detect Bluetooth connections.
  • Add option to post a test notification. Delayed 5 seconds to allow user to, for example, turn off the screen.
  • Fix crash when notification received on Android 2.0.1 or lower. My bad, in v1.0.4 I used an API introduced in 2.1 without realizing.
  • Fix crash when opening TTS Settings on some devices. Now the option is disabled if TTS settings could not be found. Please contact me if you have an affected device that has TTS settings.

v1.0.5 [2011-12-18]

  • Fix issue 10: App List jumps slightly when item toggled.
  • Fix crash when opening TTS Settings on Google TV.
  • Fix crash when filtering App List.
  • Ignore All/None only applies to apps in filter.

v1.0.4 [2011-12-12]

  • Add option to select whether to speak with screen on or off. (issue 25)
  • Remove touchscreen requirement (makes compatible with Google TV).

v1.0.3 [2011-10-23]

  • Fix issue 24: On some devices (mostly tablets) while using an external audio device, audio stops working for other apps when VN speaks on Notification stream and doesn't return, requiring VN to either be disabled or to speak on Media stream. Now, the audio will still stop, but it returns after TTS completes. [Thanks for all the reports and big thanks to Sum Wun for helping test fixes!]
  • Special characters | [ ] { } * < > in notification messages are not spoken (replaced with a space).(issue 23)
  • Change default audio stream back to Media.
  • Notifications are ignored when device is in silent or vibrate mode. (only really a difference for Media stream, as Notification stream already matches the mode)
  • Notifications are ignored while phone is ringing or in a call.
  • Add Quiet Time option.
  • Add options to rate/comment (Market) or contact developer (email app).

v1.0.2 [2011-04-05]

  • Fix Ignore All option creating duplicate ignores, sometimes requiring multiple touches to enable an app.
  • Add option to donate through Paypal (opens Paypal donate page in external browser).
  • Fix speaking of quickly repeated notifications (usually progress bars).
  • Add option to change TTS between Notification and Media audio streams. Solution to Bluetooth issue reported by SRadner.
  • Fix App List jumping to top when selection changed. (rough/temporary workaround, list still jumps by up to one item)

v1.0.1 [2011-03-28]

  • Fix crash when custom TTS message contains an unsupported percent variable. [reported by SRadner]
  • TTS runs on Notification audio stream instead of Media stream, also removed control of media volume while displayed.
  • Add App List menu options to ignore all or none.

v1.0.0 [2011-02-13]

  • Initial release to the Android Market!

Started development on 2011-02-03