Voice Programming Processor for Accessible Code Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current programming tools require keyboard entry, hindering programmers with disabilities or health issues from generating code efficiently, as they necessitate the use of hands and eyes for visualization and input.

Innovation Solution

A system and method utilizing a voice programming processor that accepts voice commands, processes them through a VoiceXML document, and outputs computer code in a predetermined programming language, including implicit parentheses, punctuation, and variable values, allowing for the generation of code using voice inputs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If keyboard entry systems are used for programming, then code generation speed and precision are improved, but accessibility for programmers with disabilities deteriorates

Engineering Contradiction:
Improvecode generation speedVSAvoidaccessibility for programmers with disabilities
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent replaces the mechanical keyboard input system with a voice-based input system. The voice programming processor captures spoken commands, processes them through grammar rules and VoiceXML documents, and generates corresponding code, eliminating the need for physical keyboard interaction while maintaining code generation capability

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent introduces a voice programming processor as an intermediary between the programmer and the code generation system. This intermediary translates voice commands into executable code through grammar comparison, VoiceXML mapping, and code completion engine processing, enabling accessibility without sacrificing productivity

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If visual programming tools are used, then coding precision is improved, but dependency on hands and eyes increases

Engineering Contradiction:
Improvecoding precisionVSAvoiddependency on hands and eyes
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The patent substitutes the visual-mechanical interaction model with an acoustic interaction model. Instead of requiring programmers to visually inspect and manually type code, the system captures voice commands, processes them through grammar rules, and generates code automatically, eliminating dependency on hands and eyes while maintaining coding precision through structured grammar comparison

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Ease of operation

If voice-based programming is implemented, then accessibility for programmers with disabilities is improved, but system complexity increases

Engineering Contradiction:
Improveaccessibility for programmers with disabilitiesVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the voice programming system into distinct functional modules: a voice recognition component for capturing and processing speech, a grammar comparison component for validating commands against predefined rules, a VoiceXML processing component for mapping commands to code structure, and a code completion engine for generating final code output. This segmentation manages complexity by dividing the system into manageable, independent functions

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs preliminary action by pre-defining grammars and VoiceXML documents before actual programming occurs. The grammar comparison component compares voice inputs against pre-established grammatical rules, and the code completion engine uses pre-programmed knowledge of programming languages to automatically complete code structures, reducing the need for complex real-time processing

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7653546B2Method and system for efficient voice-based programming
Publication Date: 2010.01.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7653546B2 patent drawing
  • US7653546B2 patent drawing
  • US7653546B2 patent drawing

AI summary

Provided is a system and method for creating program code via voice input. The method includes providing a client application configured to compare a voice input to a grammar specified in a document; mapping a plurality of commands specified in the grammar to programming language commands; and enhancing the mapped programming language commands to enable compiling. The enhancing can include creating programming code by inserting at least implicit parentheses, punctuation, and default variable values. The programming language commands can be associated with Java or another language. The document can be a VoiceXML file that can be altered to permit a number of different programming language. A voice programming system includes a receiver to receive voice commands; a voice programming processor configured to process the voice commands to create code; and an enhancement block configured to alter the code into compilable code. The enhancement block inserts implicit parentheses, punctuation and variables appropriate for a predetermined code.