Sean's Shelf

My reading Tech Stack

As a blind person, books on paper are obviously difficult to access. I mean blind when I say blind too, none of this "oh yes blind but I can drive" nonsense. I am unable to identify anything visually, regardless of how close to my nose it gets. That's my personal definition of blind and that's what I live with. Historically, I've had a few different ways of reading.

Reading tech history

Current Reading setup

The Hardware

I currently listen to my books on a Sandisk Clip Plus MP3 player running the Rockbox operating system. The clip plus was released in 2009 and the Zip in 2011, and I've pinged between both of these models ever since moving to Rockbox in November 2014. I do have alternative hardware lined-up; a modified iPod, an XDUOO device and an Innioasis Y1. But nothing has yet cracked the benefit of the Sandisk's hardware for me.

The clip plus measures 55mm × 35mm × 16mm (2.16 × 1.36 × 0.61 inches), and weighs 24 grams. It has a clip as the name implies, and I keep mine in a protective silicone case. I started with 20 plus hours of battery life on a single charge and now average about 15, which is still more than ample for the vast majority of the time. My only real pain point is the MINI USB connector, which requires me to keep an adapter in my bag along with the battery I use to top-up my phone when out for any significant length of time. The Zip is a Micro USB, which is just a different adapter at this point. They both work identically for my purposes otherwise.

The books themselves sit on a Micro-SD card. I'm using a 64 GB card at the moment, which is enough for well over a hundred solid days of play time using my current setup.

The Software

Rockbox

Rockbox is the OS I'm running on my clips, specifically an Unofficial Rockbox build from Igor B. Poretsky. I chose these builds because of the ability to have extra spoken details on the playing screen.

Rockbox is also insanely customisable. Not only does it have a tremendous equalizer and a whole lot of audio settings, but it just does things that I've come to rely on so well. I can pause my book and, upon resumption, go back a second. that's just over 10 words of listening for me, which is perfect. I can pause at the end of a chapter, so if listening in bed and I'm getting tired, I don't miss too much. I can lock all but the volume and pause keys, so if reading whilst walking, nothing gets knocked. I can add voice recordings to the active folder, so as to make little notes to myself about each book. I can adjust the playback speed without changing the pitch. The player can pause every x number of minutes as is or unless interrupted by a keypress. I can listen to the local radio for news on the hour. I can arrange my books into folders for series, and have as many on-the-go as I like. And every single setting is linked to a configuration file, which I can switch to within seconds: so my "bed time" reading mode pauses more often, whereas my "on the train" mode adjusts the eQ and volume for better listening through the noise and defaults to a more strict keypad lock, whereas my "bath" mode reads for longer and moves to a new book if I finish one without needing me to intervene. and so on ... You get the idea.

Oh, I mentioned the custom build? That lets me hear various things during playback. The current time, time remaining in my chapter and my battery life are my 3 go-to's for that feature. Repeated presses of a key cycles through those 3 things if I press the key within a few seconds. If I just hit it once I hear the time, which is often the most important thing as I get lost in a good book very easily!

Book generator

As I mentioned earlier, I wrote an Eloquence-based book generator for a friend back in 2010. I updated it for Rockbox-compatibility in 2015 and have been using it ever since. It takes in a large variety of file formats courtesy of the Balabolka Text Extract Utility and then turns them into audio using the specifications I've given it for my Eloquence. Currently that drops an AAC-encoded file at 40 kbit/s at a frequency of 11025 HZ, giving me a minute of audio at roughly 23.5 KB. This averages out at about 12.3 words per second,or nearly 740 words per minute and means I can fit approximately 3,113 hours of audio (about 129 days) on my SD card, or in an emergency, 16 days of audio on the Clip's internal memory.

These settings are of course very much specific to me. They include a 2 second pause at the end of each chapter, half a second after the chapter title, a book's quoted dialog offset from narration by a slight drop in pitch, and about 400 dictionary entries to adjust how specific words or phrases are pronounced.

The Future

I can't say where I'll go next, of course. I've yet to find hardware to meet my clip's standards, despite trying a number of other Rockbox-based devices. Inevitably as the clips wear out I'll need to move hardware. The headphone jack is probably my most fragile point, followed by depleting battery life.

Also, the homebrew generator will need updating at some point, particularly as support for 32 bit software comes to an end. I'd like to eventually port it to something more sustainable - perhaps a Linux-based app with SAMBA, so I can just drop ebooks in and get audio folders out. I've got plenty of Raspberry Pi's etc lying around, so maybe one day I'll move it over. I'm presuming Pandoc, or similar, can do the text splitting stuff, so it's just a matter of finagling the audio side somehow. I daresay I won't bother until I have to, though.

But why?

I get asked this a lot, and the "why" breaks down into 2 generic classes of question.

Why not audiobooks? Or why not a more natural voice?

Predictability and speed are the watchwords here. I can't cope with audio books now, they're just far too slow. You can't get 12 words a second out of Audible and be consistent because readers all go at different paces.

And I'm happy with Eloquence. I've had it for decades, I'm used to its nuances, I like its quirks. It just, works for me.

Why the hardware? Why 3.5mm headphones? Why not a phone?

My phone is used for other things when I'm out and about, like the GPS, train tickets, keeping in touch with people, booking taxis. It's also a big thing to schlep around in my pocket when I'm reading in bed, or on the treadmill or whatever. I just like the independence of a separate device which just does one thing well, and that's let me listen to my books. I'm not wedded to the 3.5mm jack, but that's what the current hardware has. I'd go USB-c for a more modern device. Bluetooth is just one extra thing to charge, though.

Unless you can find me a surgical implant to run Rockbox in my skull, I'm happy this way for now.