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: Mon, 22 Mar 2010 22:00:57 +0000
> Pierre,
>
> 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.
Oui ! Cela dit il me semble que c'était le genre de problèmes
auqels étaient censés répondre le protocol ssip et
l'implémentation speech-dispatcher. Je n'ai pas eu le temps
de me replonger dans les specs de ssip.
>
> 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.
Là aussi en principe ça fait partie de ssip.
Bon en définitive, pas vraiement la peine d'ergoter : on est
d'accord sur le fait que le texte doit être balisé,
statiquement ou dynamiquement pour pouvoir espérer retrouver
une portion à partir du texte prononcé. J'admet qu'utiliser
la balise naturelle constituée par le retour charriot est la
solution la plus simple à mettre en oeuvre. C'est d'ailleurs,
comme je le disais à Gilles, celle que j'utilise puisque
personnellement, je lis ligne à ligne. Mais je soupçone que
Sam ne voulais pas attraper une crampe à l'index en appuyant
10 000 fois sur la flèche bas. Après telle ou telle
implémentation ...
Pierre
>
> 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