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