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


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