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

JP S-C jpsc@users.sourceforge.net
Wed, 6 Dec 2000 22:54:03 -0800


On Wed, 06 Dec 2000, David Ascher wrote:

> 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 that your wrists pains ceased.

> 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.  It seems like what you are saying fits in to two
categories: one about coding by speech and one about coding effectively if you
cannot see or use the keyboard.

	The first, coding by speech, is somewhat out our (Project Ocularis') league in
terms of the time needed to obtain adequate speech-to-text results.  However,
there is a project called VoiceCode
(http://sourceforge.net/projects/VoiceCode/) that does deal with this.  

	"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 focusing
on developing speech-to-text and basic features/functions before integrating
their software with for the visually impaired.  Eventually, this would be
really cool, since it would be a hands and eyes free (theoretically ears free)
method of programming.

	The second idea, coding effectively but non-visually or without a keyboard or
mouse.  It seems this has a huge number of applications, including
newbie/intermediate coding and any time when human computer interaction should
be minimized (e.g., hands free, eyes free, etc.).  I think this might be the
idea we should focus on in our discussions (after talking about or implementing
basic options like piping the word "tab" or "indent" and then "dedent"  to
your speech synthesizer of choice).  


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

Thank you, that's always a good suggestion.

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

:-) True.  Basic "tab", "indent", "dedent" or "x number of spaces" would work
for both, although Perl has no equivalent to IDLE (good for us!)

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

=-) Oh, that would be nice.  I'm not currently planning to go to IPC9, I'll have
to check on that.  If most of you are in California or if you are interested,
our project is having an event in L.A. in late March.

Thanks for sharing your ideas and experience.  Talk to you later.

--JP


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