[Python-mode] more speech driven how twos

Eric S. Johansson esj at harvee.org
Fri Jun 17 19:41:27 CEST 2011

On 6/17/2011 12:18 PM, Andreas Röhler wrote:
> Am 17.06.2011 16:02, schrieb Eric S. Johansson:
>> making more progress on some of the tools I need for speech or
>> programming.
> [ ... ]
> Hi Eric,
> thanks reminding at that. Seeing you introduced a blueprint. Your previous 
> text went into the `second-level-commands'.

Yeah that was probably a speech recognition error. Speech and browsers do not 
get along well
> As said, would like to do that. As soon as we solved issues around python 
> v2-v3 file exec, I'll hopefully address the matter.
> Meanwhile you could instruct us still a little bit about the specific 
> environment in use.
> Could you send a kind of technical description of your system? Which programs 
> do the speech recording etc.

use Dragon NaturallySpeaking for speech recognition system. Runs on Windows I 
use a community built extension called vocola to generate macros and some degree 
of smart user interface with Python extensions to vocola.

My currently preferred Emacs is Xemacs for political reasons[1]

I'm not sure what you need in a technical description. Normally in a speech 
recognition environment you use either fixed grammars or contiguous dictation. I 
am building a hybrid where you use a fixed grammar with contextually dependent 
elements and interact with GUI elements to make an unspeakable process speakable.

the process of making the unspeakable speakable involves identifying and 
extracting information from the application and transforming it into a speakable 
form before displaying it in a second application which can be manipulated. See 
blog.esjworks.com for more complete examples.

I expect that most of the action routines for a complete grammar will just be 
Emacs keystrokes invoking Emacs methods via keyboard input. It would be nice to 
do a direct injection of commands to eliminate problems with errors  in command 
execution caused by too fast a rate of injecting characters. A direct access 
channel would also allows to query the buffer for state information which could 
be used to influence the action routine.

The commands I asked for it which have no need to export information to any 
external program would help me get a better feel for if I'm on the right track 
or not. If there's something I use regularly and they "feel" right" is a vocal 
damage through excessive use, then I'm on the right path. If not, I need to look 
at the problem again they come up with a better solution.

An example of a more complicated spoken command is the "get method" command. The 
first thing the command does is search to the right for the next method. An 
alias for it would be get next method. Going in the other direction would be get 
previous method. Once the method was identified, it would be placed in the 
region, mark on the left, point on the right.  The action routine for the 
grammar would then invoke a GUI helper program to manipulate symbol names that 
pass the existing name along to it. The resulting change method would be 
returned via a different grammar and action routine, "use < transformation 
type>", and the result would be placed back into the buffer replacing what was 
in the region.

Making any sense?

> Do you use emacsspeak?

wrong direction.  I speak to the computer but it seems to pay no more attention 
to me than either my wife or dog do.

--- eric

[1] I think I've described this before but by political reasons, I mean that 
Stallman is a dick when it comes to accessibility issues. He told me that he 
puts greater emphasis on the freedom of software than he does over living 
breathing disabled people who need a way to make a living and function in 
society.  he completely rejected the concept of using a hybrid system of 
proprietary software (NaturallySpeaking) driving Emacs and instead advocated 
waiting five or 10 years for an open-source equivalent to magically appear. 
Somehow he doesn't grok the fact that making open source available through 
proprietary gateway would bind disabled people to open source technology instead 
of continuing their dependence on closed source tools as well as making it 
possible for disabled people to create accessibility interfaces in an 
open-source environment. I swear the guy can't see past the end of his keyboard.

More information about the Python-mode mailing list