Exemple de programme Java utilisant JSML

Pour lire du texte formaté en JSML, il faut :

Speakable est une interface. Cette référence repère un objet d'une classe implémentant cette interface. Cette classe doit fournir la méthode  public String getJSMLText() qui  renvoie une String contenant un texte formaté en JSML.
Le second argument est un objet d'une classe implémentant l'interface SpeakableListener. Cet objet est à l'écoute d'événements envoyés par le synthétiseur lors du traitement de la phrase.

import javax.speech.*;
import javax.speech.synthesis.*;
...

public class Bienvenue {
   public static void main(String args[]) { 
      try {
         Synthesizer synth = Central.createSynthesizer(
            new SynthesizerModeDesc(Locale.FRENCH));

         synth.allocate();

         MonSpeakable monSpeak = new MonSpeakable();
         synth.speak(monSpeak, null);
         synth.speak("fin du message", null);
            ...
}

class MonSpeakable implements Speakable {
 public String getJSMLText() {
      StringBuffer buf = new StringBuffer();

      buf.append("Bienvenue à ce séminaire ");
      buf.append("<EMP LEVEL=\"strong\">" + "mesdames" + "</EMP>");
      buf.append("<EMP LEVEL=\"reduced\">" + ", messieurs et les autres" + "</EMP>");
      ...
      return buf.toString();
 }
}