Talking Chess
Next week I'm giving a Sphinx-4 talk and demo. The talk is ready, but I still need a good demo. Willie came up with an idea for a really cool demo, but it may not pan out, so I needed a backup demo, just in case. For a backup, I thought I would integrate our speech recognizer with a chess game. The idea is that you can control the chess game with command like "move the queen to A5" I figured there would be few open source all-Java chess demos out there and I'd be able to find one that I could integrate with our recognizer.
Indeed, I looked on SourceForge and FreshMeat and found a number of them. A couple of them wouldn't compile, a couple wouldn't run, one looked really nice, but was too hard to figure out how to integrate stuff into it (I had a budget of an afternoon to do it). Finally I settled in on JChessBoard. The code was simple and fairly clean, and it was very easy to add the speech recognizer to it. Unfortunately, there were a number of nagging deadlocks caused by race conditions due to some improper updates of swing components. A few calls to SwingUtilities.invokeLater fixed this up though. One really good thing about the JChessBoard app is that the computer AI is pretty poor, so I have a fairly decent chance at beating it.
I still have a bit of tuning to do, but it seems to work pretty well. I'm getting very good recognition rates (using alpha, bravo, charlie for those highly-confusable letters). So I guess I'll have something to demo next week when/if the cool demo doesn't work out.
Posted by ct on July 17, 2004 at 03:41 PM EDT #
Posted by Paul on July 17, 2004 at 07:16 PM EDT #