Abstract:
A voice-activated signal generator is a device to produce output signals responsive to spoken commands. The device accepts only predetermined commands and responsively generates specific output signals such as a pulse, a series of pulses, a voltage level, or a periodic waveform. The device is suitable for triggering an oscilloscope, or controlling a circuit under test, or activating another instrument. The invention also enables safely controlling a hazardous system such as a high voltage system, hands-free and with precise timing determined by the user. Also disclosed are fast, compact, robust algorithms for analyzing spoken commands, and particularly for detecting voiced and unvoiced sound, and for identifying commands by comparing the order of sound intervals in the spoken command to templates that represent the predetermined commands. The device may have one output or multiple outputs in parallel, all controlled by voice commands with precision output timing.

Description:
FIELD OF THE INVENTION 
     The invention pertains to voice-activated systems, and more particularly to devices for generating electronic signals responsive to a spoken command. 
     BACKGROUND OF THE INVENTION 
     Speech interpretation is a technically hard problem. After decades of development, the goal of direct voice control over electronic devices remains expensive and frustrating. The ability to activate a device by a spoken command would lead to an enormous range of valuable products. Unfortunately, most of the development effort to date has been dedicated to the interpretation of free-form natural speech, primarily for computer dictation, browsing, and general query service, although it inevitably requires powerful computers and expensive software, and often a costly wireless data link to a remote supercomputer as well. Most of the emerging voice-activation applications, on the other hand, are special-purpose devices involving just a few specific operations and just a few predetermined commands. For such applications, general speech interpretation is vastly excessive. Even with a dedicated array of supercomputers, responsiveness is far too slow and far to erratic for special-purpose devices. Prior art is particularly inadequate for those applications where an instantaneous response is needed, such as timers or triggered data acquisition systems. Furthermore, the cost of speech interpretation often dominates the manufacturing cost of small dedicated devices, which often kills the entire voice-activated product on economic grounds alone. 
     Examples of potential applications that are poorly served by prior-art speech interpretation are voice-activated counters, sample-and-hold voltmeters, and triggerable products derivative therefrom, as well as voice-activated distance measuring devices such as tape measures and calipers. Further examples include devices that perform a specific action other than making a measurement, such as a voice-activated solder feeder or a welding-rod advancer for when both hands are occupied, a voice-controlled industrial weighing or labeling station for efficient package handling, and voice-controlled machine shop accessories including parts counters and machine controllers. In the home, there is a need for voice-controlled faucets, preferably including both flow and temperature control to assist the disabled, a voice-activated toilet flush device also for the physically impaired, voice-activated soap dispenser and towel dispenser for improved sanitation, and a host of voice-activated kitchen gadgets, numerous voice-activated devices for athletic/sports/health activities, not to mention an infinite variety of fun and educational toys. Each of these example products does not need, and would not benefit from, a general speech interpretation capability—even if it were free. 
     There is also a continuing demand for new ultra-safe devices for working in a hazardous environment such as around high voltage. Workers often need to control measurement instruments or other devices in the presence of toxic chemicals, pathogens, explosives, radiation, extreme heat or cold, moving blades, presses, and many other hazards. Today, workers must activate a system or adjust a parameter using long insulating poles, an awkward and imprecise solution at best. Means are needed to do these tasks by voice commands alone, thereby enabling precise control over the action and timing of a hazardous operation, but from a safe distance. 
     To focus on just one potential application, there is an acute need for a signal generating device that enables users such as electronic testing engineers to control the timing of a measurement or to prompt a system under test. Everyone who uses oscilloscopes is quite familiar with the problem of triggering the scope while both hands are occupied. The user must hold two probes in place while adjusting a potentiometer or while doing something extremely critical with the circuit under test. But with both hands occupied, there is simply no way to trigger the scope when needed. 
     Recently an oscilloscope has become available with voice-activated features. See for example U.S. Pat. No. 7,027,991 to Alexander. This is a big step in the right direction. However the voice control is restricted to just one instrument, is not detachable, is not self-contained, and produces no output signals. A versatile device would produce a variety of output signals which would be usable on a wide range of receiving systems. 
     A clever command recognition method was introduced in U.S. Pat. No. 7,532,038 to Ariav, wherein electronic filters separate the command sounds into high and low frequency components. A few commands can be identified on the basis of frequency alone, but the system requires cumbersome analog electronics with dual amplification and dual or multiplexed ADC inputs. Also it ignores crucial non-sinusoidal waveform information in the sound, and is unable to differentiate among commands with silent intervals, and is unable to discriminate brief versus sustained sounds, among other limitations. 
     What is needed is a voice-activated device to control a measurement instrument or any electronic system, by voice command alone. Preferably such a device would be fast and extremely economical, while providing specific output signals on command. Preferably the new device would avoid completely the monumental expense and frustration of speech interpretation systems that require full-performance computers, massive software, and tedious “training”. The new device would simply produce the signal on command. Such a device would enable applications in electronic testing, industrial control, and a host of consumer items that require low-cost voice activation. 
     BRIEF SUMMARY OF THE INVENTION 
     The invention is a device to produce an output signal in response to a spoken command that matches a predetermined command. The device includes a microphone to detect sounds of the spoken command, and a processor to compare the spoken command with one or more predetermined commands, and an output connector to detachably connect with a receiving system. When the spoken command matches one of the predetermined commands, the device responsively generates a particular output signal that depends on which of the predetermined commands is matched, and passes the output signal through the output connector to the receiving system. 
     The inventive spoken and predetermined commands comprise any utterance by any person (the “user”) for the purpose of generating the output signal or controlling the receiving system. The spoken command may be any word or phrase in any language, or even nonsense, so long as it includes sufficient sound to be detected and analyzed. Usually the spoken command is analyzed by detecting sounds of the spoken command, and then quantitatively determining certain features of the sounds such as the amplitudes and frequencies of the sounds, as well as the order in which those sounds or features occur in the command. Usually the predetermined commands are represented by data indicating the features of each predetermined command. The spoken command and a predetermined command are equivalent, or they “match”, when their corresponding features are equal. The inventive output signal is any electrical transmission such as a pulse or pulse train, a voltage or a change in voltage, a periodic waveform or a modulation of a waveform. The inventive receiving system is any electronic equipment that is able to receive the output signal and to be controlled by the output signal. 
     The objective of the invention is to enable a user to control the receiving system, thereby causing the receiving system to perform certain specific actions, simply by speaking one or more of the predetermined commands. The invention is not intended to perform free-form speech interpretation; rather, the invention recognizes a few distinct commands for which it has been programmed, and responsively generates specific output signals associated with those commands. An important aspect of the invention is that it can control an unlimited number of different receiving systems since the invention is portable and detachable and self-contained, and thus is not restricted to a single receiving system. One application of the invention is to enable an electronic test engineer to trigger a measurement instrument while both hands are busy holding probes or adjusting circuit elements. Another application is to activate or modulate a circuit under test, so as to reveal a problem or demonstrate the circuit&#39;s performance. A third application is to adjust a hazardous system such as a high voltage system from a safe distance. Those with experience in the electronic arts will find numerous further applications of the invention. 
     The inventive device comprises a microphone, a processor, and an output connector. The invention may also include an amplifier, a digitizer, and a power source. The microphone, amplifier, digitizer, processor, output connector, and power source may be held together by an enclosure, which may comprise a plastic or metal box, for example. When implemented as described herein, the device is detachable and portable and self-contained, thereby enabling easy reconnection with different receiving systems and quick setup for different applications. The invention is envisioned as a general bench tool, versatile and easily accessible with zero training required, potentially as useful as the common hand-held multimeters and calculators for example. 
     The inventive microphone is any transducer that converts sounds of the spoken command to an electrical signal, such as an electret or piezoelectric or magnetic microphone, which may be omnidirectional or unidirectional or noise-cancelling for example. Usually the microphone is positioned to sense the command sounds with little or no intervening material that could absorb some of the sound. Accordingly, the microphone could be mounted on the exterior of the enclosure or in a hole penetrating the enclosure, or the microphone could be mounted inside the enclosure but proximate to some holes or other penetrations that admit the sound. 
     The invention usually includes an amplifier to amplify, and optionally filter, the electrical signal from the microphone to produce an amplified signal. The amplifier comprises an operational amplifier or an audio amplifier or a transistor for example, and includes resistors and capacitors connected and configured to set the gain and bandwidth. Usually the amplifier amplifies signals only within a frequency passband which preferably includes all speech sounds, or at least sufficient sounds to identify the spoken command as one of the predetermined commands, and normally excludes DC and ultrasonic frequencies. The gain may be flat across the passband, or the amplifier may be configured for higher gain at high frequencies and lower gain at low frequencies, to compensate differences in speech sounds. The amplifier may have fixed gain or variable gain, which may be controlled by a manual adjustment, or by voice commands, or automatically so as to keep the amplified signal within a certain amplitude range. The amplifier may comprise a separate assembly, or it may be integrated with the processor such as a microcontroller with an opamp built-in. 
     The invention usually includes a digitizer, comprising means for converting the amplified signal to a digitized signal by repeatedly measuring the voltage of the amplified signal. The digitizer thus produces a multitude of digital measurement values that comprise the digitized signal. The digitizer is usually an interface circuit such as an ADC (analog-to-digital converter) or a DSP (digital signal processor) or a set of voltage comparators, and is capable of performing the voltage measurement periodically and rapidly. Preferably the digitizer is configured to have a digitization period, or the average time between the voltage measurements, which will provide sufficient time resolution to enable analysis of the command sounds. Preferably the digitization period is in the range of 0.02 to 0.2 millisecond, and more preferably in the range 0.05 to 0.1 millisecond. If the digitizer operates faster than that latter range, sequential measurement values may be combined so as to obtain digital values having the preferred periodicity. If the digitizer operates more slowly, the ability to recognize certain speech sounds will be compromised. In some embodiments, the digitizer is included with the processor, such as a microcontroller with a built-in ADC. 
     The inventive processor is any calculating means for analyzing a signal representing sounds of the spoken command, that signal being either the electrical signal from the microphone, or the amplified signal from the amplifier, or the digitized signal from the digitizer. The processor may be a microcontroller or a general purpose CPU (central processing unit) or a digital signal analyzer or a custom ASIC (application specific integrated circuit) or an FPGA (field programmable gate array) or an assembly of discrete logic or transistors. Usually the processor is programmable. Configuring the processor to perform the analysis may comprise programming the processor with firmware or software instructions, or setting values and instructions permanently during manufacture. The processor is configured or programmed to analyze the sounds of the spoken command, and to quantitatively evaluate specific features such as sound amplitudes, frequencies, sound durations, and voltage variations in those sounds. The processor may be configured to measure time intervals that contain primarily one type of sound or sound feature, and may determine the order in which the sounds or sound features occur in the spoken command. The processor may compare the spoken command with the predetermined commands by comparing the sounds and features detected in the spoken command with the sounds and features of the predetermined commands. The spoken command and the predetermined command match when their corresponding sounds or features are equal. The device then generates an output signal responsive to such a match. Usually the device is able to generate a variety of output signals, and generates a particular output signal that depends on which of the predetermined commands matches the spoken command. 
     The inventive output connector is any means for detachably connecting the inventive device to the receiving system, and for conveying the output signal from the device to the receiving system. The output connector may be directly in contact with the receiving system, or may connect with the receiving system using cables or wires or other conductors. Usually the output connector comprises two conductors such as a BNC or SMA connector, or multiple conductors such as an audio phone jack or an Ethernet jack. The output connector could comprise a single conductor such as a banana socket or a binding post, in which case another conductor preferably establishes a common ground, or other voltage basis, between the inventive device and the receiving system. 
     The invention usually includes a power source comprising any source of DC electrical power sufficient to energize the amplifier and processor. The power source also energizes the microphone and the other components as needed. The power source comprises for example a disposable or rechargeable battery, a capacitor with sufficient storage capacity, or a photovoltaic array. When the power source is a rechargeable type, it may be recharged by an internal or external AC-to-DC converter such as a power supply, which may be connected to an external source of AC power during recharging. 
     The inventive device may include an output stage that adjusts the impedance or amplitude of the output signal, to properly drive the receiving system. For example the receiving system may be able to tolerate only a low voltage input, in which case the processor attenuates its output voltage accordingly before passing the output signal to the output connector. The properties of the output stage depend on the needs of the receiving system. The inventive device may include switch means allowing the user to select the type of output signal to be generated, such as a pulse or series of pulses, a voltage level, or a waveform for example. 
     The invention may include memory elements that contain information about the predetermined commands, thereby enabling an exact comparison with the spoken command. The information could indicate a series of amplitudes or frequency ranges or sound durations, or the order of same, or any other features of the predetermined commands that can be stored digitally. The information is preferably arranged in the form of templates or groups of data, each template comprising information about one of the predetermined commands, thereby facilitating the comparison with the spoken command. Each predetermined command is also associated with a particular output signal. When the spoken command matches one of the predetermined commands as represented by the templates, the device then generates the particular output signal that is associated with the matched template or with the matched predetermined command. The inventive memory elements comprise any means for storing digital information, and particularly for storing the templates. The memory elements may be microcontroller registers or CPU cache or external RAM (SRAM, DRAM, and their variations) or programmable memory (PROM, EPROM, EEPROM, and FLASH and their variations) for example. The inventive templates may comprise the information describing the predetermined commands, or the templates may comprise the memory elements themselves when the memory elements contain such information. 
     The invention may analyze the spoken command by detecting voiced and unvoiced sounds comprising the spoken command. A voiced sound is any sound produced by vocal cord resonance, while an unvoiced sound is produced by breath air passing through a restriction in the vocal tract but without vocal cord involvement. For example, voiced sound is produced by all of the vowels A, E, I, O, U and by the voiced consonants such as J, M, L, V, and R. Unvoiced sound is produced by the unvoiced consonants such as S, H, X, and the digraphs SH and CH. Each example-letter listed herein represents the sound produced when the letter is used in speech, as commonly pronounced in English. Every sound of a spoken command is either voiced or unvoiced, depending on whether the vocal cords participate. A voiced interval is an interval of time containing primarily voiced sound, and an unvoiced interval contains primarily unvoiced sound. Each command has a particular order of voiced and unvoiced intervals. Hence the invention may identify spoken commands by comparing the order of voiced and unvoiced intervals detected in the spoken command with the order of voiced and unvoiced intervals in the predetermined commands. 
     The invention may further discriminate sounds based on duration, for example the sounds being brief or sustained sounds. A brief sound is generated only transiently while an air obstruction in the vocal tract is opening or closing. Brief sounds may be voiced or unvoiced depending on whether the vocal cords produce sound during the transition. For example the brief-voiced consonants include B, D, and G, whereas the brief-unvoiced consonants include T, K, and P. A sustained sound may be continued as long as desired, but a brief sound cannot. Normally a brief sound has a duration less than a limit Tbrief, and a sustained sound has a duration longer than Tbrief, with Tbrief being typically about 20 to 60 milliseconds. All of the letter-examples mentioned in the previous paragraph are sustained, whereas all the letter-examples in this paragraph are brief. The invention may use the brief or sustained character of each sound interval to assist command identification. However, in practice the brief sounds are quite variable. Therefore the invention may ignore all the brief sounds, or may identify each command on the basis of the sustained sounds with or without the brief sounds being detectable. 
     The invention may identify a spoken command by detecting the sounds of the spoken command, analyzing the sounds to determine their voiced or unvoiced type, thereby determining the order of voiced and unvoiced intervals in the spoken command (the “detected order”), and then comparing the detected order to templates that indicate the order of voiced and unvoiced intervals in the predetermined commands. When the detected order matches one of the templates, the spoken command is equivalent to, or matches, the corresponding predetermined command, and the spoken command is thus identified. Preferably all the predetermined commands have a distinct order of voiced and unvoiced intervals, so that the identification may be unambiguous. When the brief-or-sustained character of the sound intervals is also determined, that information may also be included in the detected order and in the templates. 
     Many commands include silent intervals. A silent interval may be any time interval that is not a voiced or unvoiced interval; or alternatively, a silent interval may be any interval containing no detectable sound. The two versions give similar results in practice, although the latter is more sensitive to backgrounds. The inventive device may detect the silent intervals and include them in discriminating commands, in which case the spoken command matches a predetermined command when the order of voiced, unvoiced, and silent intervals in the spoken command is the same as the order of voiced, unvoiced, and silent intervals in one of the predetermined commands. A silent interval may be brief or sustained depending on its duration. Commands are normally preceded and followed by intervals of silence that indicate when the command starts and ends. The pre- and post-command silences are longer than any internal silence so that the beginning and ending of the command may be reliably discerned. However, the pre- and post-command silences are not included in the templates because they are always present, and thus provide no additional discriminating information. 
     To illustrate command identification by sound-interval analysis, the command “RESET” comprises four intervals: first a voiced interval during the RE portion of the command, then an unvoiced S, then a voiced interval for the second E, and then an unvoiced T sound. All of these intervals are sustained except the T which is brief. Although two different phonemes comprise the RE portion, in analysis the RE portion is detected as a single voiced interval because both letters generate voiced sound with no gap or pause between them. The invention detects the two-letter RE portion as a single interval of uninterrupted voiced sound. The command “RESET” can be summarized by the following abbreviation: (voiced)(unvoiced)(voiced)(unvoiced-brief), which corresponds to (RE)(S)(E)(T). 
     As a second example, the command “GO SLOW” comprises “GO” which has a single voiced interval, then a gap of silence, then the S which is unvoiced, and then the final portion “LOW” which is voiced. All of the intervals are sustained. The order of intervals is thus represented as: (voiced)(silence)(unvoiced)(voiced) corresponding to (GO)(-)(S)(LOW). 
     As a third example, the command “SET FAST” comprises intervals for “SET”=(unvoiced)(voiced)(unvoiced-brief), then a silent gap, and then “FAST”=(unvoiced)(voiced)(unvoiced). The ST portion appears as a single unvoiced sustained interval, despite the T being brief, because both the S and T produce unvoiced sound. When two adjacent intervals have the same type, with no intervening silence, generally they merge to form a single interval. Hence the ST portion appears as a single unvoiced sustained interval. Putting this together, the sound-interval code for “SET FAST” is thus (unvoiced)(voiced)(unvoiced-brief)(silence)(unvoiced)(voiced)(unvoiced). 
     The invention includes means for analyzing sounds to detect voiced and unvoiced sound intervals. Unvoiced sounds exhibit very rapid voltage variations corresponding to eddy turbulence generated by air passing through a constriction in the vocal tract, while voiced sounds have much slower voltage variations corresponding to the physical motion of the vocal cords. Unvoiced sounds generally have higher frequencies and voiced sounds generally have lower frequencies. Sound in a low range, up to about 1 kHz, corresponds roughly to voiced sound, and sound in a higher range, above about 3 kHz, correlates roughly to unvoiced sound. Hence the invention could detect the voiced and unvoiced sounds by analog-filtering the signal, or by transforming the digitized signal with an FFT program. Voiced sounds are detected when the lower frequency sound exceeds a threshold, and unvoiced sounds are detected when the higher-frequency sounds exceed a threshold. Such frequency-domain analyses are able to discriminate certain tailored commands, but they necessarily lose critical identifying information in the non-sinusoidal wave shapes of the raw signal, and they require extra analog electronics or extra frequency transformation steps. 
     Much more preferably, the invention discriminates voiced and unvoiced sounds by analysis of the digitized signal directly in the time domain and in real time. The slowly-varying voiced sounds are detected by adding or averaging sequential digitized signal values across an integration time of preferably about 0.5 to 2 milliseconds, thereby generating an integrated signal. The integration time is sufficient to extinguish the rapid variations of unvoiced sound, but passes the slower variations of voiced sound. To detect unvoiced sounds with much faster sound wave variations, sequential digitized signal values are subtracted from each other to obtain a differentiated signal. For optimal time resolution, the digitized values in the differential should be separated by about 0.05 to 0.1 milliseconds. The difference between sequential measurements having a periodicity in this range will strongly suppress the slow variations of voiced sound while emphasizing the fast variations of unvoiced sound. 
     The integrated and differentiated signals may then be smoothed to eliminate pulsatile noise and enhance reliability. For example the integrated and differentiated signals may be smoothed by subtracting a voltage corresponding to silence, taking the magnitude of the result, and then averaging the magnitude values across a sufficient period, usually about 5 to 20 milliseconds, to obtain a smoothed signal. Voiced sounds are detected by comparing the integrated signal (after smoothing, if included) to a voiced-sound threshold. Unvoiced sounds are detected by comparing the differentiated signal to an unvoiced-sound threshold. The inventive time-domain analysis provides rapid and reliable discrimination of voiced and unvoiced sounds, while avoiding cumbersome analog electronics other than a simple broadband gain stage, and also avoiding calculation-intensive and memory-intensive analysis such as FFT. By contrast, the inventive time-domain analysis can be performed with a simple microcontroller using a few lines of code. 
     The invention may recognize silent intervals among the sounded intervals, and use this information to enhance command recognition. In that case the detected order is the order of voiced and unvoiced and silent intervals in the spoken command, and the templates indicate the order of voiced and unvoiced and silent intervals in each of the predetermined commands. The spoken command then matches one of the predetermined commands when the detected order is identical to one of the templates, which implies that the order of voiced and unvoiced and silent intervals in the spoken command is the same as the order of voiced and unvoiced and silent intervals in the predetermined command corresponding to the matched template. 
     The templates may employ any code or representation that facilitates comparing the detected order with the templates. For example a template may comprise numbers in successive memory elements, each memory element corresponding to one of the intervals in the command, and each number indicating what type of sound is in that interval. The first memory element, representing the first interval, may have a 1 for a voiced interval, 2 for unvoiced, or 3 for a silent interval, and likewise for each successive memory element corresponding to each successive interval in the command. As a second example, the template may employ the bits in a pair of 8-bit registers, one register for voiced intervals and one for unvoiced intervals. Each bit corresponds to one interval, up to 8 intervals total. The first bit in the voiced register is set to 1 if the first interval is voiced, and 0 otherwise. The first bit in the unvoiced register is set to 1 if the first interval is unvoiced, and likewise for all intervals in the command. A silent interval would have a 0 in at the same bit location in both registers. Preferably the detected order uses the same representation for the spoken command. Using either the bit representation or the number representation, or any other representation, the templates are compared to the detected order by subtracting them, and a zero result indicates a match. Or, the detected order may be compared to the templates using the exclusive-or function, with the same effect. 
     Typically the invention can generate a plurality of different types of output signals, and the spoken command determines which of the output signal types is actually produced. For example the output signal may be a pulse generated responsive to a first command, or a series of pulses which would be started or stopped on a second command; or the output signal may be a voltage or other continuous signal, which is then modulated or otherwise altered in a particular way responsive to a third command; or the output signal may be a waveform comprising repeated shapes such as a square wave or a sawtooth wave or a sine wave or other shapes, which are altered in form or frequency, responsive to a fourth command. Thus the user obtains the particular output signal specified by the spoken command. 
     The invention may include a default output signal to be generated if the spoken command fails to match any of the predetermined commands. The default output signal may comprise an indication or alarm that a bad command was received, or it may comprise grounding the output signal, or it may be to do nothing. When a non-matching command is received while the device is already generating a continuous or repetitive output signal, such as a voltage level or a continuing waveform, the non-matching command normally has no effect on the output signal, and the output signal simply continues unchanged. Alternatively, a bad command may cause the output signal to be terminated, or some other consequence depending on the application needs. 
     The invention may include an enablement parameter that can be set to an enabled state or a disabled state, and an enabling command, and one or more output commands. When the enablement parameter is set to enabled, the device responds to the output commands as usual. When the parameter is disabled, the device inhibits all output signals and rejects all commands except the enabling command. The user first calls the enabling command, which sets the parameter to enabled, and then calls an output command, which generates the desired output signal. While the enablement parameter is set to enabled, the device recognizes and responds to the subsequent output commands. The advantage of the enablement parameter is that it helps reduce false triggering from background noises, and allows the user to inhibit output signals when necessary. 
     The inventive device may be configured to generate two different output signals according to the state of the enablement parameter. Responsive to the output command, the device generates a first output signal if the enablement parameter is set enabled, and the device generates a second output signal different from the first output signal if the enablement parameter is set disabled. The second output signal may comprise alerting the user that the enablement parameter is in the disabled state, or issuing a default output signal, or terminating any pre-existing output signal, or continuing to wait for the enabling command, or doing nothing. In addition, the invention could have a number of different enabling commands, each of which enables a different cluster of output commands. For example the command “ENGLISH” could enable a set of commands in the English language, and the command “FRANCAIS” could enable a set of commands in French. 
     The invention also includes means for setting the enablement parameter back to disabled. There are many ways to do this depending on the application needs. For example the same enabling command could set the parameter to the enabled and disabled states in alternation; hence the parameter is inverted each time the command is called. Or, there could be a separate disabling command that sets the enablement parameter to disabled. Or, the enablement parameter may be automatically set to disabled after each successful output command, thereby ensuring that only one output command may be executed at a time. Or, the enablement parameter may be automatically set to disabled upon a non-matching command, thereby avoiding false counts when background sounds are too high. 
     As a further alternative, the enablement parameter may be set to disabled when a particular time interval expires. Typically the enabling interval is about one second to a few seconds in duration. The device may start a timer when the enabling command occurs, and then the device would set the enablement parameter to disabled when the time interval expires. The disabling timer may be retriggered (restarted with the full duration) upon each successful output command, thereby allowing the user to call a series of commands without having to repeat the enabling command each time. The enabling time interval would then expire after the user stops calling commands. The user can again set the enablement parameter to enabled, by again calling the enabling command at any time. The enablement parameter provides the user with a great deal of flexibility and control over the operation while greatly improving noise rejection. 
     The invention normally generates the output signal after a post-command silent period has expired. The resulting output signal thus occurs shortly after the command is finished, which is soon enough for many applications. But for other applications, such as event timing or instantaneous data acquisition, the user needs a pulse instantly. Therefore the invention includes means for generating an output signal immediately upon detecting the first sound of a command, thereby providing an extremely prompt signal with precise timing. 
     To provide such an immediate pulse, the invention may include an immediate command which elicits an immediate output signal immediately upon detecting the first sound of the command. For example, the immediate command may start with a particular type of sound, different from the leading sound in all the other commands. More specifically, the immediate command may start with an unvoiced sound and all the other predetermined commands start with a voiced sound (or vice-versa). The processor generates an immediate output pulse as soon as the unvoiced sound is detected as the first sound in a command. The device generates the immediate output without waiting for the full command to be finished, but rather generates the immediate output upon the very first leading edge of the first sound of the command. This works best if the invention is able to discriminate voiced and unvoiced sounds quickly, preferably by deterministic wave analysis in the time domain, as described hereinabove. 
     An alternative way to provide an immediate output signal is to arrange an arming command that prepares or arms the device when called. After being armed, the device generates the output signal instantly upon detecting any subsequent sound of either type. Thus the user calls the arming command first, and then makes any sound at the moment the output signal is desired. As a further option, the device could instantly recognize the sound type following the arming command, and generate the immediate output signal only if the sound is of a particular type. The inventive device may be configured to terminate the arming condition as soon as the immediate output is generated, thus ensuring that only one immediate output is generated at a time. Or, the arming command may remain in effect, and all subsequent sounds would generate an immediate output signal, until a disarming command is received to turn the arming condition off. 
     The inventive system may include controls and switches such as a power on-off switch, a gain adjustment knob, and switches to control an operational mode. A mode switch may select among several types of output such as a pulse, a repetitive waveform, a DC level, a ramp, or an analog output, depending on what type of signal the receiving system requires. The device may include a manual control such as a button that when activated causes one of the output signals to be generated regardless of any spoken commands. Such a manual trigger option would be useful in some applications, for example to obtain the output signal in complete silence. 
     The inventive device may include visible indicators such as LED&#39;s (light-emitting diodes) that indicate a condition of the device. The indicator may indicate that the system is on, or that it is ready to receive a command, or that it is generating an output signal, or that the battery is running low for example. The indicator may also produce a visible indication whenever an output signal is generated, or whenever a bad command or noise is detected. If the output signal is an analog voltage, indicators could indicate that the output voltage is positive or negative or zero or some other voltage of interest. The inventive system may include an LCD (liquid crystal display) or other display to indicate an output voltage or an operational state, for example. The inventive system may include a detachable external microphone, which may be a clip-on or bench type microphone, and may include a wireless link. The inventive system may include a detachable speaker, such as a headset, which may alert the user with a sonic tone when each output signal is generated, or when a bad command is received for example. 
     The invention may include multiple output connectors, all carrying different output signals simultaneously, and all controllable by voice commands. Each output connector may have an associated mode switch that governs which type of output signals (pulse, waveform, analog voltage, etc.) are provided on the associated output connector. The device may include distinct commands for each of the output connectors, so that each command can be allocated to the desired output connector. For example the command “PULSE-ONE” would generate a pulse on a first output connector, and “PULSE-TWO” would generate a pulse on a second output connector. Thus each command would include, in the command itself, an indication of which output connector is to carry the output signal. 
     Alternatively, the inventive device with multiple output connectors may include channel-selection commands that select one of the output connectors for voice control, and deselect all the other output connectors. Subsequent commands then cause the desired output signals to be generated only on the output connector specified in the most recent channel-selection command, without affecting the other outputs. Thus multiple simultaneous output signals can be arranged upon the output connectors by selecting each output connector in turn and setting up the desired output signals. 
     The invention enables a boundless range of valuable applications, particularly in the field of electronic development and testing. Electronics workers often need to activate a measurement instrument such as an oscilloscope, or modulate a circuit under test, using particular signals that the invention provides, all timed precisely at the user&#39;s pleasure. Another advantage of the invention is that it allows a user to safely control a system under hazardous conditions such as high voltage. Another advantage of the invention is that it allows a user to initiate responses in darkness using predetermined voice commands. Another advantage of the invention is that it allows multiple receiving systems to be activated simultaneously by the same command, or sequentially by multiple commands, simply by connecting the output connector or connectors to the receiving systems. The invention affords unprecedented operational flexibility and hands-free voice-activated convenience, enabling virtually effortless control over the type and timing of output signals for the first time. 
    
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
         FIG. 1  is a sketch of a signal generator with a voice-activated output. 
         FIG. 2  is a sketch showing how the inventive system is connected for use. 
         FIG. 3  is a chart showing various signals related to the example of  FIG. 1 . 
         FIG. 4  is a sketch of a signal generator with multiple voice-activated modes. 
         FIG. 5  is a chart showing various signals related to the example of  FIG. 4 . 
         FIG. 6  is a sketch shown the invention with two output connectors. 
         FIG. 7  is a chart showing how voice commands control two outputs. 
         FIG. 8  is a sketch showing an embodiment with an LCD display. 
         FIG. 9  is a chart showing an analog output signal. 
     
    
    
     DETAILED DESCRIPTION OF INVENTION 
     Referring to  FIG. 1 , a device according to the invention for generating output signals responsive to spoken commands comprises an enclosure  100 , a microphone  101 , an amplifier  102 , a processor  103 , an output connector  104 , and a power source  105 . Items interior to the enclosure  100  are shown dashed. Conductors comprising wires or circuit board traces are also shown connecting the microphone  101  to the amplifier  102 , and the amplifier  102  to the processor  103 , and the processor  103  to the output connector  104 , and the power source  105  to the amplifier  102  and the processor  103 . 
     The enclosure  100  is a plastic box to which the other components are secured. In the embodiment of  FIG. 1 , the microphone  101  and the output connector  104  are mounted on the exterior of the enclosure  100  and the amplifier  102  and the processor  103  are mounted inside the enclosure  100 . The output connector  104  conveys the output signal to a receiving system (not shown) exterior to the device, and is detachable from the receiving system so that the invention can deliver output signals to any receiving system when connected thereto. In the embodiment of  FIG. 1 , the output connector  104  is a BNC connector. 
     The power source  105  is any means for providing DC voltage to the amplifier  102  and the processor  103 . In the example of  FIG. 1 , the power source  105  comprises two type AA batteries wired in series to provide 3-volt DC power. 
     The microphone  101  converts sounds of a spoken command to electrical signals, having sufficient sensitivity and bandwidth to enable detection of the command sounds. The microphone  101  may be omnidirectional to receive command sounds from any direction, or it may be unidirectional so as to detect command sounds from a particular direction, preferably the direction where a user is positioned. In the embodiment of  FIG. 1 , the microphone  101  is an omnidirectional electret condenser microphone with a sensitivity of −44 dB, signal-to-noise ratio of 56 dB, and bandwidth spanning 100 Hz to 20 kHz. Some microphones require a biasing voltage. The microphone  101  is biased by a DC voltage from the amplifier  102 . 
     The amplifier  102  amplifies and filters the electronic signals from the microphone  101 , being configured with sufficient gain so that the amplified sound signals have sufficient amplitude to be detected by the processor  103 . In the embodiment of  FIG. 1 , the amplifier  102  comprises two operational amplifier stages wired in series, each stage being configured with resistors and capacitors for a gain of 35 dB and a nominally flat passband of 300 Hz to 20 kHz. 
     The processor  103  is a microcontroller that includes an ADC. The ADC is configured to receive the amplified signal and repeatedly measure the amplified signal and generate a digitized signal. In the embodiment of  FIG. 1 , the processor  103  is a PIC16F690 microcontroller which is an 8-bit programmable controller with an internal  8  MHz clock, internal registers, and an internal ADC. The internal ADC is a 10-bit successive-approximation ADC capable of generating the digitized signal values with a 0.06 millisecond periodicity. (A near-infinite variety of other microcontrollers are also available which would perform equally well.) 
     The processor  103  is further programmed using firmware instructions to detect sounds of the spoken command and to compare the sounds to predetermined commands, thereby identifying the spoken command. In the embodiment of  FIG. 1 , the processor  103  is configured to detect voiced and unvoiced sounds, and to determine the detected order (the order of voiced and unvoiced sound intervals in the spoken command), and to compare that detected order to templates indicating the order of voiced and unvoiced intervals in the predetermined commands. More specifically, the processor  103  is configured to detect voiced sounds by averaging 16 successive digitized signal values, and then to compare the resulting average to a voiced-sound threshold. The processor  103  is further programmed to detect unvoiced sound intervals by subtracting successive digitized signal values from each other, thereby obtaining a differentiated signal which is strongly correlated with the rapid variations of unvoiced sound, and then to compare that differentiated signal to an unvoiced-sound threshold. By detecting time intervals containing voiced and unvoiced sounds, the processor  103  determines the order of voiced and unvoiced intervals in the spoken command, thereby determining the detected order. The processor  103  is further programmed to identify the spoken command by comparing the detected order to the templates which are stored in the microcontroller registers. When the detected order matches one of the templates, the processor  103  generates an output signal corresponding to the matching predetermined command, and passes the output signal to the output connector  104 . 
     The processor  103  is programmed to produce an output signal comprising a pulse when the user says “PULSE”. This command comprises an unvoiced-brief interval for P, then a voiced interval for UL, then an unvoiced interval for S. The E is silent. 
       FIG. 2  shows how the inventive device of  FIG. 1  may be set up for use in an electronics testing application. The invention  201  is connected by a BNC cable  202  to a sample-and-hold voltmeter  203  so as to trigger the voltmeter  203 . Two probes  204  and  205  are manually held at particular locations on a circuit under test  206 . Upon a voice command, the invention  201  generates an output pulse that triggers the voltmeter  203  which immediately records and displays the voltage difference between the probes  204  and  205 , thereby enabling an engineer to diagnose a problem in the circuit under test  206 . 
     Alternatively, the invention  201  could be connected to the circuit under test  206  so as to activate the circuit under test  206 , while the voltmeter  203  could be free-running or triggered by some other signal. Such a setup would allow the user to trigger a particular response from the circuit under test  206  at will, thereby enabling further diagnostic tests. 
     As another alternative, the invention  201  could trigger the voltmeter  203  and also activate the circuit under test  206  using the same output signal, or using subsequent output signals on the same output connector. In such a case the output connector would be connected to both of the two receiving systems, using multiple cables or a splitter for example. 
     The invention  201  is configured to generate different output signals responsive to different commands. For example the invention  201  could be configured to generate a single pulse upon the command “PULSE”, or a double pulse for the command TWO PULSE″. The invention  201  could begin a 1 kHz train of pulses upon the command “GO TRAIN”, and stop pulsing upon “STOP TRAIN”. The invention  201  could then increase or decrease the pulsing frequency upon commands “FASTER” and “SLOWER”. Since each of these commands has a distinct order of voiced and unvoiced intervals, the invention  201  is able to identify them all, and to respond with a particular output signal as specified by the spoken command. 
       FIG. 3  shows a set of graphs similar to oscilloscope traces, displaying various signals related to the example of  FIG. 2 . The command PULSE is shown at the top, with letters spread out so they line up with the traces. Certain times are indicated by vertical dashed lines. 
     The first trace, labeled Sound, shows the amplified sound signal  301  versus time. The sound signal  301  includes rapid voltage variations  302  corresponding to the unvoiced-brief sound of the P, then a region of slow variations  303  for the voiced UL portion of the command, and then a rapid variation region  304  for the unvoiced S. No voltage variations are detected during the region  305  because the E is silent. 
     The sound signal  301  shown in  FIG. 3  is very highly simplified to illustrate the inventive principles. Also the time axis is compressed and not to scale. In a real system, the amplified signal of any spoken command would have hundreds or thousands of voltage variations with all shapes and sizes, exhibiting little or no reproducibility and a high degree of complexity. The inventive system exploits the signal complexity to identify each sound interval and recognize each spoken command. 
     The next trace, labeled Voiced, shows when the voiced interval  311  is detected. The sound signal  301  includes slow variations  303  occurring between times  322  and  323 . Accordingly, the voiced interval  311  is shown detected between times  322  and  323 , coincident with the slow variations  303 . 
     The next trace, labeled Unvoiced, shows when the unvoiced intervals  312  and  313  are detected. The rapid variations  302 , corresponding to the unvoiced sound of P, occurs between times  321  and  322 . Accordingly, the unvoiced interval  312  is shown during the same time interval. The fast variations  304  corresponding to the S sound of the command are also detected between the times  324  and  325 , resulting in the unvoiced interval  313 . 
     Sound intervals may be detected by any means that discriminates voiced and unvoiced sound. Fast and slow variations correspond roughly to high and low frequencies, so that analog filters or digital FFT analysis could be used to identify the voiced and unvoiced sections. Much more preferably, the sound signal  301  is analyzed by a time-domain calculation that exploits the non-sinusoidal information in the sound signal  301  for rapid, deterministic identification of each sound interval. In the example of  FIG. 3 , slow variations are detected by averaging successive sound measurements that together span about 1 millisecond of data, which strongly emphasizes the voiced sounds and rejects unvoiced sounds. The voltage corresponding to silence is then subtracted from the average, the magnitude of the difference is derived, and the result is smoothed across 15 milliseconds. The smoothed integrated signal is then compared to a voiced-sound threshold value to detect voiced sound. The voiced interval  311  is that time interval wherein the smoothed integrated signal exceeds the voiced-sound threshold. 
     The unvoiced sounds  302  and  304  are analyzed by subtracting subsequent ADC measurements, which strongly emphasizes the fast variations of unvoiced speech, and then taking the magnitude of the difference and smoothing. The unvoiced intervals  312  and  313  indicate where the smoothed differentiated signal exceeds an unvoiced-sound threshold. The unvoiced interval  312  is rather short, thereby indicating that the P sound is an unvoiced-brief type. Brief and sustained intervals may be discriminated by comparing their duration to a limit Tbrief. In the example of  FIG. 3 , Tbrief is 30 milliseconds. 
     The next trace, labeled Silence, shows when silent times occur. In the example of  FIG. 3 , a silent interval is any time interval not containing a voiced or unvoiced interval. The sound signal  301  exhibits a pre-command silence that continues until time  321 , comprising a silent interval  314 . Also the sound signal  301  exhibits a post-command silence after time  324 , shown as a silent interval  315 . In the case of the “PULSE” command, the post-command silence also includes a silent period  305  that corresponds to the silent E but, since the E is terminal, the silent period  305  is indistinguishable from the rest of the post-command silence. By inspection, then, the detected order for this command is (unvoiced-brief)(voiced)(unvoiced). 
     Silent intervals may also occur interior to a command, such as the sound gap between the two words of the command “BACK TWO”. In the example of  FIG. 3 , the pre-command silence  314  and the post-command silence  315  are discriminated from any internal silent intervals on the basis of duration. Internal silences are typically 40-100 milliseconds, or down to 10 milliseconds for a brief silence. Pre- and post-command silence times, on the other hand, are typically 200 milliseconds or longer. 
     The next trace, labeled Output pulse, shows when the output signal pulse  316  is generated. The output pulse  316  is generated as soon as the end of the command is detected. The end of the command is detected as soon as the duration of the silent interval  315  exceeds a certain limit Tfinal, which indicates that the command is finished. Preferably Tfinal is longer than any of the interior silent intervals, but not so long that the device seems balky. In the example of  FIG. 3 , the post-command silence time limit Tfinal is 250 milliseconds. A very short delay is also needed to carry out the template comparisons after the post-command silence, but with any decent processor that delay is entirely negligible on the graphs of  FIG. 3 . Optionally, the template comparisons and command identification may be carried out while the post-command silence is in progress, so that the correct output signal may be emitted as soon as the post-command silence requirement is reached and without any further delay. 
     When the invention generates the output signal after the post-command silence, there is a short but perceptible delay after the user has finished speaking the command. However, some applications require a very fast output signal with precision timing. Therefore the device may generate an immediate output circumventing all delays. Indeed, the immediate output would not even wait for the user to finish speaking the command. In a first embodiment of the invention with immediate output signals, the predetermined commands include an immediate command that begins with unvoiced sound, while all the other predetermined commands begin with voiced sound. If the user needs a fast precision output signal, the user could call the immediate command to obtain an instantaneous pulse coincident with the first sound of the command. If the user is content with an output signal arriving slightly later, usually just a few moments after the command is finished, then the user can call any of the regular commands to obtain one of the various non-immediate output signals in the usual way. 
     The example of  FIG. 3  shows an immediate output signal comprising a fast pulse  317  occurring at time  321 , coincident with the very first sound of the command, which is the unvoiced P sound. As soon as the device detects an unvoiced sound as the first sound of the command, the device generates the output pulse  317  immediately. After generating the pulse  317 , the invention would not then generate a second pulse  316 , because the later pulse  316  is the responsive output for a non-immediate command. Thus for each command the device produces a fast pulse or a normal pulse, but not both. 
     The immediate command is the only one of the predetermined commands in the example of  FIG. 3  wherein the first interval is unvoiced, all the other predetermined commands beginning with a voiced sound. The various non-immediate commands may have unvoiced sounds occurring in the second interval or later in each command, but they will not generate the immediate pulse as long as the first sound is voiced. Only the first interval of the command is recognized as the immediate prompt. 
       FIG. 4  shows an embodiment of the invention wherein the output signal is a logic-level voltage comprising either ground or a particular positive voltage. The system comprises an enclosure  400  to which an output connector  401  is mounted, and which encloses a circuit board  402  on which are mounted a microphone  403 , an amplifier  404 , a digitizer  405 , a processor  406 , an output driver  407 , and a memory  408 . 
     Also mounted on the enclosure  400  are an indicator  412 , a gain control  413 , a power input jack  414  which is connected to an external power supply (not shown), a pushbutton  415 , and two slide switches comprising an on-off switch  410  and a mode switch  411 . Wires and/or circuit board traces (not shown) connect the on-off switch  410  to the power input jack  414  and the circuit board  402 , and also connect the mode switch  411  and the indicator  412  and the gain control  413  and the pushbutton  415  to the circuit board  402 , and connect the output driver  407  to the output connector  401 . 
     The enclosure  400  is a metal box. The output connector  401  is an SMA connector. The circuit board  402  is a 4-layer printed circuit board including a ground plane. The microphone  403  is a piezoelectric microphone in a surface-mount package. The amplifier  404  is an MCP6292 dual opamp, which is AC-coupled to the microphone  403  and is configured with resistors and capacitors (not shown) for a total gain of 300 in the frequency band of voiced sounds at 300-3000 Hz, and for a total gain of 1000 in the frequency band of unvoiced sounds at 5000-15000 Hz. 
     The digitizer  405  is a DSP (digital signal processor) which is coupled to the processor  406  which is a microcontroller. The processor  406  controls the timing of the digitizer  405 , and thus controls the digitization period. The digitizer  405  conveys the digitized signal to the processor  406  via a serial link or through eight parallel I/O pins wired between the two circuits. The processor  406  is programmed to identify spoken commands by comparing the detected order of voiced and unvoiced and silent intervals in the spoken command to the predetermined commands. The order of voiced and unvoiced and silent intervals in each predetermined command is stored as a template in the memory  408  which is a static RAM chip. The processor  406  is programmed to compare the spoken command with each of the templates representing the predetermined commands, and when they match, the processor  406  is configured to activate the output driver  407 , comprising a low-impedance line driver or an emitter-follower, or other signal conditioner depending on the application. The output driver  407  then prepares the output signal for transmission, for example by amplifying or attenuating or reducing the impedance of the output signal, and then conveys the output signal to the output connector  401 . 
     The mode switch  411  selects among a plurality of different output modes or signal types or operational functions of the device. In the embodiment of  FIG. 4 , the output signal is a DC voltage that can be set to ground or to a voltage Vsig in response to various commands, and the mode switch  411  selects the value of Vsig to be 1V, 3.3V, or 5V. The different output voltages are needed to accommodate receiving systems having different voltage limits. 
     The indicator  412  is an LED that illuminates whenever the device is ready to receive a command. The indicator  412  would be dark while the device is busy preparing its registers or waiting for a pre-command silence, or producing an output signal for example. The indicator  412  would be illuminated, green for example, when the device is ready to receive a command. The indicator  412  may also be flashed red whenever the output changes state, perhaps using a multi-wavelength LED package. 
     The gain control  413  is a potentiometer with a handy knob, configured to adjust the gain of the amplifier  404 , thereby allowing a user to reduce the gain to reject a noisy background, or to compensate for someone who speaks softly by raising the gain. 
     To operate the device, the user must first call an enabling command which for the example of  FIG. 4  is the command “GET-SET”. After receiving the “GET-SET” command, the device will accept and respond to any of the output commands. 
     The output commands include “GET-MAX” which causes the output to be set to the maximum voltage value, and “GET-MIN” which causes the output to be set to ground. “GO” causes the output to alternate between Vsig and ground, each time it is called. The “STOP” command causes the output to return to ground, and disables any further commands other than “GET-SET”. The commands allow the user to apply a logic-0 or a logic-1 to a circuit under test, using voice commands alone, thereby providing a rapid hands-free control over a circuit under test and hence a rapid detection of many problems. 
     The pushbutton  415  is configured to act similarly to the “GO” command, by alternating the output signal between Vsig and ground when pressed. Unlike the “GO” command, the pushbutton  415  performs the alternation function at any time, even when the output commands are not enabled. Being able to alternate the output silently is useful in some applications. 
       FIG. 5  shows signals related to the example of  FIG. 4 . A series of spoken commands is shown at the top, and vertical dashed lines show time events. The trace labeled Output shows the state of the output signal, low being ground and high being Vsig. The trace labeled Enablement shows the state of an enablement parameter, wherein low indicates disabled and high indicates enabled. When the enablement parameter is set enabled, the device generates an output signal responsive to each output command. When the enablement parameter is set to disabled, the device inhibits all output signals regardless of any output commands. 
     Initially, the enablement parameter is in the disabled state. A “GO” command is received at time  501  but has no effect because the command occurs while the enablement parameter is still set disabled. Then at time  502  the enabling command “GET-SET” is received, causing the enablement parameter to become enabled. Then at time  503  the command “GET-MAX” causes the output signal to go high (to Vsig), and at time  504  the command “GET-MIN” causes the output signal to return low (to ground). Then a series of “GO” commands causes the output signal to alternately go high and low at times  505 ,  506 , and  507 . At time  508 , a “STOP” command causes the enablement parameter to be set disabling and the output signal to return to ground. The example demonstrates that the user can control the output signal, setting to a logic high or low state, or alternating the output sequentially, using voice commands. 
     The example of  FIG. 5  also illustrates an immediate response to the “STOP” command, which is the only command in the example that begins with an unvoiced sound. All the other commands begin with a voiced sound. The device is configured to set the output signal to ground immediately when the first sound of a command is unvoiced. Accordingly, in  FIG. 5  the output signal returns to ground at time  508  which is at the very beginning of the “STOP” command. All the other commands produce output signals only after each command is finished, as shown by the various dashed lines occurring at the end of each command. 
     The indicator  412  may be configured to show the state of the enablement parameter so the user knows whether the output commands are enabled or not. This is a valuable option because users find it frustrating to issue a command without knowing whether the device is receptive. Thus the indicator  412  may be illuminated green between times  502  and  508 , since this is the time that the enablement parameter is set enabled. The indicator  412  could flash red briefly whenever the output signal changes state, thereby informing the user that a change has occurred. Or, the indicator could be illuminated in red when the output signal is high, thereby informing the user of the output state. As a further alternative, the indicator  412  could be a multi-wavelength LED assembly so that both red and green are illuminated simultaneously when the enablement and output signal are both positive. Or, if that&#39;s confusing, perhaps it would be better to use two separate indicators. 
       FIG. 6  shows an embodiment of the invention providing two output signals in parallel. Mounted on a case  600  are two output connectors  601  and  602 , and two mode switches  603  and  604 , an acoustical cover  605 , a photocell array  606 , and a 3.5 mm audio phone jack  607 . Using voice commands, the user can specify which of the output connectors  601  and  602  will carry the next requested output signal. Output commands thereafter will generate the requested output signal upon the specified output connector. 
     The mode switches  603  and  604  are 3-position toggle switches that select what type of output signal is generated. Mode switch  603  governs the output type for connector  601 , and mode switch  604  governs the output type for connector  602 . When each mode switch  603  or  604  is in a first position, the output signal comprises a short pulse or a pulse train depending on the command. In a second position, square-wave signals can be generated, the frequency being determined by the commands. In a third position, logic-level voltages can be generated upon voice commands. Since the two mode switches  603  and  604  are set independently, two different types of output signals can be generated on the two output connectors  601  and  602  at the same time. 
     The acoustical cover  605  is a sound-permeable panel such as a screen or cloth that protects an electronic assembly (not shown) inside the case  600 . The electronic assembly includes a microphone, amplifier, and processor as described in  FIG. 1  or  4 . 
     The photocell array  606  is a set of photovoltaic cells that generate power to run the device, drawing energy from ambient room light for example. Optionally, and preferably, a rechargeable battery (not shown) is included so that energy can be stored while the device is not in use, and to provide power when in dim light. 
     The audio jack  607  is configured to receive an electrical signal from an external microphone or a headset with a boom microphone (not shown). The audio jack  607  may also be configured to transmit signals outward to an external speaker such as a headset speaker, thereby alerting the user that a command has been received for example. An advantage of using an external microphone or a headset is that the microphone is placed much closer to the user, thereby providing louder and clearer command sounds for better command interpretation. The embodiment includes an automatic amplifier gain control which automatically adjusts the sensitivity while keeping the peak signal below a predetermined maximum limit, and particularly to keep from saturating the amplifier. The device decreases the gain immediately if the amplified signal ever exceeds the predetermined maximum limit. However if the amplified signal remains below a predetermined minimum limit for a long time, typically several seconds, the device gradually increases the gain. In the example of  FIG. 6 , the maximum limit is 8 volts which is just below the amplifier saturation voltage, and the minimum limit is 0.08 volts thereby providing a 40 dB working range while automatically compensating for different noise environments. The automatic gain control also compensates for users who speak louder or more quietly, and also for the increased amplitude obtained from a headset microphone. 
       FIG. 7  shows signals related to the embodiment of  FIG. 6 , particularly showing how two simultaneous output signals are controlled by voice commands. The example of  FIG. 7  involves two channel-select commands, one arming command, and various output commands. The channel-select commands are “OUT-ONE” and “OUT-TWO”, specifying which of the output connectors  601  or  602  are to be controlled by the subsequent output commands. For example, if the user calls “OUT-TWO”, then the subsequent output commands such as “GO” will cause the output signals to be generated on output connector  602 , while the deselected channel, in this case output connector  601 , simply continues whatever output signals it was already carrying. Thus, deselection of any output connector leaves the ongoing output signal of that output connector unchanged. The “STOP” command deselects both channels and stops both output signals. All of these functions, and many other variations, can be programmed using many microcontrollers. 
     The arming command is “READY” which generates no output signal, but arms or prepares the device to generate an immediate output pulse upon the next sound. The user arms the device by calling “READY”, and then, at the exact moment that a pulse is desired, the user says “GO” or any other sound. The device then generates the output signal instantly. After a single immediate pulse, the arming condition is terminated to avoid producing fast pulses when not desired. Any additional “GO” commands beyond the first one would not generate an immediate pulse, but would generate a regular non-immediate output pulse, which is generated after each command has finished and been processed. However, if the user needs a second immediate pulse, the user may again set the arming condition by again calling “READY”. The user can obtain regular non-immediate output signals by calling the regular output command, or can obtain an instantaneous output pulse by first calling the arming command and then calling an output command. As a further option, the user can obtain a rapid sequence of immediate pulses by repeatedly calling the arming command, as in “READY . . . READY . . . READY”. The device generates a fast pulse upon the first sound of each command, while the rest of the command re-arms the device for the next sound. 
     As mentioned with reference to  FIG. 6 , the mode switches  603  and  604  govern the type of output signal on each of the output connectors  601  and  602  respectively. More specifically, the mode switch  603  is set for logic-level output voltages on output connector  601 , and mode switch  604  is set for pulse output signals on the output connector  602 . All the output signals are initially off, and both channels are initially deselected. If any output commands are received while both channels are deselected, the command will be ignored. Only one channel can be selected at a time. When one channel is selected by a channel-select command, the other channel is automatically deselected. 
     The top of  FIG. 7  shows a series of commands. “OUT-ONE” selects the output connector  601  for voice commands. The trace labeled Select 1 shows when the first connector is selected. Accordingly, Select 1 goes high as soon as the “OUT-ONE” command is finished at time  711 , thus indicating that subsequent output commands will apply to connector  601 . 
     Then, at time  712 , the command “MAX” is recognized. Since connector  601  is still selected, the command applies to the output connector  601 . Recalling that the mode switch  603  is set for logic-level outputs, the output signal on connector  601  (shown in  FIG. 7  as the trace Output 1) then goes high, responsive to the “MAX” command at time  712 . 
     At time  713 , the other channel-select command “OUT-TWO” is recognized. This causes output connector  601  to be deselected and connector  602  to be selected as shown in the trace labeled Select 2. The logic-high signal on the output connector  601  continues unchanged, as can be seen in the trace Output 1. 
     Then, the arming command “READY” is received. This command causes no output signals, but sets the arming condition so that the device will produce an instantaneous output upon the next sound. 
     At time  714 , the first sound of “GO” is detected, and since the arming condition is set, the first sound causes the device to generate an instantaneous output at time  714 . The arming condition is also unset at that time. The connector  602  is still selected, and the mode switch  604  is set for pulse outputs, so a single short pulse  704  is transmitted from connector  602 . The pulse  704  is generated at the start of the command, as shown by the dashed line for time  714 , rather than at the end of the command, since the immediate output was called for, consequent to the “READY” command. 
     At time  715 , a second “GO” is recognized, generating a second pulse  705  on the Output 2. However, the arming condition was terminated as soon as the first output 704 was produced, and so the subsequent commands are recognized as regular non-immediate commands. Accordingly, the second pulse  705  is generated after the corresponding command has finished, as shown by the dashed line at time  715  being at the end of the second GO command.  FIG. 7  demonstrates that the user can obtain a non-instantaneous pulse using the regular command, or an instantaneous pulse with precision timing by first calling the arming command. 
     At time  715 , the command “GO-FAST” is received, which causes an output signal comprising a train of pulses  706  to be generated and passed to the output connector  602 . The pulses continue until the “STOP” command is received at time  716 , whereupon both outputs return to ground and both channels are deselected. 
     The example of  FIG. 7  shows how the invention may be used to generate two different signals on two connectors simultaneously using voice commands. This ability would be extremely useful in certain situations such as electronic testing, when a user wishes to apply a trigger pulse to a circuit while alternating a state of the circuit under test. The invention provides a logic high or low signal on connector  601  while delivering trigger pulses via connector  602 , all under voice control. Users can set the mode switches  603  and  604  to provide the type of signals needed for a testing application, and connect the output connectors  601  and  602  to activate or modulate the circuit under test, and trigger a measurement instrument, with all output timing and signal types being directed by voice commands alone. And, as discussed, the user can obtain an immediate pulse with precision leading-edge timing by first calling the arming command. 
     The example of  FIG. 7  employs the same set of output commands (“GO” and so forth) to control the two output connectors, and the channel-select commands determine which connector is to be controlled at any time. The channel-select commands allow the user to set up output signals in the output connectors sequentially. In some applications, however, it may be more convenient to use two different command sets for generating output signals on the two output connectors  601  and  602 , rather than the channel-select commands. In that case the user could call channel-specific commands, such as “ONE-MAX” or “ONE-MIN” or “ONE-GO” to control the output signals on connector  601 , and “TWO-MAX” or “TWO-MIN” or “TWO-GO” to control the output signals on connector  602  at any time. The inventive device can be programmed for either the channel-specific or channel-select command set. The device could also include a switch or a particular voice command, to allow the user to select which command set is active. Since each of these commands has a distinct order of voiced and unvoiced and silent intervals, the invention reliably recognizes all these commands. 
       FIG. 8  shows an embodiment of the invention adapted to control hazardous equipment, such as a high voltage system, from a safe distance by voice commands. The inventive device comprises an enclosure  800 , an output connector  801  comprising a binder-post connector of the type that receives a banana plug or a spade connector or a stripped wire with manual tightening. A second connector  802  is connected to the device ground. An LED or LCD display  803 , tilted at an angle for easy viewing, shows messages such as the voltage value of the output signal. A pair of LED indicators  804  and  805  indicate the state of the output signal. Two microphones  806  are mounted on the front wall of the enclosure, positioned to improve the detection of sound coming from a user who may be some distance away, and are wired in parallel for doubled sensitivity. A foldable prop  807  allows the device to sit at a convenient angle. Interior to the enclosure  800  is a microcontroller  808  that includes an amplifier, an ADC, a digital processor programmed to identify command sounds and generate output signals responsively, a DAC (digital-to-analog converter), memory elements, and a display driver. The power source, not shown, is a pair of 9-volt batteries connected in series with the common point being the device ground, thereby providing the positive and negative voltages needed for bipolar analog electronics. 
     The device of  FIG. 8  is intended to generate analog voltages responsive to voice commands, thereby enabling the control of a dangerous high voltage system (not shown) from a safe distance. The microcontroller  808  generates an analog output from the built-in DAC, the output voltage being varied according to voice commands, and delivers the analog output to the output connector  801 . The high voltage system is, for example, a DC-DC 1000:1 amplifier generating 5000 volts responsive to a 5 volt input, or −5000 volts for a −5 volt input. The invention is used to safely operate the high voltage system by generating the desired control voltage under voice commands. The user need not touch or even go near the inventive device while the high voltage is on. 
     The voice commands recognized by the device of  FIG. 8  are “SET-MAX” to generate the maximum positive voltage, “SET-MIN” for the most negative voltage, and “ZERO” to return the output signal to ground. The commands “GO-UP” and “GO-DOWN” cause the output voltage to be ramped up or down at a moderate rate, perhaps 1 volt per second. The commands “UP-FAST” and “DOWN-FAST” cause the output voltage to be ramped up or down at a faster rate, continuing until the voltage reaches the maximum or minimum value. 
     The LED indicators  804  and  805  show the polarity and activity of the output signal. The indicator  804  shows red when the output signal goes positive, and indicator  805  shows green when the output signal goes negative, all voltages being relative to the device ground. When the output is zero volts, both indicators  804  and  805  are off. Also the LCD display  803  shows messages such as the value of the output voltage. 
       FIG. 9  is a chart showing the output voltage and LED status of the device of  FIG. 8 , for various commands. The commands are shown across the top. The trace labeled Output shows the output voltage. The trace labeled Red LED shows the activity of indicator  804 , and Green LED shows the activity of indicator  805 . Initially, the output signal is zero volts and both indicators  804  and  805  are off. At time  901 , the command “SET-MAX” is received, which causes the device to increase the output voltage to the maximum value. The Red LED trace is activated between times  901  and  902  when the output is positive. 
     At time  902 , the command “SET-MIN” is received, causing the output voltage to drop to the minimum value. The Red LED turns off and the Green LED turns on indicating that the output is negative. 
     At time  903 , the command “GO-UP” is received, which causes the processor to gradually ramp up the DAC voltage in a linear fashion, as shown in the Output trace. As the output passes from negative to positive voltage, the Red LED turns off and the Green LED turns on. 
     At time  904  the command “HOLD” is received, which stops the ramping. The output voltage remains constant thereafter until time  905 , when the command “DOWN-FAST” is received. The processor responsively ramps the DAC output down rapidly until the output voltage reaches the minimum value, and then the output remains at that voltage. Also, the LED&#39;s again invert when the output voltage passes from positive to negative. 
     At time  906 , the command “ZERO” is received, whereupon the processor causes the DAC to generate a zero volt output, and both LED&#39;s accordingly turn off. Since all these commands have a distinct order of voiced and unvoiced intervals, the inventive device recognizes them all. 
     Although the example of  FIGS. 8 and 9  is highly idealized, workers with skill in electronics will appreciate how the inventive device enables precise control over a potentially hazardous system, with actions and timing being controlled hands-free and from a safe distance by voice commands alone. 
     The embodiments and examples provided herein illustrate the principles of the invention and its practical application, thereby enabling one of ordinary skill in the art to best utilize the invention. Many other variations and modifications and other uses will become apparent to those skilled in the art, without departing from the scope of the invention, which is to be defined by the appended claims.