Making an app to do audio transcription

Back in the day, I used to write articles for MSDN, and I started up this column called “Coding 4 Fun” (the name lives on today along with some of the same spirit). The premise was that I would write about code I wrote for my own personal use. An app to sync photos from my computer to my mother’s so that she would get updates of the kid’s pictures. A remote control using my Pocket PC (yep, that was a while ago). You get the idea.

That mostly all stopped when I joined the Channel 9 team. I didn’t just stop writing articles, I mostly stopped writing code for any reason other than work. Perhaps that’s a bad thing, but either way … no more writing about code for a few years.

A month or so ago though, I was searching the internet for a solution to a problem for my wife Laura. She writes articles for ParentMap (a local parenting publication here in the Seattle area), and as part of that job she records interviews with people on digital recorder. I noticed that after recording the interview, she would spend a long time transcribing the interview from the sound file into text. You can probably understand how time-consuming that is using something like Windows Media Player. Press play, type for a bit, use your mouse to move the slider back because you missed something, go back to typing, slide it back, pause it, play it… it took ages to turn the audio into text. My first thought was some sort of speech recognition, but:

  • since she would be quoting people it had to be exact, not close and
  • the results I experienced running a few of her recordings through a few apps ranged from hilarious to terrible.

So I downloaded a bunch of apps, free or trial versions, that seemed to be what I wanted … an app for you to control audio playback while you typed up the transcript. Some of the high-priced ones, meant for legal or medical transcription, looked perfect… but Laura is not getting paid doctor or lawyer money to write these articles, so paying those types of prices seemed very wrong. Instead I decided to write something myself. This is the result of maybe 30-45 minutes work, and most of that was spent fiddling with different key bindings for controlling the playback.

The key bindings I settled on were designed to allow you to keep your hands on the keyboard during the entire transcription.

  • Tab pauses the audio, press it again to jump back 5 seconds (configurable) and resume playback
  • \ (which happens to be in a good spot on my keyboard and my wife’s … opposite side but same spot as Tab) just jumps back 5 seconds without pausing.

It works really well for her purposes; well enough that I thought I should post it. So here you go, it is a Visual Studio 2012 package, written in C# and posted here in a zip.

If you just want to run it, I’m not offering free support but you can click on this link and follow the instructions from there:

At home, recovering from surgery

It has been a crazy past few months for my health, or at least the appearance of my health.

For about 30-something years now, I’ve had problems with my tonsils. This has included one or more bouts per year of tonsillitis, quite a few cases of strep throat and a ton of colds that just seem to end up hitting me as sore throats and lasting way longer than it seems like they should. All standard symptoms of someone who needs their tonsils removed, which is what various doctors have been telling me and my parents for the past 30-something years 🙂

When I still lived at home, and this decision wasn’t up to me, it turns out that my grandfather (who was a pediatrician) disagreed with how quickly most doctors would removed tonsils, so whenever a doctor would suggest that I have mine out he would suggest that we just wait and see if the problem went away on its own. The problem of the moment would always go away, even if it was due to come back in a few months, so we kept that cycle up for many years. Eventually, I became an adult and it became my problem… and it wasn’t long before I ended up noticing the pattern of illness hitting my throat and headed into see a doctor. Canadian healthcare is great if you need something and if you don’t have the money to pay for it, but that benefit produces a system that is generally short on resources. When you go into a Canadian doctor, in my experience, with something that isn’t absolutely necessary (even if it would be a good idea in the long run) then they are likely to suggest you not bother with the procedure, that you try a prescription instead or just waiting it out. That lack of enthusiasm, combined with my own lack of confidence about what I needed, led to many more years without my tonsils being removed. Over the past few years in the US medical system though, I’ve had so many different doctors look at my throat and straight-out tell me that my tonsils really need to come out, that I finally decided to do it. I made the appointment and on Tuesday of this week, they were removed. Now I’m stuck at home, recovering, with a very sore throat and some great prescription pain killers…

What makes this whole experience a bit confusing to my co-workers is that I’ve also been going through a completely different and unrelated medical problem at the same time. For reasons that aren’t completely understood, the hair on my head has started to fall out… rapidly and in big patches. This is a medical condition known as alopecia areata, essentially partial hair loss. This isn’t a sign of any underlying health problems, but it sure looks like it is… and people don’t really seem to believe you when you tell them that it is just a weird type of hair loss and that it isn’t anything to worry about. Combine that problem, which eventually led to just shaving my whole head to avoid looking all patchy, with scheduling some time off for some upcoming surgery and people start looking at you like you aren’t going to make it through the summer.

Fun stuff… but in both cases it is temporary and I’m happily recovering… maybe I’ll even manage to have my hair grown back in over the next few months.

Sunburned at a Chess Tournament

Well, this certainly isn’t something that happens all that often, but after spending all day at a chess tournament (at Wellington Elementary in Woodinville) on Saturday, I ended up with a sunburn on my face and arms! It turned out to be a really nice day, which was good, since the waiting area for parents and kids (where the parents spend up about 6 to 7 hours, and the kids spend all the time between matches) was outside. Never seen that before, and it was cold and wet enough when we arrived that I was pretty unimpressed with the idea. In the end though, it was very sunny out there … and it certainly gave Connor a lot of fresh air between his matches (which were inside the school gym).

Another chess tournament this weekend, last one before the state championship

ChessGame A new father-son activity for Connor and me has been to go to chess tournaments, spending a few Saturdays throughout the year in some school gym. Starting last year, we started to play chess at home and he enjoyed it so much that we decided to enter into the Shelton View Elementary school’s chess tournament in the Kindergarten category. He did well and had a lot of fun, so it has become the hobby of choice around our house. The best thing about taking him to a tournament is that you can’t really tell from his face whether he has won or lost when he comes out of a match, he always seems to be enjoying himself regardless of the outcome. Tomorrow’s tournament is the last one before the state competition (which he qualified for and we decided to attend as well, since it is in Redmond this year), so I expect a lot more first-time tournament players will be attending in the hope of winning 3 out of their 5 games and qualifying for state.