I'm looking for 3 c++ libraries that do rather specific things and I'm having trouble finding them. I would prefer them be free and open-source so I can in turn release the program I make as free and open source. Also platform specific is ill-favored but Linux compatibility is high on my list of necessities for a server based implementation later down the road.
Here is a list of what I'm looking for:
1. Voice to text engine (a library that takes input from a microphone and converts it into some sort of data type I can manipulate in C++)
2. Voice synthesizer (a library that takes a some sort of data type and converts it to audio which is either passed to another library or piped directly to the computer's speakers)
And number 3 is more of a database but:
3. A database containing the English language, every word's possible grammatical type (i.e. verb, adjective, adverb, noun, etc.), and each word's definition.
Any suggestions for where I could find these tools (or a set of tools that would accomplish the same thing) would be appreciated. =) I've been Google-ing all night and can't find anything practical.
I just found that #3 is called Part-of-speech tagging. I don't need something that tags the specific part-of-speech that a word represents, what I need is a database containing ALL possible parts-of-speech any certain word may represent. For example Jump can act as a transitive verb, intransitive verb, adverb, or noun and can have multiple definitions for each sub-category.
For #2 - there's a program called "espeak" that's released under the GPL which might be useful. I haven't played with it much lately, so can't remember if it's particularly extensible/modular.