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

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



Tu peux essayer de voir ce que tu peux faire avec ibmtts, puis
ensuite avec festival, puis quand même aussi un peu avec cicero
! Ohhh Sam ! Ce n'est pas sérieux ! La première chose à
regarder c'est si on peu faire quelque chose avec
speech-dispatcher ! Il est là pour ça ! Pour que les choses
soient indépendantes de la synthèse. Fais attention ! Quand tu
auras voulu implémenter ton lecteur pour 5 ou 6 synthèses
différentes, tu te diras qu'un protocole commun serait
quand-même le bienvenu, et tu réinventera ... la roue .... non
ssip !

Pierre



  From: coolbrother@xxxxxxxxxx Subject: Re: [CBLX]
Quelques questions sur Emacs et Speechd-el ?  Date: Tue, 23 Mar
2010 03:37:18 +0100 (CET)

> 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@xxxxxxxxxxxx>
>>> >> >> 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
> 



---
--
   CarrefourBLinuX MailingListe
   Pour obtenir de l'aide, envoyez le sujet  help  �   carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
   Archives:
   http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux


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