This is a tool that maps words to their phonetic transcriptions via a Hidden Markov Model. It can also give phonetic transcriptions for partial words or words not in a dictionary. If a transcription dictionary is provided, the tool can align letters with their corresponding phones. It has been trained on American English pronounciations, but models for other languages can also be created.
You can try out the demo here.
You will need PERL and HTK