예제 #1
0
 // appelé par loopText et playText avec valeur flagloop différente
 public void play(String text, boolean flagloop) {
   if (!on) return;
   an = new Analyser(text, prosodie);
   Vector<Phoneme> listePhonemes = an.analyserGroupes();
   s =
       new SynthetiseurMbrola(
           lt.getVoix(),
           ConfigFile.rechercher("REPERTOIRE_PHO_WAV"),
           ConfigFile.rechercher("FICHIER_PHO_WAV"));
   // System.out.println("RAPIDITE: "+ConfigFile.rechercher("RAPIDITE"));
   if (flagloop) s.loop();
   else s.play();
   sjoue = true;
 }
예제 #2
0
 /**
  * Pour stopper la synthèse vocale et donc arrêter le son en cours de lecture on stoppe le jukebox
  * jk, qui lit les sons wave, le lecteur texte lt, et la synthèse s
  */
 public void stop() {
   if (!interruptible) return;
   if (jk != null) jk.stop();
   if (lt != null) lt.stop();
   if (sjoue == true) {
     sjoue = false;
     s.stop();
   }
 }
예제 #3
0
 /**
  * Pour lire un texte court (sans ponctuation) à voix haute
  *
  * @param text, chaîne de caractères à lire à voix haute
  */
 public void playShortText(String text) {
   if (!on) return;
   an = new Analyser(text, prosodie);
   Vector<Phoneme> listePhonemes = an.analyserGroupes();
   s =
       new SynthetiseurMbrola(
           lt.getVoix(),
           ConfigFile.rechercher("REPERTOIRE_PHO_WAV"),
           ConfigFile.rechercher("FICHIER_PHO_WAV"));
   s.play();
   sjoue = true;
 }
예제 #4
0
 // pour créer des fichiers wave en silence
 public void muet(String text, String out) {
   // if ( !on ) return;
   an = new Analyser(text, prosodie);
   Vector<Phoneme> listePhonemes = an.analyserGroupes();
   String chainePho = an.afficher(listePhonemes);
   try {
     FileWriter fw = new FileWriter(out + ".pho");
     fw.write(chainePho);
     fw.close();
   } catch (Exception e) {
     System.out.println("erreur création fichier phonème.");
   }
   s = new SynthetiseurMbrola(lt.getVoix(), out, "");
   s.muet();
 }