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

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


From: coolbrother@xxxxxxxxxx
Subject: Re: [CBLX] Quelques questions sur Emacs et Speechd-el ?
Date: Sat, 20 Mar 2010 02:27:45 +0100 (CET)

> 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.
> 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 


  Emacs aussi bien sûr ! Le fichier .emacs est
  exécuté au démarrage et tu peux donc y placer n'importe quel
  action que tu veux voir exécutées lorsqu'emacs se lance. À
  l'arrêt tu as une hook dans laquelle tu peux fourer toutes
  les procédures que tu veux et qui sont exécutées à la
  sortie. Ce qui me donnait quelques inquiétudes c'est que je
  me demandais si dans les opérations que tu voulais effectuer
  avant le démarrage d'emacs, il n'y avait pas le lancement de
  speech-dispatcher. DAns ce cas-là, si tu le fais en interne à
  emacs, faut quand-même faire gafe que ce soit bien fait avant
  que speechd-el cherche à se connecter : sinon tu vois le
  résultat ! On peut y arriver mmais faut pas se louper !

  Pierre




> 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/