You can only synthesize actual sounds, not phonemes, which are abstract constructs in phonological analysis. IPA letters stand for a range of actual sounds which may be particular phonemes in a language, for example [a] or [ʕ]. So there isn't one correct pronunciation of these letters, there are very many. The reason why there is no program that tells you if your attempt is right or wrong is that there isn't an standardized reference value.
There are various tokens of expert IPA pronunciations of vowels (the easiest to deal with) by House, Wells, Ladefoged, Esling and Jones, plus a set of F1 and F2 measures from Catford, and they all disagree with each other in some non-trivial way over the pronunciation of vowels. Unfortunately, there also aren't a wide range of tokens from each performer (and the Jones and Ladefoged recordings are poor enough quality that they are of questionable utility), so it's not currently possible to develop a picture of the probability of a particular vowel categorization in terms of formants.
The solution adopted by most people is to make up their own values of sounds, if they have heard such a sound in some language, or have taken a phonetics class where the instructor performed the sound. This is in contrast to the traditional approach to IPA, where a trained expert trains other trained experts – not a particularly popular approach to phonetics now. The alternative is to search for the best set of IPA performances by an expert. This is John Esling's IPA chart and this is Peter Ladefoged's. This cannot correct you, but it at least provides you a model.