Central.createSynthesizer(new SynthesizerModeDesc(Locale.ENGLISH)) obviously returns null. I'm not familiar enough with javax.speech to tell you why, but the Javadoc says that Central.createSynthesizer returns
a Synthesizer matching the required properties or null if none is available
.