| TTS acapela | |
|
+5blahhh bretelles twotty Surame tikismoke 9 participants |
|
Auteur | Message |
---|
tikismoke Bronze Nabz
Localisation : Pays de la moutarde Nabaztag : Nabaztiki Nbr de messages : 299 Carottes : 6600
| Sujet: TTS acapela Ven 9 Déc 2016 - 10:35 | |
| Pour ceux qui utlises acapela comme moteur TTS, il va falloir que l'on retrouve une solution, les messages sont tous devenus illegaux.
Je vous laisse faire un essai de TTS pour voir ce que ça donne. | |
|
| |
Surame Lapin nain
Localisation : Tours Nbr de messages : 24 Carottes : 3934
| Sujet: Re: TTS acapela Ven 9 Déc 2016 - 16:04 | |
| Oui, en effet, je confirme, snif... En plus, le message fout les jetons ! J'aimerais bien trouver un moyen d'avoir des voix sans ouvrir mon serveur sur l'internet... En attendant, si quelqu'un sait comment utiliser un autre moteur TTS que acapela, j'aimerais bien connaitre la méthode. | |
|
| |
twotty Lapin nain
Localisation : dans l'est Nabaztag : karotz Nbr de messages : 1 Carottes : 2905
| Sujet: Re: TTS acapela Sam 10 Déc 2016 - 21:45 | |
| Bonsoir, Je viens de trouver une solution. Bon il faut avoir un autre serveur dispo. Je me suis appuyé sur un raspberrypi et installé picotts en m'inspirant de ce lien : https://www.domotique-fibaro.fr/topic/5424-tts-avec-raspberry-pi-et-pico-tts/
#sudo apt-get install libttspico-utils
un petit test : #pico2wave -l fr-FR -w /tmp/test.wav "Ceci est un test" Je récupère le fichier sur le raspberry et je vérifie. Ca fonctionne.
La partie un peu plus compliqué pour moi, c'est la mise en place du service sur un serveur apache. Pour moi, j'ai fait cela : activation CGI #ln -s /etc/apache2/mods-available/cgid.conf /etc/apache2/mods-enabled/ #ln -s /etc/apache2/mods-available/cgid.load /etc/apache2/mods-enabled/ # vi /etc/apache2/sites-available/000-default.conf et ajout de ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Require all granted
Ensuite redémarrage d'apache : #service apache2 restart J'ai ensuite récupéré le fichier speak.cgi sur https://github.com/xbeaudouin/hc2-misc/ à mettre dans /usr/lib/cgi-bin/ Par défaut, ce script joue le son du le serveur où il tourne. Dans le cas du Karotz, il faut pouvoir envoyer le fichier wav. J'ai donc adapté comme cela # vi /usr/lib/cgi-bin/speak.cgi J'ai remplacé la section : system("$aplay -q $final_filename"); print "OK\n"; par open FILE, "$final_filename" or die "Cannot open file for reading: $! "; print "Content-type: application/octet-stream\n\n"; print while(); close FILE; Puis, il reste à mettre à jour sur le karotz l'appel au tts : #vi /www/cgi-bin/tts.inc ajout de la fonction : function PicoTTS { TTS=$1 VOICE=$2
# Not Working # Need test return
MD5FILE=$(echo "$TTS" | md5sum | cut -d ' ' -f 1) # curl -s -d "$TTS" http://ip_du_raspberry/cgi-bin/speak.cgi -o $CNF_DATADIR/Tmp/test.mp3 $(echo "curl -A '${UA}' -o $CNF_DATADIR/Tmp/${MD5FILE}.mp3 -s -data '${TTS}' http://ip_du_raspberry/cgi-bin/speak.cgi/${VOICE}" ) >>/dev/null 2>>/dev/null echo $( echo "$RAW_TTS" | UrlDecode) > $CNF_DATADIR/Tmp/${MD5FILE}.txt
PlaySound $CNF_DATADIR/Tmp/${MD5FILE}.mp3 }
Enfin, changer la fonction par défaut dans /www/cgi-bin/tts case $TTS_ENGINE in 0) MP3_ID=$(VoicerssTTS $TTS $NO_CACHE $MUTE);; 1) MP3_ID=$(GoogleTTS $TTS $VOICE $NO_CACHE $RAW_VOICE);; 2) MP3_ID=$(VioletTTS $TTS $VOICE $NO_CACHE $RAW_VOICE);; 3) MP3_ID=$(AcapelaTTS $TTS $VOICE $NO_CACHE $RAW_VOICE $MUTE);; *) MP3_ID=$(PicoTTS $TTS $NO_CACHE $MUTE);;
Bon c'est pas encore très propre et il y a surement des variables qui ne servent à rien car je me suis inspiré de ce qui existe déjà. En plus, par défaut la voix est en EN-US, donc l'accent n'est pas encore top. Voila. J'espère que ca vous donnera une base de travail pour être autonome sur le TTS sans s'appuyer sur des serveurs externes (enfin je crois sauf si picotts accède à internet, ca j'ai pas vérifié). | |
|
| |
Surame Lapin nain
Localisation : Tours Nbr de messages : 24 Carottes : 3934
| Sujet: Re: TTS acapela Dim 11 Déc 2016 - 0:50 | |
| | |
|
| |
bretelles Nabz Junior
Age : 48 Localisation : Paris Nabaztag : Agatag et Barnab (serveur local) Nbr de messages : 64 Carottes : 4934
| Sujet: Re: TTS acapela Jeu 15 Déc 2016 - 11:31 | |
| Bonjour Surame, tu as tout installé du coup ? même la reconnaissance vocale ? Merci d'avance | |
|
| |
Surame Lapin nain
Localisation : Tours Nbr de messages : 24 Carottes : 3934
| Sujet: Re: TTS acapela Jeu 15 Déc 2016 - 11:36 | |
| Tout a fait Bretelle. La voix est très "robot" et on ne comprend pas toujours tout. Mais je trouve ça rigolo. Et j'apprécie beaucoup de pouvoir débrancher mon serveur de ma box (sécurité). Je n'ai pas testé la reconnaissance vocale mais les plugin sont présents. | |
|
| |
blahhh Lapin nain
Localisation : Paris Nbr de messages : 8 Carottes : 4235
| Sujet: Re: TTS acapela Jeu 15 Déc 2016 - 13:11 | |
| salut, je viens de tester picotts, ca marche super bien mais la synthese est vraiment pourrie, c'est vraiment trop robot sans aucune sensibilité. j'ai testé le package de debian, ca doit etre une version old school, je vais tenter une version plus a jour pour voir. | |
|
| |
bretelles Nabz Junior
Age : 48 Localisation : Paris Nabaztag : Agatag et Barnab (serveur local) Nbr de messages : 64 Carottes : 4934
| Sujet: Re: TTS acapela Jeu 15 Déc 2016 - 13:20 | |
| Salut blahhh, tu as suivi quel process ? J'ai trouvé ce tuto de mon côté: http://rpihome.blogspot.fr/2015/02/installing-pico-tts.html Après pour l'intégration dans openjabnab tu fais comment ? Surame, je vais tester picotts avant qui semble moins impacter l'installation, ou alors j'ai lu trop vite le tuto de ton lien, il faut bien écraser son install openjabnab ? Si vous pouviez tester et uploader la même phrase tous les 2, on pourrait comparer la qualité, ce serait top Merci à vous 2 en tout cas | |
|
| |
blahhh Lapin nain
Localisation : Paris Nbr de messages : 8 Carottes : 4235
| Sujet: Re: TTS acapela Jeu 15 Déc 2016 - 13:25 | |
| Salut Bretelles, J'ai suivi le post de twotty, juste un apt-get install libttspico-utils :p j'ai juste testé en ligne de commande, mais je vais me tourner sur autre chose je pense, c'est trop robotique, ca ne tient pas compte de la ponctuation. Je teste festival et espeak et si ce n'est pas mieux je vais aller sur google speech.
| |
|
| |
blahhh Lapin nain
Localisation : Paris Nbr de messages : 8 Carottes : 4235
| Sujet: Re: TTS acapela Jeu 15 Déc 2016 - 13:26 | |
| ou plutot microsoft cognitive api, ca a l'air plus rapide que google. https://www.microsoft.com/cognitive-services/en-us/speech-api | |
|
| |
bretelles Nabz Junior
Age : 48 Localisation : Paris Nabaztag : Agatag et Barnab (serveur local) Nbr de messages : 64 Carottes : 4934
| Sujet: Re: TTS acapela Jeu 15 Déc 2016 - 13:26 | |
| Merci pour ce retour rapide, je vais tester ça. Après je regarderai ta reco vocale qui semble intéressante, merci pour les tuyaux Edit: le rendu de pico n'est pas si mal que ça, moins expressif certes, mais ça dépanne bien ! | |
|
| |
blahhh Lapin nain
Localisation : Paris Nbr de messages : 8 Carottes : 4235
| Sujet: Re: TTS acapela Jeu 15 Déc 2016 - 16:01 | |
| bon bah apres avoir testé une version plus récente de picotts, espeak, mbrola, festival, j'ai vraiment l'impression de revoir steeve jobs faire parler son mac en 84... c'est vraiment naze du coup je vais utiliser l'api de microsoft (celle de google doit dater aussi de 1984...) par contre l'api de google pour la reconnaissance est une vraie tuerie, ca marche trop bien! | |
|
| |
Surame Lapin nain
Localisation : Tours Nbr de messages : 24 Carottes : 3934
| Sujet: Re: TTS acapela Jeu 15 Déc 2016 - 16:14 | |
| Est-ce que tu pourra nous dire comment utiliser l'API de Microsoft. J'aimerais bien la tester également mais je suis un peu perdu. J'imagine que tu va coder les fichiers microsoft.pro, tts_microsoft.cpp et tts_microsoft.h On va mettre le tout dans un dossier server/tts/microsoft Et enfin on va modifier le fichier ini ? | |
|
| |
blahhh Lapin nain
Localisation : Paris Nbr de messages : 8 Carottes : 4235
| Sujet: Re: TTS acapela Jeu 15 Déc 2016 - 16:51 | |
| Salut Surame, je n ai pas encore regardé mais ouais en gros ca doit etre ca, le fonctionnement est le meme qu'acapela ou google (une api rest http). il faut juste gerer l'authentification pour avoir un token avant de faire les call, ca doit etre du OAuth. Du coup vu qu on ne peut appeler que 5000 fois / mois l'api sans payer, il faut aussi mettre les api key dans le .ini pour que tout le monde puisse mettre les siennes (5000 calls/mois pour tout le monde ca risque d'etre un peu serré :p) | |
|
| |
tikismoke Bronze Nabz
Localisation : Pays de la moutarde Nabaztag : Nabaztiki Nbr de messages : 299 Carottes : 6600
| Sujet: Re: TTS acapela Lun 19 Déc 2016 - 15:34 | |
| Lu tout le monde, Je push un PR sur le repo de Pixel dans la soirée, j'ai une solution (identique à celle du KAROTZ) qui fonctionne | |
|
| |
tikismoke Bronze Nabz
Localisation : Pays de la moutarde Nabaztag : Nabaztiki Nbr de messages : 299 Carottes : 6600
| Sujet: Re: TTS acapela Lun 19 Déc 2016 - 15:56 | |
| https://github.com/OpenJabNab/OpenJabNab/pull/50 Le PR est posté, il faut refaire un make dans server/ et modifié le fichier fichier de configuration /server/bin/openjabnab.ini pour changer le TTS: "TTS=responsivevoice" Bon redémarrage à tous | |
|
| |
Surame Lapin nain
Localisation : Tours Nbr de messages : 24 Carottes : 3934
| Sujet: Re: TTS acapela Lun 19 Déc 2016 - 18:06 | |
| Merci Tikismoke, ca marche chez moi ! | |
|
| |
melinm Lapin nain
Localisation : belgique Nbr de messages : 3 Carottes : 6475
| Sujet: Re: TTS acapela Mar 20 Déc 2016 - 8:54 | |
| Merci tikismoke, ca fonctionne aussi très bien chez moi. | |
|
| |
bretelles Nabz Junior
Age : 48 Localisation : Paris Nabaztag : Agatag et Barnab (serveur local) Nbr de messages : 64 Carottes : 4934
| Sujet: Re: TTS acapela Mar 20 Déc 2016 - 15:24 | |
| Merci Tikismoke, ça marche ici aussi, un grand grand merci Seule remarque, sur le TTS lui-même, sur une phrase comme "coucou c'est bon" (je suis un mec inspiré pour les tests ), la phrase est quasi tronquée à la dernière syllabe, pareil chez vous je suppose ? Merci encore en tout cas, bon boulot ! | |
|
| |
Surame Lapin nain
Localisation : Tours Nbr de messages : 24 Carottes : 3934
| Sujet: Re: TTS acapela Mar 20 Déc 2016 - 17:14 | |
| Oui, Bretelles, j'ai constaté le problème y compris sur des phrases bien ponctuées. Par exemple : "Météo pour mardi. Très nuageux. Maximales : 6 Degré. Vents du nord et variables." Dans cette phrase le dernier mot "variables." est clairement coupé d'un syllable : on entend "varia". Il y a peut-être des réglages a faire. | |
|
| |
bretelles Nabz Junior
Age : 48 Localisation : Paris Nabaztag : Agatag et Barnab (serveur local) Nbr de messages : 64 Carottes : 4934
| Sujet: Re: TTS acapela Mar 20 Déc 2016 - 22:50 | |
| Je viens d'essayer directement par url sur leur site, ça fonctionne... ça sent le problème d'encodage de chaîne à mon avis. J'ai même, en rajoutant deux points à la fin, le premier cou de coucou qui saute | |
|
| |
tikismoke Bronze Nabz
Localisation : Pays de la moutarde Nabaztag : Nabaztiki Nbr de messages : 299 Carottes : 6600
| Sujet: Re: TTS acapela Mer 21 Déc 2016 - 10:53 | |
| désolé, j'ai fait vite Mais si certaines savent d’où ça vient allez-y | |
|
| |
bretelles Nabz Junior
Age : 48 Localisation : Paris Nabaztag : Agatag et Barnab (serveur local) Nbr de messages : 64 Carottes : 4934
| Sujet: Re: TTS acapela Mer 21 Déc 2016 - 12:17 | |
| Pas de souci, on peut essayer de bosser un peu Mais bon, c'est ma première fois avec python, pas d'environnement de dev sur windows :S La chaîne semble bien encodée, c'est donc peut-être plus dans le header ? Il ne semble pas y avoir le même souci remonté du côté de karotz... | |
|
| |
lolodu78 Lapin nain
Age : 49 Localisation : GUYANCOURT Nabaztag : Le Lapinou de lolo Nbr de messages : 23 Carottes : 4894
| Sujet: Re: TTS acapela Mer 21 Déc 2016 - 14:55 | |
| salut tikismoke ! merci beaucoup ca marche très bien ! | |
|
| |
bretelles Nabz Junior
Age : 48 Localisation : Paris Nabaztag : Agatag et Barnab (serveur local) Nbr de messages : 64 Carottes : 4934
| Sujet: Re: TTS acapela Jeu 22 Déc 2016 - 23:28 | |
| - bretelles a écrit:
- Mais bon, c'est ma première fois avec python
Ah le boulet, je m'auto flagelle, c'est du C++ tout ce qu'il y a de plus classique... Bon je début avec QT est une excuse valable ? J'avance peu, j'ai simplifié le code, essayé avec user agent, content type... pas de résultat. Et puis j'ai testé le fichier généré sauvegardé côté serveur et ... il est bon lui. C'est juste le lapinou qui tronque à la fin, quelqu'un a déjà vu ça ? Je continue en tout cas Edit: acapela renvoie du 22050 Hz à 48 kbit/s, responsivevoice c'est du 24000 Hz à 32 kbit/s ... le problème est peut-être là ? (les deux en mono mpga) | |
|
| |
Contenu sponsorisé
| Sujet: Re: TTS acapela | |
| |
|
| |
| TTS acapela | |
|