Re: [CBLX] Quelques questions sur Emacs et Speechd-el ? |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/carrefourblinux Archives
]
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