Joshua : la puissance de GPT-3, en bash, dans votre console
Bon, j’avais prévu de vous mettre en ligne une tout autre version que celle que j’ai faite durant la vidéo éponyme. Pour ceux ou celles qui ne l’ont pas regardé : c’est par ici !
Joshua sait parler, mais vous pouvez remplacer espeak par quelque chose de plus sexy. Cependant, je souhaitais volontairement le laisser très robotique pour ressembler au Joshua du film Wargames.
Néanmoins, en conséquence des plus de 150 messages (sic !) que j’ai reçus via différentes plateformes, je vous ai mis en ligne la première version de la vidéo. Je mettrai en ligne la seconde plus tard ;)
Pour le télécharger c’est ici : joshua.sh ou depuis la page contributions.
Pensez à renseigner votre clef API dans le fichier secret.cfg comme indiqué au début de joshua.sh. Vous pouvez régler de nombreux paramètres concernant la pertinence de la réponse attendue. Il n’y a pas (encore) de code permettant de quitter joshua, attention : dans ses paramètres par défaut, il peut se mettre à parler durant des pages, faites attention ;)
—
Christophe Casalegno
Vous pouvez me suivre sur : Twitter | Facebook | LinkedIn | Telegram | YouTube | Twitch
« Pensez à renseigner votre clef API dans le fichier secret.cfg »
ATTENTION, pour que ça fonctionne, le fichier secret.cfg DOIT être de type exécutable de type:#!/bin/bash
api_key= »sk-xxxxxxxxxxxxxxxxxxxxxxxx »
************************
pour avoir une voix de qualité, j’utilise ce code:
function text_to_speech() {
gtts-cli -l fr -o /tmp/audio.mp3 « $1 »
sox /tmp/audio.mp3 -p pitch 90 tempo 1.25 | sox – /tmp/isaaudio.mp3
play -q /tmp/isaaudio.mp3
}******************
code pour quitter joshua :
while true; do
read -p « > » prompt
response_text=$(get_response « $prompt »)
if [[ -n « $response_text » ]]; then
text_to_speech « $response_text » &
display_text « $response_text »
if [[ « $prompt » == « au revoir » ]] || [[ « $prompt » == « bye » ]]; then
sleep 2
exit 0
fi
fi
done***************
il suffit de taper au prompt : « au revoir » ou « bye » et le script joshua se fermera après la réponse reçue !!perso, j’ai ajouté dans ma barre de lancement le script en tant qu’application dans un terminal, avec le lien vers le script, comme ça, je lance le script depuis une icone !!
#correction du code de sortie pour que la réponse ait le temps d’être dite en entier
code pour quitter joshua :
while true; do
read -p « > » prompt
response_text=$(get_response « $prompt »)
if [[ -n « $response_text » ]]; then
text_to_speech « $response_text » &
display_text « $response_text »
if [[ « $prompt » == « au revoir » ]] || [[ « $prompt » == « bye » ]]; thendisplay_text « $response_text »&
text_to_speech « $response_text »&&
sleep 1
exit 0
else
text_to_speech « $response_text »&
display_text « $response_text »
fi
fi
done
Merci pour ce post. Qu’il y a t-il de plus sexy que espeak pour linux qui se rapprocherait de la voix humaine ?
6 Commentaires