Re: [CBLX] Play_Pipe.SH - pour faire lire un texte entier à Pico2Wave

[ Thread Index | Date Index | More lists.tuxfamily.org/carrefourblinux Archives ]


Bonjour Pacal. 

On Wed, Mar 30, 2022 at 03:03:54AM +0200, Pascal GRÉGIS wrote:
> Merci !

Merci à toi pour tout retour d'expérience. 

Pour te répondre:  

> Il vient d'où l'exécutable play utilisé dans ton script ? De quel package ? 
> Je ne l'ai pas sur ma distrib.

Normalement, play est toujours sur les distrib basées Debian / + Ubuntu,
et fais partie du paquet sox.
 
> Conseil sur le script :
> je te recommande de ne pas utiliser
> while read variable; do
> 
> s'il y a une quelconque commande qui lit sur stdin dans la boucle ça va interférer avec les lectures du read. 
> Quand je code en shell, j'utilise toujours
> read -u 3
> pour lire sur le file descriptor 3, ce qui hélas nécessite de l'ouvrir. 

Ici l'idée était de pouvoir trouver un moyen de refiler ligne par ligne
(puisque Pico2Wave ne sait pas faire autrement), les lignes du fichier à
lire. 

Je suis entretemps passé à gTTS, encore + intéressant car la voix est celle
de Google, à conorité "humaine",
mais n'hésites pas à m'envoyer ta version modifiée, je la ferai essayer à
Philippe qui s'est occupé du code dans play_pipe.sh; perso c'est plutôt la
partie affinage audio et layout dont je me suis occupé (en jouant sur le
pitch, les fréquences etc on peut obtenir une voix certes encore pas tout à
fait humaine mais qui est audible).

> Dans notre cas, je tape :
> $ paly_pipe.sh 3< mon_fichier.txt
> 
> ce qui est un poil plus contraignant.
> Du coup, peut-être faudrait-il commencer par remplir un tableau :
> 
> declare -a table
> i=0
> while read ligne; do
>   table[$i]="$ligne"
>   i=$[$i + 1]
> done
> 
> i=0
> while [[ $i -lt ${#table[*]} ]]; do
>   ligne="${table[$i]}"
>   if [ ! -z "${ligne}" ]; then
>     ...
>   fi
>   i=$[$i + 1]
> done
> 
> 
> Comme ça, en codant une petite gestion un peu fine des signaux, il y aura même moyen de gérer des interruptions et des retours en arrière, mais là il est trop tard pour que je fournisse un code pour ça.

C'est intéressant, d'autant que avec gTTS son utilisation (plus exactement
les requêtes) sont fort limitées;
parcontre là ne se pose plus le souci de pouvoir revenir en arrière, vu que
le résultat est un mp3 lisible avec mplayer/mpv/vlc/mpg*** etc!  

> Pascal

Aldo. 
 
 
> C B L X a écrit, le mardi 08 mars 2022 à 22:10:06 :
> > Hello chers amis, 
> > 
> > Saviez-vous que Pico2Wave lis aussi des fichiers texte en entier ? 
> > euh ... OK, il n'exite *aucune* option dans pico2wave himself,
> > parcontre, voici le script  play_pipe.sh  réalisé par un pote,
> > et que je vous envois ici: 
> > il permet de lire un fichier
> > et de dfiler en synchro (ligne par ligne) en braille sur votre barrette.
> > 
> > Copiez-le dans ~/bin ou dans /usr/local/bin
> > puis entrez une commande du type:
> >    play_pipe.sh < fichier.txt
> > ou
> >    cat fichier.txt|play_pipe.sh
> > 
> > NB: par défaut il est paramétré pour l'Anglais UK (en-GB),
> > mais il suffit de changer sa conf pour le mettre en en-US, 
> > ou fr-FR (sinon je ne vous en aurais pas parlé LOL), DE, ES ou IT.
> > 
> > Avantage: la voix est remarquablement bien faite,
> > j'ai juste joué avec des params de play pour avoir un son sans trop de
> > basses ou aigus, sans trop d'harmoniques un peu grésillantes etc!
> > ça semble tenir la route! à vous de juger / et d'adapter à votre goût !
> > 
> > (play_pipe.sh en pj) 
> > 
> > Aldo. 
> > 
> > -- 
> >   |  Verstuurd vanaf mijn GNU/Linux  |  Envoyé de mon GNU/Linux  | 
> >   |  -----------------  Sent from GNU/Linux  ------------------  | 
> 
> 
> 
> -- 
>    CBLX - CarrefourBLinuX MailingListe 
>    Pour obtenir de l'aide, envoyez le sujet  help  à: 
>    carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
>    Archives: 
>    http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux
>    ou 
>    http://www.mail-archive.com/carrefourblinux@xxxxxxxxxxxxxxxxxxx/
> 

-- 
  |  Verstuurd vanaf mijn GNU/Linux  |  Envoyé de mon GNU/Linux  | 
  |  -----------------  Sent from GNU/Linux  ------------------  | 

-- 
   CBLX - CarrefourBLinuX MailingListe 
   Pour obtenir de l'aide, envoyez le sujet  help  à: 
   carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
   Archives: 
   http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux
   ou 
   http://www.mail-archive.com/carrefourblinux@xxxxxxxxxxxxxxxxxxx/


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/