Synthèse vocale avec Piper

Visiteur
Visiteur
Installation du programme et du moteur français :
Je suppose que votre nom d'utilisateur est user.
Code :
cd ~
wget 'https://github.com/rhasspy/piper/releases/download/v1.2.0/piper_amd64.tar.gz' -O piper_amd64.tar.gz
tar -xvf piper_amd64.tar.gz
mkdir -p piper/siwis
cd piper/siwis
wget 'https://huggingface.co/rhasspy/piper-voices/raw/v1.0.0/fr/fr_FR/siwis/medium/fr_FR-siwis-medium.onnx.json' -O fr_FR-siwis-medium.onnx.json
wget 'https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fr/fr_FR/siwis/medium/fr_FR-siwis-medium.onnx?download=true' -O fr_FR-siwis-medium.onnx
Installer YAD (Yet Anoter Dialog) pour supporter l'interface graphique :
Code :
urpmi yad yad-gtk3 vlc lib64espeak1
Créez un fichier texte dans votre dossier personnel, dans le dossier piper nommé ui.sh avec le contenu suivant :
Code BASH :
#!/bin/bash if [ "$#" -ne 2 ]; then echo "start wo 2 args" cd /tmp rm says*.txt rm says*.wav rnd=$RANDOM rfnt="/tmp/saysf$rnd.txt" rfns="/tmp/saysf$rnd.wav" if yad-gtk3 --text-info --editable --file-op --wrap \ --title="I'll tell you!" \ --text="Enter text:" \ --entry-text "" \ --width=600 --height=240 > $rfnt then echo "RUN $0 $rfnt $rfns" $0 $rfnt $rfns else echo "EXIT" exit 0 fi else echo "start with 2 args $1 $2" for ((i=1; i<=3; i++)) { echo "# $((i*33))%" echo $i #sleep 1 if [ "$i" -eq 1 ]; then cat $1 | taskset -c 1 /home/user/piper/piper --model /home/user/piper/siwis/fr_FR-siwis-medium.onnx --speaker 0 --output_file $2 fi if [ "$i" -eq 2 ]; then vlc $2 fi } | yad-gtk3 --progress \ --text="Progress..." \ --width=300 \ --auto-kill \ --enable-log="Progress" \ --log-expanded \ --auto-close echo "start new scrip and exit" $0 & fi exit 0
Rendez-le exécutable :
Code :
chmod +x piper/ui.sh
taskset limite l'utilisation des cœurs à 1, optionnel.
Créez un raccourci dans /usr/local/share/applications ou /usr/share/applications
nano /usr/share/applications/ui.desktop
Code :
[Desktop Entry]
Encoding=UTF-8
Name=Piper
Comment=Piper
Categories=Utility;
Exec=bash /home/user/piper/ui.sh
Icon=yad
Terminal=false
Type=Application
StartupNotify=false
Path=/tmp

Moteurs vocaux pour d'autres langues :
https://huggingface.co/rhasspy/piper-voices/tree/v1.0.0
Échantillons sonores :
https://rhasspy.github.io/piper-samples/
Avec Piper, vous pouvez également créer un moteur basé sur votre propre voix, ce qui est utile pour son immortalité.
Édité par Visiteur Le 27/01/2024 à 18h17

totof Membre non connecté
-
- Voir le profil du membre totof
- Inscrit le : 14/07/2013
- Groupes :
et merci pour la procédure. Je l'ai appliqué et je me retrouve avec un message d'erreur de VLC qui m'écrit :
"Votre média d’entrée ne peut être ouvert:
VLC ne peut pas ouvrir « file:///tmp/saysf16783.wav ». Vérifier les messages du journal pour plus de détails."
J'ai fait diriger le format .wav sur Audacious mais c'est VLC qui s'ouvre. Mais rien n'y fait. Une idée?
Cordialement
Mageia 9 - KDE
ASUS TUF Gaming F15 FX506HE
ASUS TUF Gaming F15 FX506HE

Visiteur
Visiteur
Merci pour ta participation. J'ai fait une erreur. Voici les commandes correctes :
Code :
cd ~
wget 'https://github.com/rhasspy/piper/releases/download/v1.2.0/piper_amd64.tar.gz' -O piper_amd64.tar.gz
tar -xvf piper_amd64.tar.gz
mkdir -p piper/siwis
cd piper/siwis
wget 'https://huggingface.co/rhasspy/piper-voices/raw/v1.0.0/fr/fr_FR/siwis/medium/fr_FR-siwis-medium.onnx.json' -O fr_FR-siwis-medium.onnx.json
wget 'https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/fr/fr_FR/siwis/medium/fr_FR-siwis-medium.onnx?download=true' -O fr_FR-siwis-medium.onnx
Copie-les dans le terminal, une par une.
Corrige également /home/user pour qu'il corresponde à tes données là où il apparaît dans ui.sh et ui.desktop.
Si tu utilises Plasma, il faut redémarrer l'ordinateur pour que le raccourci apparaisse dans Menu.
Les commandes urpmi et nano doivent être exécutées avec les privilèges de root.
Édité par Visiteur Le 27/01/2024 à 18h06

totof Membre non connecté
-
- Voir le profil du membre totof
- Inscrit le : 14/07/2013
- Groupes :
j'ai repris avec les éléments que tu m'as donnés (j'avais déjà changé /user/ en mon nom donc pas de souci à ce niveau) mais par contre, plus rien ne fonctionne à présent. Je n'ai même pas réussi à faire apparaître la fenêtre de dialogue. Je me demande si je n'ai pas raté complètement un truc... Par exemple, que dois-je faire avec ça? :
artenaki :
taskset limite l'utilisation des cœurs à 1, optionnel.
Créez un raccourci dans /usr/local/share/applications ou /usr/share/applications
nano /usr/share/applications/ui.desktop
Code :
[Desktop Entry]
Encoding=UTF-8
Name=Piper
Comment=Piper
Categories=Utility;
Exec=bash /home/user/piper/ui.sh
Icon=yad
Terminal=false
Type=Application
StartupNotify=false
Path=/tmp
Moteurs vocaux pour d'autres langues :
https://huggingface.co/rhasspy/piper-voices/tree/v1.0.0
Échantillons sonores :
https://rhasspy.github.io/piper-samples/
Avec Piper, vous pouvez également créer un moteur basé sur votre propre voix, ce qui est utile pour son immortalité.
À bientôt
Mageia 9 - KDE
ASUS TUF Gaming F15 FX506HE
ASUS TUF Gaming F15 FX506HE

Visiteur
Visiteur
Comment as-tu invoqué la fenêtre de dialogue auparavant ? Essaie
Code BASH :
bash /home/totof/piper/ui.sh
dans le terminal
Voici mon fichier ui.sh dans une archive zip. Tu peux l'utiliser. Tu peux simplement le faire glisser dans le terminal et l'exécuter (après l'avoir décompressé, bien sûr).
ui.zip
Que se passe-t-il si tu tapes cette commande ?
Code BASH :
echo "Bonjour" | /home/totof/piper/piper --model /home/totof/piper/siwis/fr_FR-siwis-medium.onnx --speaker 0 --output_file - | aplay
La création d'un raccourci dans le menu Plasma est une tâche supplémentaire...

totof Membre non connecté
-
- Voir le profil du membre totof
- Inscrit le : 14/07/2013
- Groupes :
alors ça marche, merci c'est super. Jolie voix féminine. J'ai refait la procédure et ai lancé avec "bash /home/totof/piper/ui.sh" et ça marche.
Encore merci.
Édité par totof Le 03/02/2024 à 22h52
Mageia 9 - KDE
ASUS TUF Gaming F15 FX506HE
ASUS TUF Gaming F15 FX506HE

totof Membre non connecté
-
- Voir le profil du membre totof
- Inscrit le : 14/07/2013
- Groupes :
Et y a-t-il moyen de changer de voix? J'ai vu dans le dossier "voices" différents noms. Cela correspond-il à différentes voix?
Mageia 9 - KDE
ASUS TUF Gaming F15 FX506HE
ASUS TUF Gaming F15 FX506HE

Visiteur
Visiteur
Au fait, dans le fichier ui.sh, tu peux spécifier un autre lecteur à la place de vlc. Remplace vlc par audacious, par exemple.
Pour utiliser d'autres voix, cela demandera pas mal de travail, nous devons télécharger d'autres modèles de langue et changer les noms dans le fichier ui.sh https://huggingface.co/rhasspy/piper-voices/tree/main/fr/fr_FR
Écoute les échantillons https://rhasspy.github.io/piper-samples
Choisis la langue française, le nom du moteur, la qualité et le locuteur (liste déroulante la plus à droite).
Il y a 6 moteurs français disponibles.
Cependant, note que le moteur mls a 124 locuteurs (124 personnes) ! Tu peux les sélectionner dans la liste déroulante la plus à droite et appuyer sur "Play". C'est tout simplement incroyable !
Choisis ta voix préférée, je te donnerai les commandes correspondantes.

totof Membre non connecté
-
- Voir le profil du membre totof
- Inscrit le : 14/07/2013
- Groupes :
juste un mot pour te remercier de tes indications. Je suis contraint de mettre ça de coté pendant encore une bonne semaine du fait de mon boulot. Je te tiendrais alors au courant.
Cordialement
Mageia 9 - KDE
ASUS TUF Gaming F15 FX506HE
ASUS TUF Gaming F15 FX506HE

Visiteur
Visiteur
Édité par Visiteur Le 18/02/2024 à 03h20

Visiteur
Visiteur
Cela rendrait la distribution Mageia encore plus unique. Cependant, il semble que la synthèse vocale (TTS) ne soit pas très populaire, contrairement à la reconnaissance vocale et à la dictée. Ce qui est assez étrange.
Pour ma part, j'ai toujours été intéressé par la TTS. D'abord pour les livres audio... (avec une lecture neutre).
Édité par Visiteur Le 15/02/2024 à 12h18

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
Avant d'intégrer Piper, j'aimerais en connaître plus sur son intégration à speech-dispatcher.
La synthèse vocale est déjà bien intégrée, avec notamment espeak-ng qui couvre un bon nombre de langues. C'est perfectible, mais souvent les alternatives de meilleure qualité ne concernent que quelques langues.
Yves

Visiteur
Visiteur
D'après mes observations, speech-dispatcher et orca sont très problématiques par rapport à command-line. Cependant, il semble qu'il existe un plugin pour speech-dispatcher https://github.com/rhasspy/piper/issues/285
Cela a fonctionné pour moi en anglais.
Il existe de nombreuses langues https://huggingface.co/rhasspy/piper-voices/tree/v1.0.0
Édité par Visiteur Le 15/02/2024 à 16h34

Visiteur
Visiteur
AI et moi avons écrit une version en ligne pour le service Baidu https://github.com/artenax/baidu-tts/tree/main/baidu-translator
J'aime la voix https://soundcloud.com/user-568240516/baidu-cats-in-a-bag
Le français n'est pas pris en charge, mais vous pouvez l'utiliser comme exemple.

Visiteur
Visiteur
Malheureusement, Piper fonctionne en collant les mots les uns aux autres. Le son n'est pas naturel en raison des pauses fréquentes entre les mots.
C'est comme si l'on enregistrait les mots séparément dans un éditeur de son et qu'on les collait ensuite ensemble.
Baidu ne fonctionne plus. L'enregistrement avec un numéro de téléphone chinois est nécessaire.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie