As I mentioned in a previous post I have an old Android phone and I’ve been trying out replacements for the old Google Listen, which was discontinued for download when Google Labs was retired, then stopped working a year later once Google Reader ceased to be. In short, I’ve ditched the idea of using a podcatcher on my phone, though I still have gReader Free installed and linked to my Feedly account (which still acts much like Google Reader did for following blogs and other RSS sites as a pinned tab on my PC’s web browser)

In the end, various flaws led me to conclude that I’d be best off using the native Android Music app that came pre-installed on my phone. It supports all the natively supported formats (MP3, Ogg Vorbis and AAC principally) and can even pause, play or change tracks through the lock screen.

I’m sure I could use iTunes to manage my podcasts, but I find it annoyingly bloated and restrictive (especially with formats) and as a Windows user have long preferred foobar2000, (along with CueTools’ CueRipper for painless, flawless CD capture and encoding). I like fb2k, as it’s also known, partly because I’m a rational audio geek and I like all the features like wide codec support, gapless support, ReplayGain/EBU R128 automatic volume matching by album and a wide range of DSPs and other components available during playback and Conversion. The main thing to know is that most fb2k functions are available on the right-click context menu once you’ve one or more tracks in the playlist, and a few hidden ones you rarely need with shift-context. If you’re not such an audio geek but want most of the features, you might just love Boom, another lightweight, considerably simpler, free player from the same developer, made to suit people who prefer to use a standalone CD player.

So I found the foo_podcatcher component and tried it, finding it to be pretty much ideal for my needs. I was able to import my OPML feed list, as I’d exported from Google Reader using Google Takeout, so that was pretty painless. I’ve since added a number of RSS feeds by pasting the RSS URL from my broswer into the File/Subscribe to Podcast Feed… box.

To force a check of the feeds, there’s also File/Update All Podcast Feeds. Also useful is View/Podcatcher Feed Manager… from which a right click on All Podcasts lets you playlist everything, a right click on a named podcast lets you playlist that, and multiple podcasts can be selected, or Recently Downloaded Podcasts near the bottom can create a smart playlist to which new downloads get added.

The settings I currently use under File/Preferences/Podcatcher are:

Updates: Three hourly
Download Path:
C:\Users\MyUsername\Downloads\podcasts\$replace(%last_modified% %artist% %album% %title%,:,,;,,.,,\,,/,,%,,$,,#,,) %filename_ext%
(to explain the above, I’m removing most illegal characters from the filename I’m generating using the $replace command. To ensure distinct filenames and correct filetype extension, I append the original %filename_ext% to the end.)
Time range to auto-download: Last week
Number of simultaneous downloads: 5
Retag downloaded podcast files. (No, unchecked)
Set downloaded podcast files’ genre tags to “Podcast”. (Yes, checked – this usually exists alongside existing tags, but enables Genre filtering by Podcast on my phone)
Include only downloaded items in Podcatcher playlists... (No, unchecked – allows me to perform actions on podcasts I haven’t yet downloaded. It will automatically download them when needed to perform and action like Play or Convert)
Notify: I selected both options, but they don’t make much difference to me.

I hit OK to save those settings.

That works fine for downloading and playing on the computer, and I could leave it at that, copying and pasting files onto my phone’s Music folder when the phone is plugged in as Disk Drive, giving the PC access to its microSD storage (a modest yet sufficient 2GB)

In fact, I notice that a lot of my podcasts vary in volume quite substantially. I could scan for Replaygain and Apply Gain to MP3 to correct that (or indeed use the MP3Gain application to adjust MP3 or AAC (.M4A) files before copying to my phone.  Another option is the EBU R128 Compressor component foo_r128norm which runs a gentle Automatic Gain Control to maintain reasonably consistent perceived loudness even for live sources like streaming radio that may have varied enormously from the Replaygain target volume, though that is only available when playing in fb2k or converting the file. For streaming radio, it’s virtually as good as having Replay Gain that works on Radio streams.

Surprisingly many of the podcasts use astonishingly high bitrates even for MP3 which isn’t as efficient as Opus, Ogg Vorbis or AAC. The majority are pretty close to optimal choices, and one or two are just a little bit too low in bitrate.

To conserve space on my phone for other purposes (photos, videos etc) or to allow me to store a huge range of podcasts for long trips, I’m quite happy to use 22050 Hz sampling rate (better than what’s called wideband for speech) and Ogg Vorbis setting -q -0.5 (that’s negative 0.5), which works out at a very modest 28-30 kbps for most mono and 32 kbps for most stereo content. For some music-heavy podcasts I stick to either 32000 Hz or the original bandwidth at a higher quality setting or use QAAC or Vorbis to encode at about 96kbps.

However, for use without earphones in my car or my shirt pocket, principally with speech podcasts, I’m quite happy to play over my phone’s internal speaker, but it just needs to be near the top end of the loudness scale to be readily audible in almost all circumstances. Fortunately this can be done pretty well using DSP, and given that I’m converting anyway, I also transcode fairly beningly to Ogg Vorbis using the well-tuned and very speedy aoTuV encoder which excels at low bitrates even better than the official Vorbis encoder.

I set an encoding preset for this purpose as follows (and in fact I have at least two – one to encode onto my hard disk, the other to output straight to my phone’s Music folder when it’s plugged in in Disk Drive mode.)

Select at least one downloaded podcast in fb2k.

Right click and hit Convert. In that menu, I select the option “…”

Then for Output format I select Ogg Vorbis, and Edit/set quality to -0.5. I then point fb2k to the Vorbis Encoder aoTuV that I’ve installed once I run it. (It’s also possible to specify it as a Customer Encoder using the commandline, to access settings as low as -q -2 (negative 2) or use its native resampler if desired)

Click Back to return to the Converter Setup

Click Destination. For encoding straight to my phone I specify folder: D:\Music which is correct in my case, and Convert each track to an individual file. Since I’ve already named them uniquely in Podcatcher, I just use %filename_ext% as my file naming. When converting, the filename created will then end with filename.mp3.ogg or filename.m4a.ogg for podcasts originally in mp3 or AAC formats respectively.

Click Back

Click Processing, and under ReplayGain I happen to have chosen Source Mode: Album, Processing Album Gain, Preamp for files with or without RG I’ve set to +12.0 dB (and I deal with ‘peak overs’ in the DSP section)

In Active DSPs, I typically use:

Resampler (SoX) mod2  – this is good, it’s fast and it can be set to only resample certain rates to the target, so I Configure selected, set Target to 22050 Hz, Quality Normal, Resample ONLY 44100;48000 and leave Passband at 95.0%, do not allow aliasing/imaging, Phase response 50% (linear)

• Dynamics Compressor (from foo_dsp_effect package) – Peak Limit 95%, Release time: 300 ms, Fast Compressor Ratio: 25%, Slow Compressor Ratio: 50%, Input Gain 100%

• Advanced Limiter – a standard component, it looks ahead in the audio, so any peak overs remaining get dealt with here with subtle limiting. If there are none, it leaves the audio alone.

Click Back

Other: When finished: do nothing (I could scan for ReplayGain, but it’s not supported by Music on my phone, so why bother)

The click Save << to save the preset with a name such as “Podcast Loud Vorbis (direct to phone)”

When I hit Convert, it will pop up a message along the lines of “You are trying to convert from one Lossy format to another Lossy format. This will not increase quality and may degrade quality. Do you wish to continue?”

Hit Yes, and then let it convert. It can convert a few hours of audio from a bunch of podcasts using as many processor cores as I have to work in parallel and on average mono podcasts come out at 28-30 kbps and stereo podcasts come out to around 32 kbps (usually they’re near-mono anyway!). 32kbps is 14.4 MB per hour, and putting 1GB of audio on my SD card (leaving 1GB free for other stuff in my case) I get about 70 hours of material on it. If I max it out, I probably get about 100 hours. So there are various podcasts and radio archives of awesome material that I’ve only recently discovered, and I can convert whole series to catch up back-to-back at my leisure. Currently I’ve got a great stack of In Our Time Science and Reith Lectures from the BBC Radio 4 site, and a whole bunch of early The Skeptics Guide to the Universe podcasts, plus about 20 episodes each of three other fairly new podcasts I’ve only just discovered. I usually clean up after myself by deleting the ones I’ve listened to from the Music player, so it’s easier to find stuff I haven’t heard.

Whatever, kind of content I’m in the mood for is there for me. These settings are still surprisingly good for music podcasts over loudspeakers albeit not quite HiFi and perhaps not great for headphone listening. When it’s good music content I either leave it as is, or may transcode to LC-AAC using qaac with a 96kbps target or so and perhaps resampling to 32000 Hz first for greater efficiency (typically ends up nearer to 85 kbps) or use Ogg Vorbis at around -q1 to -q2. Transcoding lossy-to-lossy can only hurt audio quality and should be avoided as a rule of best practice, but it seems acceptable if I want to put a lot on my phone, especially if the source was 256 or 320 kbps. 32000 Hz resampling of music, incidentally is justified on the basis that a 16kHz lowpass filter is rarely if ever detectable under blind listening tests of real music even if you can perceive 19 kHz test tones, thanks to auditory masking from the rest of the music. If I’m really aiming to save space, that helps although most encoders’ short blocks become a little longer at 32kHz sampling rate than at 44.1 or 22.05.

Advertisements

I have an old HTC Wildfire Android 2.1 smartphone. It’s more underpowered than the newer Wildfire S and is not compatible with a wide range of apps that need bigger screens or newer Android versions.

However, I had been happily using Google Reader both as a pinned App tab on my PC’s Firefox browser and as a widget and application on Android. Better still, I thoroughly enjoyed listening to numerous podcasts with Google Listen (a beta product from Google Labs) which although a little buggy would happily stream or download podcasts in MP3, AAC in MP4 and Ogg Vorbis formats from normal RSS feeds all served to it by Google Reader, keeping my ‘mark as listened’ in sync with my web browser. Nice.
It would also automatically play another unlistened item at the end of the one I started, making it a great hands-free companion on car journeys, and it could automatically download many hours of content in the background prior to leaving, negating any demand for mobile data bandwidth which is inconsistent outside of major towns and cities and potentially very expensive when roaming.

Even though it was removed from the Google Play Store in about July 2011 when Google Labs was closed, I happily kept using it until a little after July 1 2013, when Reader stopped supplying it with updates to the feed.

I tried a number of podcatchers, but they all seem to suck in some way.

HAPI Podcast Player was dreadfully unresponsive and wanted to download hundreds of episodes I’ve already heard having imported only I presume subscriptions.xml from my OPML file from Google Takeout with no apparent way to remove older episodes from the list of unlistened episodes.

iPP (short for itunes top podcast player) looked plausible but kept hanging and losing its streams and didn’t seem to want to populate a playlist or play queue.

I’d previously tried Podkicker but couldn’t make it work right or respond properly.

Stitcher Smart Radio looked promising but hangs from time to time and simply won’t let me find some podcasts I love (which I can play on my PC via Feedly in Firefox) such as The Infinite Monkey Cage from BBC Radio 4, despite numerous other Radio 4 podcasts being available. Walled garden apps? Count me out! It was already annoying me with unresponsiveness and complaints about insufficient bandwidth or lack of network connection. It clearly wants to stream only, not to download ahead of time, which means I will be left without content when I’m stuck on a rural GPRS connection at less than 30kbps or potentially forced to pay more for my data plan if I have to stay online in places where 3G data is available to me.

I’ve heard good things about doggCatcher but it’s incompatible with my HTC Wildfire so can’t vouch for it.

Since the demise of Google Reader as a main RSS service, I considered The Old Reader briefly, but plumped for Feedly, which is fine for my PC.

The official Feedly App for Android starts but doesn’t reach a state to accept any input before blowing up. The same is true of both its large and small widgets too. I can’t even view the web interface of feedly, as it continually redirects me to the android.html app download page.

Fortunately, there are alternatives, some of which are obliquely mentioned on that android.html page, so I’m not completely lost.

One alternative that I’d previously tried on a loaned low-end phone after Google Listen’s removal from the store was gReader – an RSS reader with podcast support – and that has been updated to support Feedly and The Old Reader since Google Reader has been pulled.

gReader s a very viable replacement to Google Listen that knows which podcasts I’ve listened too, thanks for feedly’s proper import of my full Google Takeout data and integration with my Google account, and although it lacks a widget, it also works to view RSS News Feeds which it can display in preview (and even read it to you in your preferred language – click the Loudspeaker icon)( open in my web browsing apps (I use the Android Internet browser sometimes, but often use Opera Mini). Firefox isn’t compatible with my phone.

gReader seems quite happy on a low-end phone – I believe it uses the Android OS’s internal audio decoders for MP3, AAC (MP4 or M4A file extension) and Ogg Vorbis (OGG) and it’ll keep me happily occupied with interesting podcasts while I’m doing mundane tasks and occasionally losing WiFi coverage.

A feature it lacks in the free version is downloading. It pops up as a button next to Stream, but says it’s only available in the paid version. I don’t think the paid-for Pro version actually supports automatic downloading (essentially pre-caching) of new episodes ahead of time – instead requiring the Download button to be pressed beforehand (that’s all I can glean according to http://www.greader.co/podcast/) so it doesn’t encourage me to upgrade to Pro at this time. Then again, after reading a thread on the gReader list, I was referred to, it seems it might automatically download podcasts (Settings-> Offline Reading-> Download Audio/Video and the setting menu on the free version does seem to match the menu on the Pro version but report that such functions are available only in the Pro version. I’m very tempted to give it a try, seeing as doggCatcher won’t work on my phone)

My other option is to use either my laptop to click through various pages from Feedly and download the MP3 files I want to play in the built-in Music app, or simply click on the Globe in the bottom-of-screen transparent bar in gReader upon which Opera Mini’s minimisable download manager can grab the MP3 for me to play in Music or my app of choice, which can automatically play one file after another. OK, it won’t display the show notes, but that’s fine for handsfree audio only use (and it will offer pause control on the lock screen too).

My other option is probably to get my hands dirty and really try to use a language like Python (Google’s lectures on beginner’s Python are on Youtube and demonstrate the power of what it can handle via libraries). I could use the web-interface libraries to download my list of unread podcasts from Feedly and parse them for the URLs of however many episodes I wish to download and get those in one operation. I’d hope I could also send something back to feedly to optionally mark them as read. If I do get something like that up and running, I’ll endeavour to share it on this blog.

In the end, I’d also like to try my hand at Android app development, and I think there’s a good deal I can hand off to built in functions of Android (Music playback, internet handling, even HTML display, which should all be compatible with the capabilities of the device, so should remain responsive) and really do the job of linking it together and providing an interface and suitable options with little fuss.

Back to gReader as it stands, I’m sure there are features I’ll miss and extra features I’d like (e.g. a dynamic range compressor or volume leveller for boosting quiet podcasts on speaker), but gReader will satisfy my desire for my favourite podcast content without having to sync my phone to my PC and it’s a responsive, fairly intuitive app to tide me over at least until I upgrade my phone, perhaps when 4G finally arrives in my area.

Want to contact me? Here’s the form:

1991 Formula One Grand Prix drivers.

I dug out an old printout from an ancient Amstrad personal computer, which I remember fondly for its bizarre spell checking results (which you could blindly apply to the whole document). I recall that a future year’s line-up also listed a driver misnamed Pears Macabre (sadly in a team that rarely got through pre-qualifying) who later went on to be the original black Stig on BBC’s Top Gear. Had I become Heston Blumenthal, pears macabre would’ve been my signature dish, served at my Alert Cafe (10).

Anyhow, unless you are completely Inn Capable (16) of Magic Guessing (15) look through the following list and see who you can decipher or who has just been given a funny name. You can check on Wikipedia for those you don’t get.

Enjoy!

Using default spelling corrections suggested by Locoscript 2 Word Processor spelling checker (British English)

No. Driver Nationality Team
1 Abortion Seen Bra Milkmen/Hoed
2 Germans Beaker Aunt Milkmen/Hoed
3 Satire Nagging Jab Tyre/Hoed
4 Steady Model It Tyre/Hoed
5 Nice Mangle GO Willing/Result
6 Richer Papers It Willing/Result
7 Margin Bramble GO Bra/Yacht
8 Mark Blander GO Bra/Yacht
9 Mischief Alerted It Footer/Porch
10 Alert Cafe It Footer/Porch
11 Mild Habits Fin Lots/Judge
12 Margin Done GO Lots/Judge
14 Old Gravelled Fry Fonder/Fold
15 Magic Guessing Bra Lesson House/Ill
16 Inn Capable It Lesson House/Ill
17 Garden Tarring It AGE/Fold
18 Steal Joins Swam AGE/Fold
19 Negro Pirate Bra Beneath/Fold
20 Robber Moment Bra Beneath/Fold
21 Emerge Pier It Daily/Fold
22 J J Left Fin Daily/Fold
23 Piercing Margin It Minced/February
24 Given Mobile It Minced/February
25 Theory Boasted Be Lighter/Labelling
26 Erase Combs Fry Lighter/Labelling
27 Alibi Prose Fry February
28 Jean Alert Fry February
29 Erase Beware Fry Load/Fold
30 Again Suburb Jab Load/Fold
31 Pear Mates Chases Pod Colon/Fold
32 Betray Gallon Be Journal/Fold
33 Anger Dead Ceases It Journal/Fold
34 Nicely Lacing It Model/Labelling
35 Erase Van dead Pole Be Model/Labelling