[Idle-dev] Making Python Speech-Friendly Under IDLE

JP S-C jpsc@users.sourceforge.net
Wed, 6 Dec 2000 23:35:16 -0800


On Wed, 06 Dec 2000, David Ascher wrote:
> A few months back, after a scary bout with wrist pains, I spent a fair bit
> of time thinking about how to code in Python w/o being bound to the
> keyboard.  For what it's worth, I think that the answer lies in breaking
> the whole serial token metaphors, and to think about coding at a higher
> level of actions, such as "define a class", "define a function", "define a
> method", 
... 
> My lazy experiments with speech recognition didn't prove very successful,
> and my hands are still usable, even if more fragile, so I wasn't limited
> to speech input;  

I'm glad your wrist pains ceased or diminished.

> I 'noticed' that one of the nice things
> about Python (from a UI perspective) is that the branching factor is quite
> low at any given context of a program, with some branches having much
> higher probabilities of being what the programmer needs than others.  For
> example, inside a class, the 'define-method' branch has a high likelihood
> of being the correct branch to take, as opposed to an if-statement or a
> looping construct.

Very interesting.

You seem to be describing two ideas: one about programming by speech and
another about minimizing human computer interaction.

VoiceCode (http://sourceforge.net/projects/voicecode) is working on the first
idea:

"VoiceCode is an Open Source initiative started by the National Research 
Council of Canada, to develop a programming by voice toolbox. The aim of the
project is to make programming through voice input as easy and productive as
with mouse and keyboard."
Source: http://sourceforge.net/projects/voicecode

I talked to someone from VoiceCode a while ago and they seemed to be
concentrating on developing basic features (e.g., support for different
languages).  Eventually, it would be nice if VoiceCode could be integrated with
text-to-speech software to make a hands free, eyes free, and theoretically,
ears free IDE.


I think the second idea about minimizing human computer interaction is the one
we should focus on and discuss further.  There are a huge number of
applications for what you have described, including newbie/intermediate
programming and any environment that wants to maximize a user's efficiency
(especially a user who is not using a mouse, keyboard, or possibly a monitor).  





> I could go on like that for a long time, but that's probably useless
> as I'm unable to commit the time it would take to expand these ideas.  I
> just wanted to suggest that people think a little outside the box, and
> examine the properties of the language.  The proposals I've seen on the
> list so far could apply just as well to Perl as to Python, but the two
> languages are fundamentally different and should be spoken differently =).
> 
> What I will do is volunteer to organize a get-together at IPC9 on the
> topic, as long as it's over some drinks.  I'm pretty sure we can get a
> couple of speech-recognition experts to partake. =)
> 
> --david ascher
> 
> PS: Hopefully I'll be able to implement some of these ideas in a future
>     version of Komodo. =)

__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://im.yahoo.com