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.