The invention lies in the field of keystroke devices. In particular, the invention is in the field of computer or stenographic keyboards and methods and software for interpreting keystrokes of these keyboards.
Various keystroke devices exist in the art. The most prevalent keystroke device is a computer keyboard. The keys of a standard computer keyboard are merely switches electronically indicating only a depressed state. Therefore, no signal is output or indicated by the keyboard when a keyboard is at rest, and a signal corresponding to depressed key(s) is output or indicated only when at least one key is depressed sufficiently far to “set off” the switch of that key or the switches of that set of keys.
A typewriter also has a keyboard, which can be mechanical and/or electronic. Like the computer keyboard, actuation (e.g., depression) of a key is intended to print a character. In electronic typewriters, when a key is actuated sufficiently far, a signal is sent to a processor to have the corresponding key(s) printed on the typing medium (e.g., paper). Mechanical typewriters are similar to electronic typewriters, but with one significant difference. Mechanical typewriters connect the key of the keyboard directly to the hammer containing the corresponding character to be printed on the page. Such a connection typically places the key at the end of a lever connected to a fulcrum and, when the lever is depressed at a proximal end, the distal end of the lever forcibly contacts or causes a hammer to pivot its distal end towards the page. A printing ribbon is disposed between the page and the end of travel of the hammer and a character formed at the end of the hammer is printed on the paper because the raised character presses the printing ribbon against the page. Because such an assembly is a mechanical connection dependent upon the pressure imparted by the user, the hammer can hit the page with varying degrees of force. A relatively hard contact produces a clearly printed character on the page. In contrast, a relatively soft contact may produce a lightly printed character, which also can be referred to as a “shadow.” For mechanical typewriters, it is more desirable to have clearly printed characters than to have shadow characters. Therefore, improvements were made over the history of mechanical typewriters to guarantee relatively uniform contact between the hammer and the page, which improvements were, thereafter, incorporated into most electronic typewriters.
Another keystroke device can be found on stenographic devices. The most modern stenographic devices are entirely electronic and virtually immediately translate the stenographic key actuations into an accurate written representation of the spoken word. These modern devices are analogous to the electronic typewriters and computer keyboards in that a specific actuation of a key or set of keys will cause a clear printing or storage of the corresponding character or set of characters. Insufficient depression of a key(s) will not generate any output. Alternatively, depression of a set of keys (which is common for stenographic dictation) where one or more keys is sufficiently actuated but one or more other key(s) is insufficiently actuated will generate an output that does not correspond to the stenographers' intended output. Thus, the stenographer or computer associated with the stenographic device might not be able to accurately translate the inadequately actuated key(s) depending upon what was actually output to the paper or the electronically stored file.
The earlier stenographic devices provided an advantage over the modern stenographic devices. The older devices gave a stenographer some ability to determine a correct output from an incorrect input because these older mechanical devices printed the output on the paper in varying degrees of lightness. Stenographers refer to a lightly printed output as “shadow” output. So, if an intended output was lightly printed on the stenographic paper, that stenographer might have been able to determine what was intended during the original dictation and correctly translate the spoken word in the final transcript. Modern stenographic devices, however, are not able to electronically understand or store shadow output. If the stenographer does not actuate a key adequately, then no output is generated. And, if keys of a set of keys are actuated in varying degrees, then incorrect output is transcribed.
Problems stenographers have faced for many years are referred to as “stacking” and “splitting.” Either “stacking” or “splitting” results when a reporter presses several keys simultaneously and not all keys make contact with the sensing mechanism at the same time or are released at the same time. Stacking refers to a situation where multiple keys are pressed at the same or substantially the same time and are erroneously recorded as a single keystroke. Splitting refers to a situation where one keystroke is recorded as two keystrokes.
Since traditional keyboards can only record “on” and “off” values, the prior art has relied on simple timing algorithms to try to minimize stacking problems. More advanced versions of stenographic software provide “anti-stacking” algorithms. However, presently-known algorithms can cause the opposite problem to occur, i.e., splitting.
Therefore a need exists to overcome the problems with the prior art as discussed above.
The invention provides a device, method, and computer program product for identifying stacking and splitting of stenographic keystrokes that overcomes the hereinafore-mentioned disadvantages of the heretofore-known devices and methods of this general type and that correctly groups or separates stenographic keystrokes having some amount of depression overlap.
With the foregoing and other objects in view, there is provided, in accordance with the invention, a method for analyzing multiple keystrokes in an electronic stenographic recording machine having keys forming stenographic keystrokes when actuated, which comprises sensing a depressed state of a first stenographic key and recording a first depression time, sensing a depressed state of a second stenographic key and recording a second depression time, sensing a released state of the first stenographic key and recording a first release time, sensing a released state of the second stenographic key and recording a second release time, determining an elapsed depression-release time for each of the first and second stenographic keys, determining a percentage of chronological overlap of each of the elapsed depression-release times, and separating the first and second key depressions into separate stenographic keystrokes when the percentage of chronological overlap indicates a lack of correlation between the first and second key depressions.
In accordance with another mode of the invention, there is provided the step of defining the first and second key depressions as a single stenographic keystroke when the percentage of chronological overlap indicates correlation.
In accordance with a further mode of the invention, there is provided the steps of sensing a depressed state of a third stenographic key and recording a third depression time, sensing a released state of the third stenographic key and recording a third release time, sorting the first, second, and third depression times based on a chronological order of occurrence, determining, within the sorted depression times, a pair of chronologically adjacent depression times with a greatest chronological variation therebetween, determining an elapsed depression-release time for each one of the determined pair of adjacent depression times, and carrying out the separating step by separating the first, second, and third key depressions into one of three separate stenographic keystrokes when the percentage of chronological overlap indicates a lack of correlation for all of the first, second, and third key depressions and two separate stenographic keystrokes when the percentage of chronological overlap indicates correlation among two of the first, second, and third key depressions and a lack of correlation by one of the first, second, and third key depressions.
In accordance with an added mode of the invention, the first, second, and third key depressions are defined as a single stenographic keystroke when the percentage of chronological overlap indicates correlation among all of the first, second, and third key depressions.
In accordance with an additional mode of the invention, the separating step is carried out to create the two separate stenographic keystrokes by forming a first of the two separate stenographic keystrokes from the keys having the depressed state chronologically preceding and including the key with the earlier one of the pair of chronologically adjacent depression times and forming a second of the two separate stenographic keystrokes from the keys having the depressed state chronologically following and including the key with the later one of the pair of chronologically adjacent depression times.
In accordance with yet another mode of the invention, the depressed state is entered when a depressed one of the keys travels downward past a respective registration point.
In accordance with yet a further mode of the invention, the released state is entered when a released one of the keys travels upward past the respective registration point.
In accordance with yet an added mode of the invention, the depressed and released states are determined at least in part by an optical sensor.
With the objects of the invention in view, there is also provided a method for analyzing multiple keystrokes in an electronic stenographic recording machine having keys forming stenographic keystrokes when actuated, the method comprising recording a plurality of downward time markers, each of the downward time markers indicating a time when a different one of at least three stenographic keys moves downward past a respective stenographic key registration point, recording a plurality of upward time markers, each of the upward time markers indicating a time when a different one of the at least three stenographic keys moves upward past its respective key registration point to register a respective key stroke, chronologically sorting the downward time markers, determining, within the plurality of sorted downward time markers, a pair of chronologically adjacent downward time markers with a greatest chronological difference therebetween, determining an elapsed time for each one of the determined pair of adjacent downward time markers, the elapsed time being defined to start when a respective one of the stenographic keys moves downward past its registration point and to end when the respective one stenographic key moves upward past its registration point, determining a percentage of chronological overlap of the determined elapsed times, and separating the at least three key strokes into at least two separate stenographic keystrokes when the percentage of chronological overlap indicates a lack of correlation among the at least three key strokes.
In accordance with yet an additional mode of the invention, the at least three key strokes is defined as a single stenographic keystroke when the percentage of chronological overlap indicates correlation among all of the at least three key strokes.
In accordance with again another mode of the invention, the stenographic key registration point is between a fully released state and a fully depressed state of a key.
In accordance with again a further mode of the invention, there is provided the step of sensing one of the at least three stenographic keys moving past its registration point with an optical sensor.
In accordance with again an added mode of the invention, the separating step is carried out by forming a first of the two separate stenographic keystrokes from the keys having the downward time marker chronologically preceding and including the key with the earlier one of the pair of chronologically adjacent downward time markers and forming a second of the two separate stenographic keystrokes from the keys having the downward time marker chronologically following and including the key with the later one of the pair of chronologically adjacent downward time markers.
With the objects of the invention in view, there is also provided a computer program product for analyzing multiple keystrokes in an electronic stenographic recording machine having keys forming stenographic keystrokes when actuated, the computer program product comprising a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising recording a plurality of downward time markers, each of the downward time markers indicating a time when a different one of at least three stenographic keys moves downward past a respective stenographic key registration point, recording a plurality of upward time markers, each of the upward time markers indicating a time when a different one of the at least three stenographic keys moves upward past its respective key registration point to register a respective key stroke, chronologically sorting the downward time markers, determining, within the plurality of sorted downward time markers, a pair of chronologically adjacent downward time markers with a greatest chronological difference therebetween, determining an elapsed time for each one of the determined pair of adjacent downward time markers, the elapsed time being defined to start when a respective one of the stenographic keys moves downward past its registration point and to end when the respective one stenographic key moves upward past its registration point, determining a percentage of chronological overlap of the determined elapsed times, and separating the at least three key strokes into at least two separate stenographic keystrokes when the percentage of chronological overlap indicates a lack of correlation among the at least three key strokes.
In accordance with again an additional mode of the invention, the method further comprises defining the at least three key strokes as a single stenographic keystroke when the percentage of chronological overlap indicates a correlation among all of the at least three key strokes.
In accordance with still another mode of the invention, each registration point is between a fully released state and a fully depressed state of a key.
In accordance with still a further mode of the invention, the method further comprises carrying out the separating step by forming a first of the two separate stenographic keystrokes from the keys having the downward time marker chronologically preceding and including the key with the earlier one of the pair of chronologically adjacent downward time markers and forming a second of the two separate stenographic keystrokes from the keys having the downward time marker chronologically following and including the key with the later one of the pair of chronologically adjacent downward time markers.
With the objects of the invention in view, there is also provided an electronic stenographic recording machine comprising a set of stenographic keys operable to form stenographic keystrokes when actuated, a memory, a processor, and a sensor communicatively coupled to at least one of the memory and the processor. The sensor is operable to sense a depressed state of a first stenographic key in the set of stenographic keys and cause the processor to store a first depression time in the memory, sense a depressed state of a second stenographic key in the set of stenographic keys and cause the processor to store a second depression time in the memory, sense a released state of the first stenographic key and cause the processor to store a first release time in the memory, and sense a released state of the second stenographic key and cause the processor to store a second release time in the memory. The processor is operable to determine an elapsed depression-release time for each of the first and second stenographic keys, determine a percentage of chronological overlap of the elapsed depression-release times, and separate the first and second key depressions into two separate stenographic keystrokes when the percentage of chronological overlap indicates a lack of correlation between the first and second key depressions.
In accordance with still an added mode of the invention, the processor is further operable to define the first and second key depressions as a single stenographic keystroke when the percentage of chronological overlap indicates correlation between the first and second key depressions.
In accordance with a concomitant mode of the invention, the sensor is operable to sense a depressed state of a third stenographic key in the set of stenographic keys and cause the processor to store a third depression time in the memory, and sense a released state of the third stenographic key and cause the processor to store a third release time in the memory, and the processor is further operable to sort the first, second, and third depression times based on a temporal order of occurrence, determine, within the plurality of sorted depression times, a pair of chronologically adjacent depression times with a greatest chronological variation therebetween, determine an elapsed depression-release time for each one of the determined pair of adjacent depression times, and to carry out the separating step by separating the first, second, and third key depressions into at least two separate stenographic keystrokes when the percentage of chronological overlap indicates a lack of correlation among the first, second, and third key depressions.
Other features that are considered as characteristic for the invention are set forth in the appended claims.
Although the invention is illustrated and described herein as embodied in a device and method for identifying stacking and splitting of stenographic keystrokes, it is, nevertheless, not intended to be limited to the details shown because various modifications and structural changes may be made therein without departing from the spirit of the invention and within the scope and range of equivalents of the claims.
The construction and method of operation of the invention, however, together with additional objects and advantages thereof, will be best understood from the following description of specific embodiments when read in connection with the accompanying drawings.
As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention, which can be embodied in various forms. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present invention in virtually any appropriately detailed structure. Further, the terms and phrases used herein are not intended to be limiting; but rather, to provide an understandable description of the invention. While the specification concludes with claims defining the features of the invention that are regarded as novel, it is believed that the invention will be better understood from a consideration of the following description in conjunction with the drawing figures, in which like reference numerals are carried forward.
The terms “a” or “an”, as used herein, are defined as one or more than one. The term “plurality,” as used herein, is defined as two or more than two. The term “another,” as used herein, is defined as at least a second or more. The terms “including” and/or “having,” as used herein, are defined as comprising (i.e., open language). The term “coupled,” as used herein, is defined as connected, although not necessarily directly, and not necessarily mechanically. The terms “program,” “software application,” and the like as used herein, are defined as a sequence of instructions designed for execution on a computer system. A “program,” “computer program,” or “software application” may include a subroutine, a function, a procedure, an object method, an object implementation, an executable application, an applet, a servlet, a source code, an object code, a shared library/dynamic load library and/or other sequence of instructions designed for execution on a computer system. A “storage medium,” as used herein, is defined as any medium that is readable by a computer or computer controlled device and capable of storing a computer instruction or computer-readable data.
Referring now to the figures of the drawings in detail and first, particularly to
In the embodiment shown in
To communicate an actuation of the contact area 12 by a user to electronics of machine 1 in which the keystroke device 10 resides, the machine 1 has a switch or contact 50. The contact 50 can take any form so long as a given actuation of the contact area 12 imparts a sufficient force to the contact 50 to indicate that a user wants the corresponding function of the keystroke device 10 to be activated (e.g., to print a character on a page and/or to store a character in an electronic file). The contact 50 can be merely a conducting contact surface that completes an electrical circuit when the keystroke device 1 is fully actuated or it can be a piston or lever that is depressed to actuate a switch physically when the keystroke device 1 is fully actuated. Therefore, it is not necessary to illustrate the contact 50 other than diagrammatically.
To sense a depression depth of the contact area 12, a sensor 30 is disposed somewhere at the lever 14 such that the sensor 30 can detect how far the contact area 12 has been depressed. The sensor 30 can be disposed anywhere with regard to any portion (16, 18, 19) of the lever so long as it can detect movement of the lever 14. In a preferred embodiment, however, the sensor 30 is disposed adjacent the distal portion 18 and on a side of the pivot point 20 opposite the proximal portion 16. In this preferred embodiment, to keep movement of the segment of the distal portion 18 with respect to the sensor 30 linear, the measuring surface of the distal portion 18 (top surface in
For purposes of illustration, the sensor 30 in
The sensor 30 can detect movement of the distal portion 18 in any number of ways. In the preferred embodiment shown in
The embodiment in
It is noted that the sensor 30 need not be placed at the distal portion 18 as illustrated in
In an embodiment of the sensor 30 where an analog voltage is output, a depth of the keystroke is registered by a change in the value of the analog voltage, which voltage is controlled by the distal portion 18, attached to or integral with the key arm, selectively interrupting the optical receiver. When such an analog signal is provided, the sensor 30 can be connected to a downstream analog-to-digital converter for later digital interpretation of the level of the light received.
Other possible options for detecting a position of the lever 14 exist. For example, the depth of a keystroke can be registered with a digital decoder directly connected to the lever 14. Such a decoder outputs a direct digital value dependent upon depth of the keystroke. Because the decoder is digital, the internal algorithm can, through appropriate software, make the output digital value change in any desired manner—linearly, exponentially, or otherwise—dependent upon the recorded depth of the keystroke.
Also, processing can include an algorithm that allows the user to selectively change/adjust the range and/or the number of levels of the output signal. An input device can be provided to give the stenographer a user-customized interpretation of a full key actuation, a partial key actuation, and/or any number of levels between no actuation and full actuation. The customizing input can be provided through appropriate manipulation of a physical item (a dial) or by executing a software program that controls the processing of the electrical input signal corresponding to the key actuation depth.
Alternatively, instead of generating more than two levels of a keystroke as set forth above, the sensor 30 can merely output two levels. In a first embodiment, the sensor 30 can output two levels corresponding to a partial key actuation (a shadow) and a full key actuation. In this configuration, a switch 50 is unnecessary. In a second embodiment, the sensor 30 can be, for example, a three-part system with two switches 50: a first of the switches registering a partial key actuation; and a second of the switches registering a complete key actuation, or, the switch 50 can be a single two-level switch.
The sensor can also have the capability of using an optical encoding wheel to measure the key throw. For example, an encoder can be used to produce a pulse when the wheel (operatively connected to the lever 14) moves a given distance. Also, a focused light beam can be used to count rotations of the encoder wheel.
Varying degrees of movement of the lever 14 can also be detected using a resistive device, e.g., a resistor network or a potentiometer, with the depth of the keystroke being dependent upon a resistance presented by the device to a resistance measuring circuit. An accelerometer can also be used to detect the depth of the keystroke.
The above embodiments relate to the mechanics of the keystroke device 10 according to the invention. Once the sensor 30 generates the electrical output signal, this signal can be supplied to a processor P for evaluation.
Emulation of the appearance of a printed stenographic output with a paperless electronic stenotype machine having an electronic display (e.g., LED, LCD, Flat Panel) can occur by electrically supplying depth information for each key pressed by the user in addition to the electronic data corresponding to the particular stenographic stroke, also sometimes referred to herein as a “word”. When a stroke is registered but is within a specified range less than a full depth of the stroke, the stroke can be stored electronically as a shadow. If, for example, ten values of shadow can be detected (or are programmed to be detectable), those values can be assigned to a specific level of brightness (e.g., in a look-up table or programmed in an EEPROM or stored in a flash RAM, hard drive, or static RAM) or, instead of a look up table, an equation can be used to shift the depth value byte four bits to get an intensity scale. Thus, the shadow will display on the output screen as characters lighter than a non-shadowed character. Instead of using merely brightness of the character(s) as the visible indicator, the shadow can also be varied using a difference in color, font, or other display attribute, or even by a combination of different display attributes.
Depending upon the configuration of the stenographic device, a translator 5 can be on-board the device and, therefore, it is directly connected to the microprocessor 2 for translating stored or incoming (real-time) stenographic data. Thus, input electronics for the keystroke device can be directly connected to the same processor 2 that controls the translation program, and the functions of input, shadow determination, translation, and correction/editing can be performed on a single unit 1.
If the translator is not on board the stenographer's device 1, then the device 1 can be connected to an external stenographic translator 6, in which case the translator 6 is separate from the stenographic device 1 and information stored in the memory 3 is relayed 7 either by transfer through an intermediate media (e.g., floppy disk, micro-drive), in which case the device will have a floppy drive, USB port, IEEE 1394 port, etc., or wirelessly through some kind of communication data link (e.g., a Bluetooth, ISDN, Internet, or other wired or wireless data link), in which case the device will have an on-board transceiver 8.
In either case, the translator 5, 6 translates the stenographic data to the respective language (e.g., English). When the device 1 is associated directly with a translation system, translation occurs quickly so that the stenographer can view his/her stenographic keystrokes in almost real-time and in relatively understandable English (dependent upon the quality of the word/translation processor). The memory 3 will store the translation locally 3, 11 and/or externally 7, 9.
One example of such a system 9 provides the stenographic device 1 with a connection (e.g., a direct or wireless transceiver 8) to the Internet and the external translating computer 6 with a connection (direct or wireless) also to the Internet. Thus, commonly available Internet connection devices available at the location where the stenographer is taking data can be used to facilitate quick and inexpensive translation of stenographic data without having to store the translation software on the stenographer's machine 1.
When the device 1 has an integrated word processing system, then the functions of dictation, translation, and editing of the translation can be performed by the stenographer on a single machine.
The device 1 can also include a multi-media recorder 11 that can store, in a memory 3, digital video images and/or audio data. By recording the audio and/or video of the subject(s) of the stenographer on the device, it becomes possible to associate a portion of the multi-media file with a stenographic stroke. Such recording and coordination of stenographic and video and/or audio data allows the stenographer to playback images of and/or sounds from the subject to assist in the accurate translation of the stenographic keystrokes. Such multi-media data can also be transmitted to other computers and/or locations through network connections, for example, over the Internet, by wireless connections, such as Bluetooth, by direct connections, such as RS-232, universal serial bus, IRDA, Firewire, or by any other available data communications measures to assist the stenographer in accurate translation of the stenographic data.
If a stroke registered by the device is not in the user's stenographic dictionary, an internal algorithm of the translator 5, 6 can be activated to add and/or remove shadowed keys from the stroke until a stenographic match is found for the particular key(s) activation, somewhat like a closest-match routine known in the art of spell-checking devices. Thus, where a partial key actuation (shadow) occurs and the keystroke is not translatable, the shadowed keystroke can be combined with other similar stenographic keystrokes and, along with a spelling and grammar checking device, and can be corrected to fix a mis-stroke or can provide the stenographer with a list of various possible translations for that mis-stroke, which list would be examined by the stenographer at a later time, i.e., when the stenographic dictation breaks or at another location entirely.
A first exemplary method for interpreting a depth of the keystroke is illustrated with respect to the flowchart of
A query is made in Step 600 to determine if stroke entry is finished (which, for example, may be indicated by a separate input from the stenographer or by depressed keys passing the registration point upon release). If the answer is no (e.g., the default situation), then, the device 1 waits in Step 700 for the receipt of a new stroke (meeting a predefined minimum keystroke depth requirement).
Registering of a keystroke is detected in Step 100 by a change transmitted by a keystroke device sensor, e.g., in an analog voltage or by a digital position indicator. In a digital system, the depth of the keystroke is translated into a digital numeric value. The value can have more than three variations or can be a tertiary value, including on, off, and shadow. Subsequently, the value is translated into a visual indicator for the corresponding shadow or full value, the indicator including color, shade, font style, position, and/or size of the symbol that represents the actuated key or set of keys (these examples being only representative of possible visual display characteristics). If the stenographer is finished entering keystrokes (i.e., end of the job), then the keystrokes are translated in Step 800. It is noted that translation can be in real-time and, therefore, the circuit of Steps 100 to 700 can be repeated continuously and occur in parallel with translation. In such a configuration, Step 600 would be omitted and the dashed arrows in
A second exemplary method for interpreting depth of the keystroke is illustrated with respect to the flowchart of
If the answer is yes, then, in Step 1108a, the time of the recognizable stroke is recorded and stored with the stenographic data in a mass storage device and/or internal memory and the audio and/or video data file is also stored along with information regarding the location in the data file of the stored stenographic data. Accordingly, the user can go back to the stenographic stroke and correct any errors in transcription by examining the relevant video and/or audio. It is optional, in Step 1110a, to pass the stored stenographic stroke to an internal translator and/or to produce a text display.
If the answer is no and a recognizable stenographic stroke is not created, then an attempt to produce a recognizable stroke is performed based upon all of the keys that passed the registration point in combination with any partial key presses that did not reach registration point but were pressed in some way. Specifically, in Step 1108b, the time of the unrecognizable stroke is recorded and stored with the stenographic data in a mass storage device and/or internal memory and the audio and/or video data file is also stored along with information regarding the location in the data file of the stored stenographic data. Accordingly, the user can go back to the stenographic stroke and correct any errors in transcription by examining the relevant video and/or audio. In Step 1110b, the unrecognizable stroke is passed to an internal translator to find a likely match or a set of possible matches. A text display can be made and/or a suitable signal (beep) can occur to notify the user that a potential error in transcription has occurred. The user can view the stroke, which will include any partial key presses identified by a different color, intensity of color, font, and/or size. If possible (because transcription is still occurring), the user can select the appropriate translation from the suggestions in real time.
In Step 1112, the stenographic data is transmitted to an external translator through some communications link, e.g., RS-232, USB, Network, Bluetooth, Firewire, WIFI, or any other data transmission measures. Optionally, in Step 1114, an external translator can check the translation data and relay that data through an available output device, such as an RS-232 port or network connection to an external display device such as a computer. This process is repeated until dictation is complete.
It is noted that the optional recording of audio and/or video data allows CIC and permits the user to track the stenographic data with the corresponding audio/video data and, thereby, correct any incorrect stenographic translation.
Other possible uses for the keystroke device 10 according to the invention include musical instruments. In one example, the volume of the note would increase or decrease based upon a level of the output signal. In another example, the volume of the note would increase dependent upon a rate of change of the signal (velocity).
In addition to the above-described features, the present invention provides a method and device for identifying and correcting stenographic problems referred to as “stacking” and “splitting.” As set forth herein, “stacking” refers to a situation where multiple keys pressed at the same or substantially the same time are erroneously recorded as a single keystroke. Splitting, on the other hand, refers to a situation where one keystroke is recorded as two keystrokes.
The present invention is able to recognize a stacking or splitting condition and interpret the intended keystroke. In general, the invention recognizes two or more keys moving downward at the same time and assumes that they are part of the same keystroke, even if some of those keys started their downward travel at a different time. Likewise, if some of the keys are released before all the keys traveling downward at the same time have reached the bottom of the stroke, the invention assumes that they are part of the same keystroke.
The details of the presently inventive method of avoiding stacking and splitting is explained in conjunction with diagrams 1-8 and the process flow charts of
Diagram 1:
1---D===U-------------
2-------------D====U—
Diagram 1 illustrates the second key (indicated with numeral “2”) being depressed after the first key has passed the registration point (in a downward direction) and, then, has returned past the registration point again (in an upward direction). In this situation, both the prior art and in the present invention register these two strokes as separate keystrokes.
Diagram 2:
1----D=========U-----
2-------D====U-------
Diagram 2 illustrates a second-depressed key both traveling downward past the registration point and returning upward through the registration point before a first-depressed key has returned upwards through the registration point. In this situation, both the prior art and in the present invention register these two strokes as a single keystroke.
Diagram 3:
1-----D=======U------
2-------D=======U----
Diagram 3 shows a situation where the first key is depressed and, very shortly thereafter, a second key is depressed. Then, the first key is released shortly before the second key is released. This situation falls in between the examples shown in Diagrams 1 an 2 and, although it is likely that one stroke was intended, in the prior art, stacking or splitting occurs because it is not clear what was intended by the reporter.
Diagram 4:
1----D=======U-------
2----------D=======U-
Diagram 4 shows a situation where the first key is depressed and, some time thereafter, a second key is depressed. Here, as compared to Diagram 3, the time between depression of the first stroke and the second stroke is longer. Then, the first key is released substantially before the second key is released. This situation also falls in between the situations shown in Diagrams 1 and 2 and, although there is a greater time separation between the keystrokes and it is likely that one stroke was intended, in the prior art, stacking or splitting occurs because it still is not completely clear what was intended by the reporter.
The difference between Diagrams 3 and 4 is only in the amount of overlap. The presently inventive method of correctly interpreting keystrokes monitors the amount of time that transpires between the downstroke registration and the registration of the upstroke of the same key. A stack is determined if the overlap of two keystrokes, which can include multiple keys, is below a certain percentage of an overlap of two identified key depression times. In one embodiment, this percentage value is user-definable.
It is easy to recognize that the stacking and splitting problems shown in Diagrams 1-4 quickly grows more complex when more than two keys are involved. However, the present invention provides a device and efficient method for determining whether a stacked or split keystroke has been recorded. This method is illustrated in the process flowcharts of
Referring first to
Diagrams 5 and 6 show two example collections of multiple keys being depressed that could be collected and graphed using the information obtained in Steps 1206 and 1208 of
Diagram 5:
----D=========U-----
1-D=======U---------
2-------D=======U---
-----D=====U--------
-------D=======U----
---D======U---------
Diagram 6:
-D=========U--------
1-D=======U---------
2-------D=======U---
---D=====U----------
--D======U----------
---------D======U---
In both Diagrams 5 and 6, two of the sensor readings, 1 and 2, are labeled to illustrate the operation of the present invention. Sensor readings 1 and 2 are the same in both samples. To the eye, one can tell that the sample strokes of Diagram 6 “look” like two keystrokes, while Diagram 5 looks like one stroke that is a bit erratically spread out over time. The spreading out of Diagram 5 can happen if the user is hitting a particularly difficult stroke and has to “work” with his/her hands to position all of the fingers in the right place.
The flow of
Diagram 7:
1--D=======U---------
2---D======U---------
3----D=========U-----
4-----D=====U--------
5-------D=======U----
6--------D=======U---
Diagram 8:
1-D=========U--------
2--D=======U---------
3--D======U----------
4---D=====U----------
5--------D=======U---
6---------D======U---
After performing the sort in Step 1302, the two adjacent readings with the largest difference between starting points is determined in Step 1304. In both exemplary Diagram 7 and exemplary Diagram 8, readings 4 and 5 have the largest difference.
After the readings have been determined in Step 1304, the overlap percentage of the two keys is calculated in Step 1306. In other words, a query is performed to determine how much of the first key's depressed time was shared with the second key's depressed time. In Step 1308, the determined percentage of overlap is compared to a predetermined overlap threshold value. The predetermined overlap threshold can be user definable through an interface or, alternatively, hard coded in the query. If the overlap percentage is below the threshold, indicating a lack of correlation, all of the readings above the second adjacent key (keys 1 through 4 in this example) are used in Step 1310 to form the intended first keystroke and all of the readings below the first adjacent key (keys 5 and 6) are used to form a second keystroke. In the example diagrams above, Diagram 7 produces one stroke and Diagram 8 produces two strokes. The process then moves back up to Step 1302.
Alternatively, if the overlap percentage determined in Step 1308 is above the threshold, indicating correlation of the keys, all of the keys are used in Step 1312 to form a stroke. The process then moves back up to Step 1302. Of course, the present invention can be performed on a combination of only two key strokes. Such a determination of key strokes, in the case of only two keys, would not require steps 1302 and 1304 because there are only two key depression times to analyze.
A device, method, and computer program product has been disclosed automatically detects and corrects stenographic keystrokes that previously resulted in stacking or splitting. The present invention advantageously reduces mistakes and improves accuracy and efficiency of stenographic reporters.
This application is a: divisional of U.S. patent application Ser. No. 13/280,739, filed Oct. 25, 2011;continuation in part of U.S. Pat. No. 7,572,078, issued on Aug. 11, 2009 (which claims the benefit under 35 U.S.C. §119(e) of U.S. Provisional Application No. 60/552,569, filed Mar. 12, 2004); anda continuation in part of U.S. Pat. No. 8,096,714, issued Jan. 17, 2012 (which application claims the benefit under 35 U.S.C. §119(e) of U.S. Provisional Application No. 60/855,547, filed Oct. 31, 2006, filed Mar. 12, 2004), the complete disclosures of which are hereby incorporated by reference herein in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 13280739 | Oct 2011 | US |
Child | 13486686 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11077786 | Mar 2005 | US |
Child | 13280739 | US | |
Parent | 11930895 | Oct 2007 | US |
Child | 11077786 | US |