I need an API or library (preferably free) that will convert voice/speech through a microphone, into text (string).
Additionally, I will need an API or library that can do text-to-speech.
I'd like to use C# and .NET, but other languages will suffice.
Thanks.
You can use CMU Sphinx as it is pretty open and scalable solution and I think it can be used at both client and server side:
http://cmusphinx.sourceforge.net/
If you are looking for a Microsoft desktop solution then you can use SAPI:
http://msdn.microsoft.com/en-us/magazine/cc163663.aspx
On server side, you can use Microsoft Unified Communication, but do consider licencing as well:
http://www.microsoft.com/uc/en/gb/default.aspx
Update:
This thread has also some good reference: