TalkingArch Has New Maintainers, and a Bit of History

After five years of working on TalkingArch, I’ve finally decided to hand the project to new maintainers. Frankly, I haven’t used Arch in a while. Letting this project stagnate under the direction of someone who doesn’t actually use it is unfair to both the community and me. TalkingArch is now being maintained by a team of two: Kelly Prescott and Kyle (surname unpublished). The new TalkingArch website can be found here:
http://talkingarch.tk.
I believe they’ll be adding a blog soon as well, so hopefully that will get added to Planet ArchLinux as soon as it is up. I think the project is in extremely capable hands!

On that note, it has been a lot of fun! I’m both surprised and glad that Arch really picked up a lot of momentum in the blind community. I don’t really have any statistics, but I wouldn’t be surprised if there were a hundred blind people using Arch. I’ve never really told the story of how I got started with Arch, so maybe this is a good place to do that.

Consider that when I started back in 2008, there wasn’t really a way to install Arch Linux using a screen reader. I investigated the possibility of using a statically-linked pacman binary to install from an existing environment. I was going to boot with an existing accessible CD and run pacman from a USB stick. For some reason, that didn’t work. I couldn’t find an up-to-date binary, or I couldn’t build a static binary on my host. Someone with a little more persistence could have probably done the install with pacman on the host. I gave up on that, and I decided to remaster the Arch CD.

At the time, the Speakup console screen reader for Linux was in a transitional state. Up until kernel 2.6.26, it was impossible to build it without applying a patch to the vanilla kernel. You could build it as modules, but you still had to patch the kernel. If I remember correctly, the kernel on the Arch CD at the time was 2.6.24. I didn’t want to fuck around with patching and building a kernel along with remastering a CD. So Speakup was a non-starter.

For my first stab at a talking install disk for Arch, I settled on YASR, which is a highly portable user-space screen reader for the console. It has been around for years, and it runs on all kinds of POSIX systems, including various BSDs and Solaris. It’s a great program in the Unix tradition, and I wish it had more of a following than it does. I made statically-linked builds of YASR and the eflite text-to-speech server on my host system.

Then, I unpacked the official Arch Linux ISO, unpacked the squashfs image inside it, copied my shit, re-packed the squashfs, built a new ISO, and burned it to a CD-R. Yes, I knew about the Arch ISO scripts. But remember, I wasn’t doing this on Arch, and I didn’t have pacman. Somehow, I managed to mess this up a couple times, wasting some CD-R media in the process. I invested in a pack of CD-RWs, and these days, I only boot from USB. Part of me still pines for the days of floppies. After making a couple of beautiful coasters or frisbees, I finally had something that would boot. It wasn’t quite TalkingArch yet, because once the system was up, I had to log in and start yasr. The login prompt wasn’t accessible, either. If I had thought about it, I would have added a chime to let me know that the system was up and ready for a login. But I was lazy. Nevertheless, this worked. We’ll call it TalkingArch 0.1, even though it didn’t have a name at the time. It was good enough for me to do an install.

About the time I started using Arch, kernel 2.6.26 went into [core]. I figured out how to write PKGBUILDs and use the AUR. My first PKGBUILD was for the speakup package, since it could now be built as modules without a kernel patch. Next, I wrote one for espeakup, which is the daemon that speakup uses to drive the eSpeak software text-to-speech engine. With all of this in place, it would be very easy to build an ISO image that would start a screen reader and text-to-speech as soon as it was booted. Now that I had an Arch system, I did it right, using archiso. I uploaded the first version of TalkingArch to the net, and I wrote up a page on the Arch wiki, describing the steps that one needed to take in order to do an eyes-free install of Arch.

When Speakup got started, there was a tradition in the community of people building talking boot media. Back in the day (2000 or so), it was floppies. You could go to the Speakup site, grab the boot floppy for your distro, and do the install. A modern example is Bill Acker’s Speakup Modified Fedora install ISO. Some distributions actually include Speakup on their media, and I’ll discuss that shortly. I was just continuing in the grand old tradition of supplying install media with built-in speech.

I soon contacted Aaron Griffin and others about my little project. We discussed the possibility of including Speakup in the official Arch media. It’s certainly feasible, but here’s the problem. In order for this to work, the blind user has to be willing to type some parameters at a boot prompt. That’s doable, especially if the boot loader is set up to beep at the boot prompt, and the machine has a console speaker. Yes, I mean the old PC speaker that has been with us since the dawn of time. I think my friend Karl calls it a toggle speaker. They’re invaluable if you’re blind! Unfortunately, not all new machines have them. If you’re booting from CD, you can also listen to the sound of the drive to know when you’ve reached the prompt. This is effective if there’s a long timeout at the boot prompt. Anyway, it’s certainly nicer to just have a system that comes up talking as soon as it’s booted. There’s no “blind” typing. So the long and the short of it is that we discussed folding Speakup into the official media, and I think most of us came out against it. All of that discussion is probably available in mailing list archives somewhere, since the Internet never forgets! I kept on doing TalkingArch releases.

Thus was born TalkingArch, a derivative of the Arch install media including accessibility for the blind. After my second or third release in March 2009, Alan McRae asked me if I was interested in becoming a TU. I applied, and he sponsored my application. I was a TU until October of 2012. Arch has a great community, and it was good to be part of that.

So now you know a little bit of the history behind this project. I think it has a bright future ahead, and I wish Kyle and Kelly the best of luck with it.

August 2013 TalkingArch Snapshot Now Available

TalkingArch.2013.08.05 is now here. As usual, links are available on the
TalkingArch download page.
I now provide a .torrent file, and I highly recommend downloading via BitTorrent. If you can, please seed. It is a trackerless torrent, so it may take a while for the download to start.

This edition of TalkingArch is more-or-less in sync with the 2013.08.01 Arch Linux image.
However, I am currently including kernel version 3.9.9 with TalkingArch. I’ve read various reports of issues with Logitech wireless input devices under the 3.10.x kernels. I use a Logitech wireless keyboard, so I’m including a kernel that is known to work with it.

The biggest user-visible change in this snapshot is the sound card chooser script. If you have multiple sound cards, the script uses pre-recorded audio to prompt you to choose one. This fixes an issue where HDMI audio was (incorrectly) being chosen by ALSA as the default audio device. I have this sneaky little suspicion that the script will fail for somebody. If it does, email chris at the-brannons dot com, and I’ll do my best to fix it. Yes, the recorded voice is mine, and I yammered entirely too much.

Official Arch Linux images are being produced far more frequently these days. I’ve done a lousy job of keeping TalkingArch up-to-date. I apologize, and I’ll try to do a better job in the future.

How HDMI Audio Breaks TalkingArch

A while ago, someone posted to a mailing list, stating that TalkingArch wouldn’t speak once their system was booted. After exchanging more email messages, we found the culprit: HDMI audio! Rather than using the onboard sound card, ALSA was selecting their HDMI audio as the default output. Needless to say, this isn’t really what we want. I don’t know of a quick fix for this, either.

So here’s what I’m planning. If there are multiple sound cards, we won’t start espeakup automatically at boot. Instead, a small script will run the first time root is logged into the live system. The script will loop through all of the cards, like so:

# This is pseudocode, not executable python!
card_to_use = -1
for card in get_cards():
  play_intro_message(card)
  input = get_input(timeout=30)
  if input[0].lower() == 'y':
    card_to_use = card
    break
if card_to_use != -1:
  set_default_soundcard(card_to_use)
else:
  print("You didn't select a card, using system's default.")
os.system('systemctl start espeakup')

You get the idea. The intro message will just prompt the user to press y followed by ENTER to select this card as the default. Yes, the pseudocode looks like Python, but I’m not entirely sure what language I’ll end up using for this. I wouldn’t be surprised if it is sh + awk, where the awk part parses the output of aplay -l and produces a list of sound card indices. I should be able to hammer out something usable in the next few hours.

In other news, a new TalkingArch is on its way. Several folks have asked me about it. I’ll upload it as soon as the sound card chooser is done and tested.

November 2012 TalkingArch Snapshot Now Available

The November 2012 TalkingArch snapshot is now posted. Get it from the TalkingArch homepage. Note: Speakup has been fixed in recent kernels, so the advice given with the July 2012 snapshot should now be ignored. A vanilla Arch kernel works well.

I’d like to thank Kyle for his assistance with this release. He helped a great deal with testing and documentation, as well as answering questions from users on various mailing lists. Kudos!

July 2012 TalkingArch Snapshot Now Available

The July 2012 TalkingArch snapshot is now posted. Get it from the TalkingArch homepage. If you don’t already know what it is, TalkingArch is a modified version of the Arch Linux install media, customized for blind people. It is more-or-less in sync with the 2012.07.15 official install media, but it has a patched 3.4.6 kernel (see below). If you’ve used TalkingArch in the past, be aware that there have been some changes. These reflect the changes that have been made to the Arch Linux install media. Everyone who is interested in using TalkingArch to do an install should definitely read the associated wiki page.

Note that Speakup is broken with the stock 3.4.x kernel right now. Patches have been sent to LKML, but they haven’t made it into the main tree yet. I patched and rebuilt the kernel package, especially for TalkingArch. If you decide to do an install right now,, I’d advise installing the linux-lts package, rather than the linux package, at least until this issue is resolved.

May 2010 Snapshot

The May 2010 TalkingArch snapshot is here! If you had wireless issues with the April 2010 snapshot, they should be fixed. Also, I added a beep to the boot menu. This is useful if you have a console speaker, because the system will beep when the bootloader is ready for you to do something. Sadly, many systems — including mine — lack a console speaker. So this little improvement won’t help everyone. You can get the May 2010 snapshot from the usual place.

April 2010 Snapshot

The April 2010 TalkingArch snapshot is here! As I promised, the image now provides braille support, via a brltty-minimal package. It is finally available for both of the architectures supported by ArchLinux. Get it from the usual place.

Building Made Simple

Want to roll your own TalkingArch CDs? It just became easier than ever before! Just grab the talkingarch-git package from the AUR. Build and install it. Note that it depends on archiso-git. Read the README file in /usr/share/doc/talkingarch/README for instructions.

This is all rather untested. It’s in a state of flux. I haven’t built any images with it just yet.

Preview of Coming Improvements in 2010

Happy New Year! Here’s a little preview of what is coming in the world of TalkingArch.

X86_64 Images Soon!

For a long time now, people have been asking about x86_64 images. I don’t have the hardware, and I’m not planning to upgrade in the near future. However, I just got an email from Zack K, telling me that qemu can emulate x86_64. The requisite command is qemu-system-x86_64. I now have ArchLinux running on a 64-bit virtual machine, and I’m in the process of building a test image. Stay tuned.

Braille Support

A couple of you want braille support. This put me in a bit of a dilemma. Braille support is provided by brltty, but the brltty package from the official repositories is much too large for inclusion on a small CD. It has entirely too many dependencies. Last month, I decided to make a customized brltty package, named brltty-minimal. It’s in my personal repo, and the PKGBUILD is in the AUR. This should fit nicely onto a CD, without increasing the size too much. Hopefully, the next TalkingArch snapshot will have braille support for those who need it.

The State of TalkingArch

I’m finally getting around to making a real post here! No, the test post doesn’t count.

Looking at my traffic analysis reports, I note that I’ve distributed more than 6 GB of TalkingArch CD images since September! That’s quite amazing. I suspect that many of the downloads came from people who were already using my older releases. There were probably some new users in that bunch as well. If you’re using TalkingArch and you haven’t yet contacted me, feel free to drop me a line and let me know about your experiences. All in all, I really appreciate comments, and I try to answer questions to the best of my abilities.

My address is cmbrannon79 AT gmail DOT com.