Re: [CBLX] Quelques questions sur Emacs et Speechd-el ?

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


Bonjour Sam,

Ci-joint le même script avec les options souhaitées.

Côté synthèse au lieu d'appeler directement espeak, et pour suivre les
recommandations de Pierre, j'utilise spd-say de speech-dispatcher avec
les options -l fr pour la langue et surtout l'option -w pour lui dire de
rester en attente de la fin de la lecture de la ligne. Avec spd-say tu
pourras utiliser ta synthèse ibmtts.

cordialement
Tarik

Le mardi 23 mars 2010 à 03:37 +0100, coolbrother@xxxxxxxxxx a écrit :
> Salut Tarik, merci pour ton script.
> C'est génial de pouvoir faire tout ça en si peu de lignes.
> Non, vraiment astucieux !
> J'ai ajouté une ligne pour afficher la ligne texte avant qu'elle soit
> dite par la synthèse.
> C'est bien pratique pour se repérer et vérifier certaines orthographes.
> Mais pour l'instant je ne peux pas l'utiliser en grandeur nature à cause
> de la synthèse.
> J'ai beau essayé de ne pas y faire attention, mais espeak me donne mal au
> crâne au bout de 5 à 6 pages lues.
> ça vient aussi du fait que je sois habitué à tout lire avec ibmtts.
> Mais qui est quand même beaucoup plus reposant à écouter que Espeak.
> Avec Espeak, il faut tellement se concentrer sur la voix que le contenu du
> texte nous échappe.
> Je vais essayé de voir s'il est possible de contrôler ibmtts en ligne de
> commande,
> tout en contrôlant la vitesse de la voix, le volume etc ...
> Je doute que ça soit possible, en tout cas j'en ai aucune idée comment
> faire ça.
>
> Pour finir, je verrais bien deux petites options sympas à ton script :
> -l n : pour lire à partir d'un numéro de ligne en absolu.
> -L n : pour lire à partir d'un numéro de ligne en relatif, par rapport
> Ã  la position courante.
>
>
> Tout ça me ramène bien à mon idée de départ :
> Il faut faire un programme propre à la lecture de texte pour les
> deficients visuels.
> Mais j'y pense que lorsque je suis dans l'urgence, c'est-Ã -dire quand je
> n'ai pas le temps de le faire.
>
> A bientôt:
> Sam
>
> > Pierre,
> :wq
> >
> > Si je triche ? bien sûr que oui. Si la triche est dans le sens trouver
> > une solution astucieuse et faire bosser le PC à ta place. En
> > l'occurence, au lieu d'insérer des repères à la main, on adopte
> une
> > granularité plus forte : la ligne, mais qui est acceptable sur un
> > bouquin de 500 pages. Puis on fait travailler bash, espeak, wc et tail.
> >
> > Pour la question de bufferisation j'avais en effet cette appréhension.
> > D'ailleurs un premier bug dans le script a fait dérouler le compteur
> > trop vite et j'ai cru que c'était un problème de bufferisation. En
> fait,
> > il n'en est rien. En mode ligne de commande espeak reste bloqué
> jusqu'ÃÂ
> > ce que le dernier phonème soit prononcé. Donc mon tracking par
> ligne est
> > bien réél. Test réél à l'appui.
> >
> > Pour ce qui est de la lecture hachée, oui c'est vrai quand une phrase
> > est coupée au milieu ce n'est pas très propre. On peut palier ÃÂ
> cela en
> > envoyant des phrases au lieu de lignes tout en gardant la trace de la
> > ligne contenant la dernière phrase. Mais cela compliquera le script et
> > ce n'est pas le but recherché, qui est de trouver une solution "quick &
> > dirty".
> >
> > Sinon j'ai bien essayé le script sur un fichier texte : ça marche
> > vraiment bien, au problème de cassure en fin de ligne près. Mais la
> > lecture reste très fluide et compréhensible. J'avais aussi des
> > appréhensions par rapport au temps de chargement de l'exécutable
> espeak
> > et des librairies dynamiques dont il a besoin. En fait, il n'en est
> > rien, espeak en mode ligne de commande est vraiment très rapide. En plus
> > il y a plein d'options permettant de personnalier la synthèse : langue
> > de synthèse, vitesse d'élocution, pitch, prononcer ou pas la
> > ponctuation, etc.
> >
> > J'aimerais connaître le point de vue de Sam, si son besoin est toujours
> > d'actualité et si le script lui a été utile ou pas.
> >
> > Cordialement
> > Tarik
> >
> >
> > Le lundi 22 mars 2010 à 21:17 +0100, Pierre Lorenzon a écrit :
> >> From: Tarik FDIL <tfdil@xxxxxxxx>
> >> Subject: Re: [CBLX] Quelques questions sur Emacs et Speechd-el ?
> >> Date: Mon, 22 Mar 2010 19:52:29 +0000
> >>
> >> > Bonjour,
> >> >
> >> > Je pense que le script bash ci-joint peut faire simplement ce que
> >> > demande Sam. L'idée du script est simple : utiliser espeak pour lire
> >> le
> >> > fichier ligne par ligne et réaliser le tracking par le script shell
> >> qui
> >>
> >>   Tu triches ! si c'est du tracking ligne à ligne même balise ÃÂ
> >>   balise pour n'importe quelle balise identifiée ! Bien sûr !
> >>   En bash en lisp et même en perl je veux bien c'est dire ....
> >>
> >>
> >> > commande espeak.
> >> >
> >> > Plus précisément le script lit le fichier texte ligne par ligne et
> >> les
> >> > envoie à espeak pour synthèse vocale. Avant d'envoyer une ligne
> ÃÂ
> >> espeak
> >>
> >>   Ca veut dire pas de buffering côté espeak ? Autrement dit,
> >>   espeak n'accepte une nouvelle séquence que lorsque la
> >>   précédente est prononcée ? Prononcée veut dire, dans ce cas
> >>   passé à un play ou sox ou équivalent. Donc on n'accepte pas
> >>   d'input tant qu'on n'a pas reçu le signal de sortie de play
> >>   ou sox ? Sans quoi rien ne te dit que le dernier numéro
> >>   enregistré est celui de la séquence qui est en train d'être
> >>   lue (je veux dire prononcée, celle que tu as dans les
> >>   oreilles quoi.) C'est une manière de faire du tracking
> >>   (triviale à réaliser d'ailleur inside emacs) mais ça doit
> >>   donner une lecture très hachée. C'est pour éviter ce genre de
> >>   trucs que ssip et speech-dispatcher ont été développés.
> >>
> >>   Pierre
> >> > il stocke son numéro dans un fichier texte portant le même nom que
> >> le
> >> > fichier lu et ayant l'extension .pos. Quand on veut arrêter la
> >> lecture,
> >> > il suffit de faire un ctrl-c pour arrêter le script. Ensuite quand on
> >> > veut reprendre il suffit de relancer le script avec le nom du fichier
> >> ÃÂ
> >> > lire et évidemment le script commence par consulter le numéro
> de la
> >> > dernière ligne lue stocké dans le fichier position et utilise les
> >> > commandes wc puis tail pour lire juste les lignes restantes.
> >> >
> >> > Cordialement
> >> > Tarik
> >> >
> >> > Le lundi 22 mars 2010 à 19:34 +0100, Pierre Lorenzon a écrit :
> >> >> Mais Gilles, moi je ne lis jamais un texte à la file comme le
> >> >> lit Sam. Moi je lis phrase à phrase voir ligne à ligne donc ÃÂ
> >> >> ce point c'est clair que le mapping est maintenu à la main
> >> >> puisque la synthèse est commandé par le déplacement du
> >> >> curseur. Donc tu sais toujours où tu en es évidemment ! Mais
> >> >> Sam veut lancer le défilement un peu comme un magnétophone et
> >> >> arrêter et se repérer dans le texte. Et là, à moins que
> je sois
> >> >> devenu idiot, il faut un mapping/tracking automatique. Je
> >> >> comprends ton point de vue : il y a des balises naturelles dans
> >> >> le texte, (phrases, lignes, paragraphes, pages) selon ce qui
> >> >> est le plus pertinent et il faut découper la lecture en
> >> >> fonction d'icelles. C'est évidemment comme ça que je fais, en
> >> >> utilisant les flèches ou les pg-up pg-down. Mais bis repetita,
> >> >> Sam ne voulait, du moins à l'origine pas procéder ainsi.
> >> >>
> >> >> Pierre
> >> >>
> >> >>
> >> >> From: touze <gilles.touze@xxxxxxxxxxx>
> >> >> Subject: Re: [CBLX] Quelques questions sur Emacs et Speechd-el ?
> >> >> Date: Sun, 21 Mar 2010 18:45:51 +0100
> >> >>
> >> >> > Pierre Lorenzon a écrit :
> >> >> >> From: Gilles Touzé <gilles.touze@xxxxxxxxxxx>
> >> >> >> Subject: Re: [CBLX] Quelques questions sur Emacs et Speechd-el
> >> >> >> ?
> >> >> >> Date: Sat, 20 Mar 2010 07:43:06 +0100
> >> >> >>
> >> >> >>
> >> >> >>> coolbrother@xxxxxxxxxx a écrit :
> >> >> >>>
> >> >> >>>> Merci beaucoup Pierre pour toutes ces réponses.
> >> >> >>>> Pour le tracking, comme je dois lire rapidement ce bouquin, on
> >> >> >>>> va laisser
> >> >> >>>> ça de côté.
> >> >> >>>> Je n'ai qu'Ã  faire attention quand je stoppe la lecture, et
> >> >> >>>> rechercher les
> >> >> >>>> derniers mots prononcés, et ça ira très
> >> bien comme
> >> >> >>>> ça.
> >> >> >>>>
> >> >> >>> Aldo, si tu lis au format txt, tu peux toujours placer une
> >> >> >>> chaine de caractère caractéristique (chez nous,
> >> c'est
> >> >> >>> "qqq"),
> >> >> >>> qui marquera l'emplacement de ta fin de lecture ; plus de
> >> >> >>> risque d'oublier les derniers mots. En pdf, ce n'est pas
> >> >> >>> possible, bien sûr.
> >> >> >>>
> >> >> >>
> >> >> >>   Comprends pas Gilles ! "tu peux toujours placer" : ça c'est
> >> >> >>   du tracking ou je ne m'y connais pas. Placer où ?
> >> >> > A l'endroit où l'on souhaite reprendre la lecture
> >> >> > ultérieurement.
> >> >> >> Dans le
> >> >> >>   buffer, dans le fichier ?
> >> >> > Dans le fichier.
> >> >> >> Qui place ?
> >> >> > La personne qui lit le fichier, en mode lecture/écriture
> >> >> >> Non le vrai problème
> >> >> >>   qui se pose c'est d'initier et de maintenir
> >> >> > Ben, ma solution, elle maintient : aucune complication
> >> >> > technique, "seulement" une gestion rigoureuse à la main des
> >> >> > marques que je fais poser. Il faut bien sûr penser à retirer
> >> >> > la marque une fois son utilité passée.
> >> >> >> un mapping
> >> >> >>   (tracking) entre la donnée textuelle et le flux sonore. Sauf
> >> >> >>   que ça comme je l'ai effleuré dans mon mail
> >> précédent, ça
> >> >> >>   pose de vrais questions théoriques, et qu'il y a même de
> >> >> >>   vrais obstacles théoriques !
> >> >> >>
> >> >> > On ne veut pas un tracking au caractère près. Au paragraphe
> >> >> > près (valeur approchée par défaut, c'est à dire au
> >> début
> >> >> > du paragraphe en cours de lecture ou fin du paragraphe
> >> >> > précédent), cela serait déjà pas mal. Mais laisse moi te
> >> >> > dire qu'un revue d'écran qui ne permet pas de lire un texte en
> >> >> > plusieurs fois n'est pas digne de ce nom. Ou pour le formuler
> >> >> > autrement, comment te débrouilles-tu, toi, n'es-tu jamais
> >> >> > confronté à ce problème qui me semble tout de même
> >> >> > extrêmement basique ?
> >> >> >
> >> >> > A ce sujet, c'est ce problème-ci qui m'a fait renoncer Ã
> >> >> > recommander Orca à ma moitié, et pourtant, Orca tente de
> >> >> > suivre à l'écran ce qu'il dit à la synthèse. Mais on ne
> >> >> > peut pas l'arrêter suivant des critères suffisamment
> >> >> > variés. L'arrêt au paragraphe est semble-t-il la bonne
> >> unité
> >> >> > de lecture pour un texte de genre "littéraire". Je pensais que
> >> >> > emacsspeak était plus évolué. Il semblerait que cela soit
> >> >> > considéré comme un problème secondaire, et pas encore
> >> >> > implémenté, donc ?
> >> >> >
> >> >> > Excuse mon ton un peu provocateur, mais je prend la discussion
> >> >> > en cours, et je n'ai pas encore en tête tous les faits,
> >> >> > seulement des certitudes pas toujours justifiées.
> >> >> >>   Pierre
> >> >> >>
> >> >> >>
> >> >> > Gilles
> >> >> >
> >> >> >
> >> >> >
> >> >> > ---
> >> >> > --
> >> >> >   CarrefourBLinuX MailingListe Pour obtenir de l'aide, envoyez le
> >> >> >   sujet help à : carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
> >> >> >   Archives:
> >> >> >   http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> ---
> >> >
> >>
> >>
> >>
> >> ---
> >
> >
> >
> > ---
> > --
> >    CarrefourBLinuX MailingListe
> >    Pour obtenir de l'aide, envoyez le sujet  help  :
> >    carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
> >    Archives:
> >    http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux
> >
> >
>
>
>
> ---
> --
>    CarrefourBLinuX MailingListe
>    Pour obtenir de l'aide, envoyez le sujet  help  à:
>    carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
>    Archives:
>    http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux
>

Attachment: lire
Description: application/shellscript



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