Forum général.cherche-logiciel Text-to-speech chinois

Posté par .
1
6
fév.
2010
Bonjour à tous,

je recherche depuis un petit bout de temps un logiciel de text-to-speech gérant le mandarin et qui soit disponible sous Linux (si possible libre, mais devant l'offre, je pourrais faire une concession...). Est-ce que cela existe déjà, ou y a-t-il des projets en cours que je pourrais aider?

Un logiciel faisant l'inverse pourrait également m'intéresser.
  • # Allez, tiens, c'est cadeau.

    Posté par (page perso) . Évalué à 3.

    Je peux te proposer ce projet, qui semble répondre à tes critères. Oh, et je l'ai trouvé à l'aide de ces mots 'mandarin text to speech gpl' ; et sur la première page de résultat d'un moteur de recherche quasi incontournable.

    http://e-guidedog.sourceforge.net/ekho.php
  • # Degré de fiabilité souhaité ?

    Posté par . Évalué à 2.

    Si tu te bases sur les caractères, les deux projets me semblent très très difficile à faire de manière fiable. Sur le pinyin, c'est peut-être faisable.

    Je ne connais pas ton niveau en mandarin, mais beaucoup de caractères ont plusieurs prononciations possibles (多音词) suivant leur sens, le mot dans lequel ils entrent en composition, etc. C'est très difficile pour un ordinateur (et parfois pour un débutant) de retrouver quelle prononciation utiliser en fonction du contexte. Renseigne toi sur les outils de conversion caractère-pinyin pour voir les problèmes rencontrés et les solutions possibles. Les outils les plus basiques ne gardent que la prononciation la plus fréquente de chaque caractère, d'autres s'aident d'un dictionnaire de mots entiers, mais il n'en existe pas de parfait.

    Un convertisseur pinyin vers son semble déjà plus accessible. Le pinyin étant fait pour servir de guide à la prononciation. Il n'y aurait que quelques petites difficultés comme le 'tone sandhi', le fait que lorsqu'il y a deux troisième tons à la suite, le premier passe au deuxième, mais tout semble accessible pour obtenir un résultat correct.

    Pour l'inverse, son vers pinyin est peut-être possible, mais son vers caractère me semble complètement utopique, encore plus que caractère vers son. Il y a un nombre d'homophones très important et je ne pense pas qu'un ordinateur soit capable de retrouver le bon caractère de manière fiable.

    Ceci dit, tout dépend du niveau de qualité final voulu. Tu veux cela pour quelle utilisation ?
    • [^] # Re: Degré de fiabilité souhaité ?

      Posté par . Évalué à 2.

      Eh bien j'utilise depuis un bout de temps Anki pour réaliser des flashcards, et après avoir essayé diverses méthodes, une qui me convient bien est de partir d'une phrase en pinyin (en regroupant les pinyin des caractères appartenant à un même mot ou à un même groupe logique, afin de faciliter un peu). À partir de ça, je la lis à voix haute, me demande si je la comprends et essaie de l'écrire. Certains contesteront sans doute cette méthode, mais elle a formidablement bien marché pour moi.
      Cependant j'aimerais à présent remplacer cette phrase pinyin par une phrase lue, afin également d'entraîner mon oreille (n'ayant plus vraiment de difficultés sur la lecture).

      Je prends bien note de tes commentaires, mais pour les caractères à plusieurs prononciations les plus courants, pas mal de sites se débrouillent vraiment bien à trouver quelle est la prononciation adaptée. À la limite, ça ne me dérangerait pas d'avoir à choisir moi-même pour les caractères ambigus quelle est le pinyin voulu, tant qu'ensuite la production sonore est correcte. Quant au processus inverse, à partir du moment où l'on aurait un speech-to-pinyin fonctionnel, alors est-ce que cela ne reviendrait pas simplement à une frappe au clavier? Ici aussi, certains logiciels de frappe pinyin sont très intelligents (et bien meilleurs que scim-pinyin), ça pourrait donc sans doute être combiné.
      Au final, je pense que le problème se situe bien plus du côté de la production sonore que du côté du script utilisé (caractères (simplifiés/traditionnels) ou pinyin).

      J'ai essayé Ekho, mais sur ma machine le résultat produit est bien faible. J'aurais mieux aimé savoir si des gens utilisaient déjà ce genre de logiciels et si il y en avait de qualité.
      • [^] # Re: Degré de fiabilité souhaité ?

        Posté par . Évalué à 2.

        OK, si tu passes derrière pour corriger chaque phrase et vérifier ta fiche, pas de souci, mais je ne suis pas sûr de l'intérêt de la manip'. Le résultat obtenu sera de toute façon très mécanique, pas naturel du tout. Je ne suis pas convaincu que ce soit une bonne idée d'entraîner ta compréhension orale de cette manière. Le mieux serait d'avoir un copain chinois qui t'enregistre les phrases. Cela peut aller très très vite pour lui et le résultat sera beaucoup beaucoup mieux. Par exemple, ce site fait ce que tu veux : http://www.purpleculture.net/Chinese-Character-Pinyin-Conver(...) mais le résultat ne me semble pas fou.

        De mon expérience d'apprentissage du mandarin (toujours en cours ;)), la compréhension orale vient après l'apprentissage d'un mot, et tu n'es pas obligé de tout faire dans Anki. Il faut écouter des extraits audios faciles pour ton niveau, du genre dont tu n'aurais pas vraiment de difficultés à lire le transcript, et essayer de bien distinguer chaque mot. Sinon, une nouvelle était passée récemment sur Perroquet, un logiciel libre de compréhension orale, ça pourrait t'intéresser.

        Pour revenir à Anki, moi aussi je m'en sers tous les jours, alors j'aime bien avoir l'avis de quelqu'un d'autre. Tu ne fais tes fiches que dans un sens, pour écrire les caractères, tu n'as pas de sens 'lecture de caractère' ?
        • [^] # Re: Degré de fiabilité souhaité ?

          Posté par . Évalué à 2.

          En fait, ça ne me dérange pas de corriger si nécessaire, je considère le temps passé à créer mes cartes comme une part de l'apprentissage.
          Bien, pour le passage caractères=>pinyin, je pourrais sans problème m'en passer (dans le cadre d'un logiciel) pour commencer, je m'en passe déjà en utilisant des sites ([www.nciku.com] principalement, et si j'ai un doute je demande à des amis), c'est plutôt, comme je le disais, la production sonore qui me manque, et là le besoin d'un logiciel se fait sentir, car les quelques sites qui proposent ça, c'est à la fois de mauvaise qualité et long à charger.
          En effet, le site que tu as mis en lien "n'est pas fou", ils utilisent une banque de toutes les syllabes possibles et les diffusent les unes après les autres, et on se retrouve avec des silences plus ou moins longs au début et à la fin de chaque syllabe, sans compter le volume qui n'est pas du tout le même. Ekho a ce niveau là était déjà bien mieux. Enfin le text-to-speech n'est pas quelque chose de simple, je me doute bien.

          Pour ma part, la compréhension orale vient de beaucoup d'écoute même sans attention, et au fur et à mesure je comprends des mots que je connais, et parfois j'entends clairement des mots que je ne connais pas (et ensuite je les apprends).
          Concernant Perroquet, j'aime beaucoup l'idée. La prof d'anglais en école d'ingé avait une méthode originale (comparé à ce que j'ai vécu au lycée...), elle nous donnait un extrait de flash info, on pouvait l'écouter autant de fois qu'on voulait (chez soi) et on devait le mettre sur papier. Avec une telle méthode, pas mal de monde faisait de gros progrès d'écoute. Il me semble donc que l'idée de Perroquet est très bonne.

          Cependant, pour revenir à Anki, mon modèle d'apprentissage me convient plutôt bien, mais si je remplaçais ma phrase pinyin par son équivalent audio, le modèle acquerrait une nouvelle dimension. Enfin, pour répondre à ta question, je n'utilise pas de mode lecture des caractères car c'est beaucoup plus facile, si je sais écrire une phrase, je sais la lire (l'inverse n'étant pas forcément vrai). De plus, si je mettais une face "phrase chinoise en caractères", que mettrais-je de l'autre? Une traduction ne m'est pas utile (en plus d'apporter un biais assez négatif à ma compréhension), une romanisation pourrait être pas mal mais sur des quantités, je sais que je n'y porterais pas attention (alors qu'en partant de la romanisation je suis obligé de faire attention aux tons pour pouvoir produire un sens correct).
          Des conseils quant à cette façon de procéder, ou bien comment procèdes-tu?
          • [^] # Et...

            Posté par (page perso) . Évalué à 1.

            Pardon de vous déranger, mais du coup vermillon, as-tu testé ekho ? As-tu trouvé d'autres candidats ?

            Je reviens à la question originale parce que ça peut intéresser d'autres personnes...
            • [^] # Re: Et...

              Posté par . Évalué à 2.

              [cite]J'ai essayé Ekho, mais sur ma machine le résultat produit est bien faible.[/cite]

              Il m'a fallu lutter un peu pour l'installer, je me suis ramassé pas mal d'erreurs à l'utilisation (accès impossible au périphérique audio), mais j'ai finalement réussi à le faire marcher. Il me supprimait toujours le dernier caractère et le débit n'était pas très naturel. Si je comprends bien leur site et le manuel, le logiciel semble plutôt mettre l'accent sur le cantonais (c'est du moins le mode par défaut dans la ligne de commande et dans la démo sur leur site).
              J'ai également essayé zhspeak, qui est leur solution "plus légère" en python (8M contre 70). Le résultat me paraît équivalent, c'est rapide mais il m'enlève toujours plusieurs caractères au moment de parler, alors même qu'il a bien fait l'interpretation caractères à pinyin. Il semble que dès qu'il comprend que deux caractères forment un même mot, s'il n'a pas ce mot d'enregistré (même en ayant un enregistrement des phonèmes qui le constituent), il ne le prononcera pas.

              Le problème, c'est principalement qu'ils utilisent une base de tous les phonèmes disponibles en chionois et qu'ensuite ils les alignent après avoir fait une romanisation des caractères. Ekho et Zhspeak se débrouillent pas mal pour ce type de fonctionnement, les caractères lus ont un volume et une qualité sonore identiques. Ça peut dépanner, mais ça n'est pas naturel.

              Je ne m'y connais pas plus que ça, mais dans une langue qui ne fonctionne pas par caractères et qui aurait un nombre de phonèmes beaucoup plus importants (genre l'anglais?), on ne fonctionne pas en enregistrant tous les sons qui existent. Je crois qu'ils font de l'apprentissage, basé sur l'enregistrement de quelques centaines de phrases prononcées par une même personne (quelques centaines semblant être assez peu en terme d'apprentissage) et qu'ensuite ils font une synthèse vocale. Ça m'intéresse beaucoup mais pour l'instant je n'y connais rien.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.