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

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


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ù ? Dans le
  buffer, dans le fichier ? Qui place ? Non le vrai problème
  qui se pose c'est d'initier et de maintenir 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 !

  Pierre



> Gilles
>> Petit regret, cela aurait été plus cool de permettre l'arrêt
>> de la
>> synthèse juste avec la touche Ctrl. Mais bon ...
>> Pour le pdf, j'utilise pdftotext, mais ça me prendra quelques
>> minutes pour
>> faire un
>> petit script qui convertit au préalable tous mes fichiers .pdf
>> en .txt.
>> Sinon, très astucieux pour le script bash de lancement et
>> d'arrêt.
>> Comme je faisais ceci dans vim directement, car il possède un
>> gestionnaire
>> d'évènement de démarrage et d'arrêt, du coup je n'avais pas
>> pensé à une si
>> simple.
>> Pour le reste je vais fouiller dans la doc.
>> Pour finir, je viens de me rappeler qu'on peut associer ces
>> propres
>> raccourcis clavier à des actions dans Emacs, penses-tu que
>> cela
>> fonctionnerait juste avec la touche Ctrl, ou il faut
>> obligatoirement une
>> combinaison de touches?
>>
>> Merci encore.
>> A bientôt:
>> Sa
>>
>>   
>>> Salut Sam,
>>>
>>> J'ai peur que ces questions soient quand-même pas mal pour moi
>>> ! Je ne suis pas un geek (encore que ...) mais on va essayer.
>>>
>>> From: coolbrother@xxxxxxxxxx
>>> Subject: [CBLX] Quelques questions sur Emacs et Speechd-el ?
>>> Date: Fri, 19 Mar 2010 05:12:56 +0100 (CET)
>>>
>>>     
>>>> Salut, je me suis lancé dans la lecture d'un gros bouquin de
>>>> 650 pages
>>>> en
>>>> pdf,
>>>> et pour y arriver au bout, j'ai besoin de réaliser des manip
>>>> de lecture
>>>> basiques
>>>> sans me lancer dans de nombreuses lignes de scripts, si c'est
>>>> possible.
>>>>
>>>> Pour effectuer une telle tâche, j'ai essayé vim et speakup.
>>>> mais speakup ne permet pas de lire automatiquement toutes les
>>>> pages sans
>>>> s'arrêter.
>>>> Speakup s'arrête à chaque page de l'écran, et comme il y en
>>>> a 650 pages,
>>>> ça ne le fait pas.
>>>> Idem pour orca, dont j'espérais que ce serait très basique.
>>>> Finalement, malgré mes réticenses à l'égard d'emacs pour sa
>>>> lenteur,
>>>>       
>>>   Lenteur ?
>>>
>>>
>>>
>>>     
>>>> c'est speechd-el qui m'a permis de commencer à lire aisément
>>>> un tel pavé
>>>> avec la commande :
>>>> Ctrl-e >
>>>> Mais voilà, il me manque certaines chose comme :
>>>>
>>>> -- Comment arrêter la lecture pour se retrouver sur la dernière
>>>> -- ligne
>>>> prononcée par la synthèse ?
>>>>       
>>>   Pas évident du tout ça. Je crois qu'il n'y a pas de tracking
>>>   dans speechd-el du moins pas au niveau de l'API. Dans le
>>>   moteur, il y a évidemment du tracking puisque l'envoi à la
>>>   synthèse est fait à coup de buffer-substring qui reçoit
>>>   comme
>>>   paramètre l'index du premier et du dernier caractère. Cela
>>>   dit, c'est une question assez délicate. Parce que le client
>>>   peut savoir quelle est la dernière portion de texte qu'il a
>>>   envoyée au serveur speech-dispatcher mais vu le délai de
>>>   prononciation ce n'est pas nécessairement celle qui est
>>>   entrain d'être prononcée. Il s'agit donc de regarder quelles
>>>   sont les features de tracking au niveau de ssip qui est le
>>>   protocole de communication entre speechd-el et
>>>   speech-dispatcher. Si speech-dispatcher peut répondre à
>>>   speechd-el, "je suis en train de prononcer" le bloc d'index
>>>   "n" speechd-el, s'il a traqué la correspondance bloc/position
>>>   dans le buffer, la manip est réalisable. Si ssip n'implémente
>>>   pas cette feature, ou si speechd-el ne traque pas, ça va être
>>>   délicat ! Implémenter le tracking dans speechd-el s'il
>>>   n'existe pas, c'est réalisable (en gros un mapping bloc --
>>>   position dans le buffer.) En revanche, si ssip n'a pas la
>>>   feature, difficile de modifier les specs de ce machin. Dans
>>>   le cas où tout irait bien, on pourrait retrouver l'endroit où
>>>   en est la synthèse disons à une centaine de caractères près
>>>   (à peu près la taille des blocs envoyés à la synthèse si
>>>   ma
>>>   mémoire est bonne.) Sur un ouvrage de 650 pages ce serait
>>>   déjà très très bien. Je pense que tu comprends le problème
>>>   qui est directement lié à la nature même du processus de
>>>   synthèse vocale, et n'a rien à voir avec une implémentation
>>>   ou une autre. On ne pourra jamais espérer traquer au
>>>   caractère près, dans la mesure où au niveau synthétisé, le
>>>   caractère n'a plus réellement de pertinence.
>>>
>>>
>>>
>>>     
>>>> Car "ctrl-e >" lit tout mais ne change pas la position du
>>>> curseur.
>>>>
>>>> -- Comment lancer Emacs avec des réglages de vitesse, volume,
>>>> ponctuation
>>>> désirés ?
>>>>       
>>>   (setq variable valeur) dans le .emacs. Lire la doc de
>>>   speechd-el pour voir quelle variable contrôle quoi et son
>>>   espace de valeurs.a
>>>
>>>
>>>     
>>>> Car c'est un peu long de retapper tout ceci à chaque fois..
>>>>
>>>> -- Comment dire à Emacs de lancer un script au démarrage, et
>>>> -- puis un
>>>> autre
>>>> à son arrêt ?
>>>>       
>>>   Ce n'est pas emacs qui doit faire ça, puisque dans ta
>>>   configuration c'est bash qui est maître. Donc c'est du
>>>   bash. Ah quand-même on en a besoin ! script :
>>>
>>>   #!/bin/bash
>>>   mon_script_debut
>>>   /usr/bin/emacs (paramètres éventuels)
>>>   mon_script_fin
>>>
>>>   Et tu mets ça dans un fichier mon_emacs que tu rends
>>>   exécutable et que tu lances...
>>>
>>>
>>>
>>>     
>>>> Utile pour arrêter speakup au lancement d'emacs et le remettre
>>>> quand on
>>>> le
>>>> quitte,
>>>> sinon conflit avec speech-dispatcher.
>>>>
>>>> -- Comment enlever tous les messages d'aide de speechd-el du style
>>>> -- :
>>>> "empty texte, begining of buffer" ?
>>>>       
>>>   (setq variable value) voir dans la doc de speechd-el quelle
>>>   est la variable qui contrôle ça.
>>>
>>>
>>>
>>>     
>>>> Car ça ralentit considérablement les manip.
>>>>
>>>> -- Enfin, comment dire à Emacs d'ouvrir les fichiers .pdf en les
>>>> convertissant en texte.
>>>>       
>>>   Emacs n'a pas à ma connaissance, de convertisseur interne pdf
>>>   to text.
>>> Tu dois donc utiliser un programme externe. Si tu veux faire
>>> ça à partir
>>> d'emacs :
>>>
>>>   (defun open-pdf (fichier)
>>>   (call-process ....)
>>>   (find-file (concat (file-name-sans-extension fichier) ".txt")))
>>>
>>>   À la louche. Si tu n'as pas envie de te perdre dans de la
>>>   prog lisp, dis-moi ! Je t'écris ça proprement et je le
>>>   teste. Dis-moi quand-même ce que tu utilises pour convertir
>>>   du pdf en txt.
>>>
>>>
>>>
>>>     
>>>> Voilà, c'est sûrement des questions de geek, mais alors bien
>>>> utiles.
>>>>       
>>>   Sans conteste ! Erwin avait écrit quelques lignes de code
>>>   pour lire du word et le schéma est rigoureusement le même
>>>   pour ce qui concerne tes dernières questions. Pour ce qui
>>>   concerne le tracking dans la synthèse, si la doc ne te dis
>>>   rien et si tu ne veux pas mettre le nez dans le code, je peux
>>>   regarder de plus près.
>>>
>>>
>>>     
>>>> Merci.
>>>>       
>>>
>>>   Mais de rien !
>>>     
>>>> A bientôt:
>>>>       
>>>   +1
>>>     
>>>> Sam
>>>>       
>>>   Pierre
>>>     
>>>>
>>>>
>>>> ---
>>>> --
>>>>    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/