예제 #1
0
 /** Constructeur par défaut : voix de Thierry prosodie = 3, la plus performante */
 public SIVOXDevint() {
   jk = null;
   sjoue = false;
   on = true;
   lt.setVoix(1);
   prosodie = 3;
 }
예제 #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 fixer la voix utilisée si la synthèse parle
  *
  * @param voix, de 1 à 7
  */
 public void setVoix(int voix) {
   int vox;
   int nbvoix =
       Integer.parseInt(
           ConfigFile.rechercher("NBVOIX")); // nombre de voix disponibles dans ressources
   System.out.println(nbvoix);
   vox = (voix > nbvoix) ? nbvoix : voix;
   vox = (voix < 1) ? 1 : voix;
   lt.setVoix(vox);
 }
예제 #4
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;
 }
예제 #5
0
 /**
  * Constructeur pour fixer la voix
  *
  * @param voix, de 1 à 7 pour fr1, fr2, ... fr7
  */
 public SIVOXDevint(int voix) {
   int vox;
   int nbvoix = Integer.parseInt(ConfigFile.rechercher("NBVOIX")); // nombre de voix disponibles
   System.out.println(nbvoix);
   jk = null;
   sjoue = false;
   on = true;
   prosodie = 3; // la meilleure prosodie
   vox = (voix > nbvoix) ? nbvoix : voix;
   vox = (voix < 1) ? 1 : voix;
   lt.setVoix(vox);
 }
예제 #6
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;
 }
예제 #7
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();
 }