Android Tune Announcer
This is an Android application that announces the name and artist of the song currently being played. It’s useful if you have a large music collection and cannot see the screen to check the names, e.g whilst exercising. If you’ve only got that one Kylie album, then maybe this is not for you ;-D
It uses the native Text-to-Speech capabilities of the device to speak.
Example: The application will speak “Now playing ‘Firestarter’ by ‘The Prodigy'”
Tune Announcer also provides a visual indication of the track details via a customised toast that shows the track, artist and album names, along with an image of the album cover. For more details, see this announcement.
Tune Announcer relies on you having the correct artist and track details in the meta-data of your song files.
The ‘pro’ version is a paid for version that offers the same speaking functionality, but adds the following:
- Notification icon. When enabled and music is playing, Tune Announcer will show an Icon in the notification section of the phone. If you select this, it will put you directly into the configuration screen.
- Toggle widget. This is an on-screen widget that allows you to toggle the enabled status of Tune Announcer with a single touch. The widget indicates the status by showing the icon’s note as green for enabled and red for disabled. This is useful if you want a quick way of enabling or disabling Tune Announcer.
- No adverts on the configuration screen
- Toasts all the time
- Editable list of characters that should not be spoken
- A new ‘pro’ icon, woot!
- Speaks the album name
- Free format speech mode where you can place album, title and artist details into any phrase in any order
- Tasker support, see this blog post for more details
- Force the speech to be in English (American). You can test this with the free version. Note that you may need to download the English speech files for this to work.
- Option to speak at the beginning or the end of the track
- Limited support for Google Music
Since the speaking functionality is the same in both versions, try the lite version first to ensure that it works with your preferred music player. If it does, and you like it, then feel free to buy the ‘pro’ version.
Displays the track details and album cover in a pop-up toast.
There are a number of settings that alter the behaviour of Toasting, these are:
- Toast Large in Landscape Mode: Uses a larger layout if the device is horizontal. Great for reading in the car whilst using sat-nav and stops the missus asking ‘what did it say?’ 😉
- Two Rounds! Toasts the same information twice. The normal toast is a little too short, so this pops two of them. On some devices the gap between toasts may be large so you might, for aesthetic reasons, want to diable this. On a HTC Desire there is only a small flicker between toasts so it’s ideal.
- Toast Vertical Location. You can set the toasts to appear at the top, center or bottom of the screen.
The application speaks the text using the system volume and optionally mutes the music whilst speaking.
The speech volume is now set relative to the current music volume. This can be adjusted using the slider from -50% (quieter than the music) to +50% (louder than the music).
Also, the music volume can be muted whilst speaking, again using a slider. The muted volume can go from -100% (no music) to 0% (no change in the music volume).
Hopefully these options now cover all the niggles that people were having and my pet bug-bear of forgetting to change the speech volume when wearing headphones and having Tune Announcer shout at me😉
Non-standard Media Players and Scrobbler Support
If you are using a non-standard media player i.e. not the Android or HTC players, then adding support is difficult. However, there is a simple workaround if *your* media player supports last.fm scrobbling as these must broadcast Intents to the main scrobblers. As of v0.5, Tune Announcer supports the Android Simple Last.fm Scrobbler and ScrobbleDroid. If you enable one of these in your media player, then Tune Announcer will work
Speech Pitch and Speed
v0.6 adds the ability to change the pitch and speed of speech using a couple of sliders on the configuration screen. The intent was to make the speech less, well, android like. Whilst this works well programatically, the results are less than impressive. Changing the pitch alters the voice from heavy smoker to hysterical. The speed changes from v.e.r.y.s.l.o.w to clipped. There doesn’t appear to be any way to change the apparent sex of the speaker, it’s female or nothing.
If the speed slider isn’t working for you, then make sure you have not overridden the settings in the main Text-To-Speech configuration screen in your Android settings.
Voice and Pronunciation
Tune Announcer can only use what is installed on the device. Generally, this is the Pico Text-To-Speech library, which whilst adequate, does struggle with some English names. There are now many alternative TTS providers on the market, I’d suggest you try a few and see which work for you. Feel free to leave comments here recommending the better ones.
The latest SVOX TTS engines allow you to tailor the pronunciation of words to, so ‘Blancmange’ can be correctly spoken instead of the humorous ‘Blank Mange’. The voices are not free though.
Things to do:
- Shake to speak. This would only be really useful if it works with the device sleeping
- User selectable MP3 tag elements to speak, such as album, track length, etc
- Announce the song just played when a new one starts(Done in Pro v1.18)
- Announce the song details after a specified % of the song has been played
- Specify the speech volume as a percentage of the current media volume. This is useful if you change the media volume for different environments and don’t want to keep changing the speech volume in Tune Announcer too. (Done in v1.1)
- A widget to toggle the enabled status of this app. Useful if you don’t want it announcing all the time (I only need it when cycling) (Done in the ‘pro’ version)
- See if I can link in with last.fm scrobble data, so that this works with any music app that supports last.fm (Done in v0.5)
- Pause the track (or adjust the volume) when speaking (Done in v0.3)
- Allow the user to change the text for “Now playing” and “by”. Simple localisation (Done in v0.3)
- Allow the user to select the pitch and speed of speech (Done in v0.6)
- Option to change the system volume from the configuration screen (Done in v0.7)
Q. Why does it sound so bad?
A1. Sounds OK to me, but the Text-to-Speech library is provided by Google and not me. I can’t change how it sounds Try it in French, that language always sounds good.
A2. The PRO version has a ‘Speak in English’ option that may be better if your default locale is not English and you play mainly English music. Press ‘Test’ in the free version to see if this works for you.
Q. It seems a little slow to speak, why is that?
A1. On my HTC Desire, it can take a second or two to initialise the Text-to-Speech library. On a device with little free memory, or a slower processor, then it may take longer. The next time it speaks it should be quicker, unless the OS has swapped out the Text-to-Speech libraries again😦
A2. When using scrobble support to initiate the speech, Tune Announcer has to wait for the event to be sent from the music player. Some players, such as MixZing, send a delayed scrobble event. If you suspect that this is the problem, then perhaps you can kindly request the developer to initiate scrobble events earlier. (You can test this theory by pressing pause/play after speaking, if the speech is delayed then it’s most likely due to a slow scrobble event).
If you have any questions about Tune Announcer, or suggestions for additional functionality, then please contact me, either by this blog or via email to Tune.Announcer at softwyer.com
PayPal doesn’t really support solicited donations for products, unless you have charitable status, so if you like it then buy the ‘pro’ version.
The change log is no longer being updated in this post. Changes are now detailed on the SoftWyer Google+ site.
- v1.14 2011-08-09 Setting to choose channel.
- v1.13 2011-08-06 Toasts can appear at the top, center or bottom of the screen.
- v1.12 2011-07-?? Don’t repeat scrobbles for the same song.
- v1.11 2011-07-?? Tweaked the ad settings.
- v1.10 2011-07-?? Speech channel changed to DTMF to avoid low volume issues when using headphones on HTC devices running OS2.3.
- v1.9 2011-06-04 Force the speech to be in English (PRO only)
- v1.8.0 2011-02-28 Tasker support for enabling and disabling toasts and announcements (PRO only)
- v1.7.0 2011-02-15 Enable or disable scrobbling by provider
- v1.5.3 2011-01-29 Larger toast in Landscape, ability to choose whether to toast twice for a longer toast (was a default option before)
- v1.5.2 2011-01-27 Fixed a few bugs, OS2.3 compatibility
- v1.5 2011-01-25 Toast the track details when speaking for a visual notification
- v1.4 2011-01-20 Add characters to be omitted from speaking, such as ‘[‘ which is spoken literally as ‘open left square bracket’
- v1.2 2010-12-16 Support for Winamp music player
- v1.1 2010-11-12 Changes to the way volumes are set, see above
- v1.0 2010-11-11 Release of pro-version. Some bug fixes and code realignment to support this.
- v0.7.2 2010-11-03 Bug fix: Speaks unknown when the artist or title not defined.
- v0.7 2010-09-13 Enable user to configure the spoken volume.
- v0.6 2010-09-09 Enable user to configure the speed and pitch of speech
- v0.5 2010-09-08 Add support for ScrobbleDroid
- v0.4.6 2010-09-08
- Fixed regression with enable/disable in preferences
- The service now exits after speaking rather than running all the time
- Fixed problem when speaking for the first time when the Text-To-Speech engine had not initialised
- v0.4 2010-09-07 Added support for the Android Simple Last.fm Scrobbler.
- v0.3.1 2010-09-06 Fix some issues around saving preferences. The soft keys don’t generate key-down events like they do in the emulator *#?#. Use the view onPause method to save all preferences to avoid this.
- v0.3 2010-09-06
- Mute the audio sound when speaking – note that this doesn’t stop playback.
- Can now change the spoken prefix.
- Can selectively disable speaking the artist and track.
- v0.2 Changed icons and added ads (sorry😉
- v0.1 Initial version