Voice input in games beyond voip chat

Is there any cross platform libraries available for handling input from a microphone?

I am thinking beyond voice chat to noise / voice recognition.

I am putting together a plan for a role playing game and in thinking of features I was thinking it would be nice if the player could be standing in a crowded place and yell and have the npc's react to that and look at the player for example.

As I plan to make this an open source project I want to make it as cross platform friendly as possible.

• Depends, do you want it to actually respond to commands? Or just gauge yelling? – Jesse Dorsey Aug 17 '10 at 23:32
• ideally respond to commands would be good, but I don't know if voice recognition is advanced enough yet to make that a viable option. If it only could understand you some of the time it would just make it frustrating. – Tim Aug 18 '10 at 5:04
• Yeah, voice recognition is very difficult., And like Coderanger said below all of the open libraries are quite a bit behind. – Jesse Dorsey Aug 18 '10 at 13:29

2 Answers

Check out Carnegie Mellon's Project Sphinx it's an open source toolkit for speech recognition. I haven't used it, but it's certainly a place to start.

• Basically all the open-source speech recognition systems are lightyears behind the commercial world unfortunately. The tech is all there, but they haven't had the same amount of time tweaking the pattern engines and they don't have access to the same size and quality of training data (that stuff is \$). – coderanger Aug 18 '10 at 5:59
• For a game you don't need to rely on full-NLP. As long as you keep the available command list short and distinct even basic solutions can work. Here is Sphinx being used in a RTS-like demo example: youtube.com/watch?v=owJS5XwXAEA – wkerslake Aug 18 '10 at 6:49

PortAudio should have a cross-platform input API, but I've never tried using it.