Re: [CBLX] Quelques questions sur Emacs et Speechd-el ? |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/carrefourblinux Archives
]
From: Tarik FDIL <tfdil@xxxxxxxx>
Subject: Re: [CBLX] Quelques questions sur Emacs et Speechd-el ?
Date: Tue, 23 Mar 2010 10:25:30 +0000
> 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
Tu m'as coiffé au poteau ! Saine compétition que celle-là !
Beh oui on a toujours intérêt à utiliser le truc le plus
transparent possible. Si des gens se sont donné le mal de
faire des API raisonnables (et raisonnablement documentées)
faut s'en servir. Sinon pourquoi ne pas se le réécrire en
assembleur le truc hein ? !
Pierre
> 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
>>
>
---
--
CarrefourBLinuX MailingListe
Pour obtenir de l'aide, envoyez le sujet help � carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
Archives:
http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux