Le Sat, 13 Sep 2008 17:42:12 +0200
"Olivier BERT" <[EMAIL PROTECTED]> écrivait:

> Un équivalent de Cicero en C++, vraiment ? Ca ça m'intéresse!
> 
> Je souhaitais avoir une voix de cette qualité sur mon Iris (un PDA braille) 
> que je fais tourner sous Linux. Le processeur étant peu puissant, Cicero 
> mettait 30 secondes à se lancer et il avait ensuite tendance à planter quand 
> on lui envoyait trop de texte à la fois.
> 

Ici, Cicero en c++ tourne depuis un an sans plantage, sur deux machines (ubuntu 
gutsy et hardy).
La tendance du cicero original à planter sur les textes longs provient 
probablement d'une erreur : en réécrivant cicero, j'ai eu évidemment la même 
erreur, puisque j'ai suivi l'original à la lettre.

-------------
pour les curieux : c'est dans la procédure prosodize() de ttp.py :

python :
for p in phos:
   if phonems[p][0] == 'V':
     pitches.append(pitchdef.pop(0))  <- erreur si vecteur pitchdef est vide : 
ce qui peut arriver !
   else:
     pitches.append(None)

c++ : Je me suis aperçu de l'erreur en lisant de gros textes convertis à partir 
de rtf. De là le commentaire (mais peut-être que cela n'a rien à voir avec le 
rtf...)
for (unsigned j=0; j<phos.size(); j++)
    {
      // ajouté test sur taille du vecteur pitchdef
      // évite segmentation fault sur certains fichiers rtf
      if (phonems[phos[j]][0] == "V" and pitchdef.size() > 0)
      {
        pitches.push_back(pitchdef.front());
        pitchdef.erase(pitchdef.begin());
      }
      else
        pitches.push_back(" ");
    }
------------

Pour en revenir à la version c++ : elle est en gpl, of course ! Donc à 
disposition...
Amicalement
Erwin

_______________________________________________
Liste de diffusion CarrefourBLinuX 
    [email protected]
    http://lists.freearchive.org/mailman/listinfo/carrefourblinux
Pour s'inscrire par courriel : 
    'mailto:[EMAIL PROTECTED]'
Pour se retirer de la liste par courriel : 
    'mailto:[EMAIL PROTECTED]'

Archives : http://lists.freearchive.org/pipermail//carrefourblinux
Anciennes archives (Yahoogroupes) :
    http://fr.groups.yahoo.com/group/carrefourblinux/messages
Rechercher : http://lists.freearchive.org/cgi-bin/search.cgi

Signets : http://fr.groups.yahoo.com/group/carrefourblinux/links/
Fiches EDU : http://blinuxwiki.pbwiki.com/FichesEdu

Répondre à