InMoov – home forums PROGRAMMATION MYROBOTLAB MicrosoftSpeech

Viewing 18 reply threads
  • Author
    Posts
    • #9238
      Dominique
      Participant

      Afin qu’il n’y a pas de malentendu je vais vous donner quelques explications sur sont fonctionnement.

      MicrosoftSpeech utilise un programme externe à MRL qui ce nomme Jampal (ptts pour la ligne de commande). Les explications d’installation sont dans le post “voix Microsoft”. Pour fonctionner, Jampal a besoin d’un fichier texte dans lequel il y a la phrase à dire.

      Ici, pas question de fichiers MP3 ou autres fichiers audios…(Anthony, impossible d’utiliser le service cache car il y en a pas besoin).

      A la première utilisation du service MicrosoftSpeech, celui ci va créer à la racine de MRL, un fichier “voicetest.bat”. Ce fichier est créé une seule fois. Il contient la ligne de commande qui va lancer Jampal.

      Un fichier texte est aussi créé contenant la phrase à dire et il est à chaque fois réécrit avec la dernière phrase à dire. Une commande permet de spécifier l’emplacement où l’on veut qu’il soit écrit. Pour ma part, je le place dans un RAM disque pour préserver mon SSD.

      Voilà, j’espère que c’est un peut plus clair pour vous. Ne pas hésiter s’il y a des questions.

      • This topic was modified 5 years, 3 months ago by Dominique.
    • #9240
      anthony
      Moderator

      je teste https://github.com/brookhong/tts en parallèle voire ce qu’on peut faire comme cuisine avec tout ça. et vais faire qq test.
      tu sais si on peut ajouter une voix indienne ( hindi ) à MicrosoftSpeech ?

    • #9241
      Dominique
      Participant

      Oui, en faite, Jampal utilise la voix système configuré sur Windows. Il suffit donc d’installer la langue que l’on veut.
      Dans le service, la configuration de la langue n’existe pas.

      Tu peut regarder ici: https://best-of-vox.com/windows…

      Bon c’est payant mais les voix sont top qualité.

      Sinon, les gratuits sont ceux fourni avec Windows.

    • #9242
      Dominique
      Participant

      Bon, mes premiers tests sont concluant. Je diffuserais les corrections ce weekend.

      Il n’y aura plus besoin d’activator ou autre… cela fonctionne comme un autre service de voix…

    • #9246
      anthony
      Moderator

      Hello j’ai poussé une version alternative pour ne pas écraser le service d’origine, ça marche au poil. mais ça reste a tester en profondeur.
      Pas besoin de télécharger un bat+exe c’est inclus

      https://github.com/MyRobotLab/pyrobotlab/blob/master/service/MicrosoftSpeech.py

      reste à ajouter des options comme la désactivation du cache si on veut s’en passer
      je vais faire la valise direction la plage ciaooooooo les amis

      • This reply was modified 5 years, 3 months ago by anthony.
    • #9248
      lecagnois
      Participant

      Bonjour les amis

      Cette nouvelle voix fonctionne comment ?
      Il faut modifier le fichier de config ?
      Quelle version de MRL utilisez vous .

      Pour la plage prévoir de la crème et un chapeau car ici c’est la canicule.

    • #9250
      Dominique
      Participant

      Oui oui Anthony, ne vient pas me la faire à l’envers…

      Surtout ne retire pas MicrosoftSpeech même s’il y a que moi qui s’en sert. Avec les dernières modif que j’ai faite cela fonctionne très bien comme les autres services de voix.

      J’ai jeté un œil à ton code et ce serait bien d’expliquer comment tu utilise “tts.exe” car je le trouve nul part dans Windows. Apparemment tu créés un MP3 ?? explique !!

      Cela doit fonctionner avec les voix SAPI 4 et 5 sinon cela ne sert à rien.

    • #9252
      Dominique
      Participant

      Bon, voilà, MicrosoftSpeech est à jour dans la dernière version de MRL.
      Pour l’utiliser:

      mouth = Runtime.createAndStart("Voice", "MicrosoftSpeech")
      mouth.setLanguage("e:/")

      ici “e:/” est l’emplacement de mon RAM disk. Le texte à lire se trouve donc dans ce répertoire. Mais vous pouvez choisir un autre emplacement. Si setLanguage n’est pas spécifié, alors text.txt se trouve dans le racine de MRL.


      @Anthony
      , j’ai testé tts.exe dans la dernière version MRL. Cela fonctionne avec les voix SAPI 4 et 5 MAIS c’est beaucoup plus lent que ptts utilisé dans Jampal. Avec MicrosoftSpeech, la réactivité est immédiate.

    • #9253
      lecagnois
      Participant

      Hello Dominique
      je vais tester
      Questions pour les néophyte
      – Faut il installer Jampal sur le PC ou maintenant c’est natif dans MRL
      – Dans quel fichier déclare tu le mounth.
      – ou télécharger la dernière version .

    • #9254
      Dominique
      Participant

      – Non ce n’est pas natif dans MRL. Il utilise toujours Jampal mais je crois que tu la déjà installé.

      – Je n’utilise pas la base InMoov, donc tu doit savoir mieux que moi comment ça marche. Tu a fait les tutos… J’ai vu dans le service 5_Mouth, il y a i01.mouth = Runtime.createAndStart(“i01.mouth”, MyvoiceTTS)…. il suffit donc remplacer MyvoiceTTS par “MicrosoftSpeech” pour tester.

      – Tu doit télécharger la dernière version de MRL.

    • #9255
      lecagnois
      Participant

      justement c est pour faire un tuto complet pour les néophytes .
      qui voudrais essayer le voix microsoft.

    • #9256
      Dominique
      Participant

      Super, très bonne initiative. N’hésite pas si tu trouve un problème.

    • #9257
      anthony
      Moderator

      Pour utiliser microsoft Speech ( remplacer MicrosoftLocalTTS par MicrosoftSpeech si vous souhaitez utiliser jampal, après avoir installé les dépendances )

      – Version brute

      https://github.com/MyRobotLab/pyrobotlab/blob/e2e979431b30b427e5dc621677e19fe0eeb08313/service/MicrosoftSpeech.py

      – Version inmoov, utilisez les paramètres suivant dans le fichier de config

      myvoicetts = MicrosoftLocalTTS
      myvoicetype = 0

      pour connaitre la liste des voix disponibles faire un print mouth.getVoices(), ou passez par la ligne de commande de l’outil dans windows.

      Lecanois si tu pouvais dans le tuto expliquer comment chopper des voix gratuites ou payantes avec le lien de dom ci dessus en supplément ça serait cool ! @++

    • #9272
      cholet
      Participant

      Bonjour

      j’ai testé MicrosoftLocalTTS, par contre il ne reconnait plus mon micro.

      comment mettre une autre voix que celle de hortense ?

    • #9275
      anthony
      Moderator

      Coucou cholet, webkitspeech était cassé suite à des modif non liées à microsoftspeech. Enfin je pense que c’était ton problème. c’est réparé.

    • #9282
      cholet
      Participant

      Salut Anthony,

      Nickel sa fonctionne, merci.

    • #9369
      Dominique
      Participant

      @Anthony,

      Depuis le dernier Build 2445, mon robot parle d’une façon bizarre. Par exemple, le mot degrés est prononcé “degrèsse”. le mot “réveillé” est complètement déformé.

      Je vais chercher dans le code MRL mais peut être que tu trouvera avant moi.

      Merci de ton aide.

    • #9370
      Dominique
      Participant

      @Anthony,

      Depuis le dernier Build 2445, mon robot parle d’une façon bizarre. Par exemple, le mot degrés est prononcé “degrèsse”. le mot “réveillé” est complètement déformé.

      Je vais chercher dans le code MRL mais peut être que tu trouvera avant moi.

      Merci de ton aide.

    • #9372
      Dominique
      Participant

      Bon, j’ai trouvé.

      dans le service runtime.java tu a ajouté ceci:

      
      +    
      +    // utf8 trick
      +    // we need UTF8 : runtime don't take command line parameters -Dfile.encoding=UTF-8
      +    // and command line parameters is batch launcher dependent...
      +    // this trick force the runtime the set default charset to UTF8
      +    // because launch System.setProperty("file.encoding","UTF-8") here is not enough
      +    
      +    System.setProperty("file.encoding","UTF-8");
      +    Field charset = null;
      +	try {
      +		charset = Charset.class.getDeclaredField("defaultCharset");
      +	} catch (NoSuchFieldException e1) {
      +		// TODO Auto-generated catch block
      +		e1.printStackTrace();
      +	} catch (SecurityException e1) {
      +		// TODO Auto-generated catch block
      +		e1.printStackTrace();
      +	}
      +    charset.setAccessible(true);
      +    try {
      +		charset.set(null,null);
      +	} catch (IllegalArgumentException e1) {
      +		// TODO Auto-generated catch block
      +		e1.printStackTrace();
      +	} catch (IllegalAccessException e1) {
      +		// TODO Auto-generated catch block
      +		e1.printStackTrace();
      +	}
      +    
      +    // end utf8 trick
      

      Cette partie de code fait déconner ptts pour MicrosoftSpeech. J’ai recompilé sans et maintenant ça fonctionne.

      Pourquoi a tu ajouté cela ? forcé les accents et reconnaître les tirets ?

Viewing 18 reply threads
  • You must be logged in to reply to this topic.