// 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; }
/** * 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(); } }
/** * 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; }
// 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(); }