package icon

SpeakThat!

The world's most comprehensive notification reader
Voice notifications done right.


SpeakThat! is an Android app that reads your incoming notifications out loud using
text-to-speech. Unlike most alternatives, SpeakThat! puts you fully in control
of what gets read, when it gets read, how it sounds, and when it stays completely silent.



No ads. No subscriptions. Just speech.


Why SpeakThat!?


  • 100% free & open-source - inspect the code, verify the privacy claims, or contribute on GitHub

  • Entirely local - all processing happens on your device, with no external servers and no AI

  • Private by design - optional Private Mode can announce the app name without reading notification content

  • Modern Material design - powerful features without a cluttered or confusing interface

  • Additional Features - Regular time announcements, daily notification summaries, and filtering performance insights



Powerful control over what gets read


  • App-based filtering (whitelist or blacklist specific apps)

  • Smart notification filtering (media, persistent, silent, or duplicate notifications)

  • Word filtering: blacklist words, swap words, or prevent certain notifications from being read entirely

  • Content caps: limit readouts by word count, sentence count, or time

  • URL handling: read full links, domains only, or replace links with custom text

  • Custom app name replacements (change X back to Twitter for readouts!)



Flexible speech behaviour


  • Full control over voice, pitch, speed, volume, language, and audio output

  • Custom speech formatting using templates and placeholders

  • Tidy Speech mode to remove emojis and symbols before speaking

  • Delay readouts to give notification sounds time to finish

  • Notification cooldowns and deduplication to prevent spammy repeats



Context-aware & smart logic


  • Respect Do Not Disturb, phone calls, and system audio modes

  • Bluetooth device detection (e.g. only read when headphones or car audio are connected)

  • Screen state awareness (optionally stay silent when the screen is on)

  • Time schedules to disable readouts during certain hours

  • Conditional rules for advanced behaviour (such as Bluetooth-only logic)



Hands-free controls


  • Shake-to-stop with adjustable sensitivity

  • Wave-to-stop using the proximity sensor - perfect for desks or hands-free setups



Automation & advanced users


  • Works with automation apps like Tasker and MacroDroid

  • Settings import/export for easy backups or switching devices

  • Support for external TTS engines if Android’s default isn’t your favourite

  • Built-in diagnostics to help troubleshoot complex setups



Language & accessibility friendly




SpeakThat! never sends your data anywhere unless you explicitly choose to submit
a bug report. What happens on your phone stays on your phone.



Ideal for accessibility, drivers and commuters, desk setups, athletes, parents, busy professionals,
and anyone who wants a healthier relationship with notifications.


Actively developed


SpeakThat! is continuously improved based on real user feedback. It’s built by someone
who genuinely uses it every day - which means features exist because they’re useful,
not because they look good in a marketing screenshot or to inflate some statistic.



Stay safe, stay connected, and let your phone do the talking!

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 1.8.6 (58) suggested Added on Jun 18, 2026

    This version requires Android 7.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • access location in the background
      This app can access location at any time, even while the app is not in use.
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • access Do Not Disturb
      Allows the app to read and write Do Not Disturb configuration.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • android.permission.BIND_ACCESSIBILITY_SERVICE
    • android.permission.BIND_NOTIFICATION_LISTENER_SERVICE
    • android.permission.BIND_QUICK_SETTINGS_TILE
    • pair with Bluetooth devices
      Allows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
    • connect to paired Bluetooth devices
      Allows the app to connect to paired Bluetooth devices
    • discover and pair nearby Bluetooth devices
      Allows the app to discover and pair nearby Bluetooth devices
    • connect and disconnect from Wi-Fi
      Allows the app to connect to and disconnect from Wi-Fi access points and to make changes to device configuration for Wi-Fi networks.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "mediaPlayback"
      Allows the app to make use of foreground services with the type "mediaPlayback"
    • change your audio settings
      Allows the app to modify global audio settings such as volume and which speaker is used for output.
    • interact with nearby Wi-Fi devices
      Allows the app to advertise, connect, and determine the relative position of nearby Wi-Fi devices
    • show notifications
      Allows the app to show notifications
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • read phone status and identity
      Allows the app to access the phone features of the device. This permission allows the app to determine the phone number and device IDs, whether a call is active, and the remote number connected by a call.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • Schedule precisely timed actions
      This app can schedule work to happen at a desired time in the future. This also means that the app can run when you're not actively using the device.
    • This app can appear on top of other apps
      This app can appear on top of other apps or other parts of the screen. This may interfere with normal app usage and change the way that other apps appear.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • com.micoyc.speakthat.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 9 MiB PGP Signature | Build Log