A long time ago, I had the same idea. I think this is not too complicated and can be done. Here's how I do it:
1 - I would use Java because it is platform independent.
2 - If you are going to create a stand-alone application, the local computer will not process the application server, as is the case with web applications. I also believe that your program will only be used by one user at a time. I think you will not have big problems with the volume data to process if you implement some kind of buffering mechanism.
3 - Sound quality will depend on various factors, such as: recording noise, formatting, sound speed ... Please note that many text applications that exist on the Internet, sound quality is in order, but you will never feel that it real person who reads. (I recommend you a female voice, it sounds better).
4 - As regards libraries and other gadgets, I think you might need:
-Java Standard Development Kit (to work with java)
-A good IDE: There are many things you can get for free. My favorite eclipse , but if you start with java, you can start with netbeans many say that it is more intuitive to learn.
- JLayer MP3 library This will help you play sounds in java.
- javax.swing Is a Java library that is included with the developer and allows you to create rich graphical user interfaces. Also, if you are new to the swing, I would recommend a great swing development environment called JFormDesigner , take a look at it, your development is many (it's a great tool).
Hope my answers can give you some advice.
Update
I think that it would be correct to also mention that the only minimum requirement that users of your application will have to run the application:
JRE (Java Runtime Environment)