GB2108747A - Voice synthesis reading system - Google Patents
Voice synthesis reading system Download PDFInfo
- Publication number
- GB2108747A GB2108747A GB08229471A GB8229471A GB2108747A GB 2108747 A GB2108747 A GB 2108747A GB 08229471 A GB08229471 A GB 08229471A GB 8229471 A GB8229471 A GB 8229471A GB 2108747 A GB2108747 A GB 2108747A
- Authority
- GB
- United Kingdom
- Prior art keywords
- bar code
- word
- memory
- words
- probe
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 230000015572 biosynthetic process Effects 0.000 title claims abstract description 48
- 238000003786 synthesis reaction Methods 0.000 title claims abstract description 47
- 239000000523 sample Substances 0.000 claims abstract description 61
- 230000015654 memory Effects 0.000 claims description 51
- 239000000872 buffer Substances 0.000 claims description 35
- 239000000463 material Substances 0.000 claims description 25
- 238000000034 method Methods 0.000 claims description 14
- 230000005855 radiation Effects 0.000 claims description 9
- 230000010365 information processing Effects 0.000 claims description 4
- 238000002310 reflectometry Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 238000007639 printing Methods 0.000 claims description 3
- 230000005236 sound signal Effects 0.000 claims 2
- 230000003287 optical effect Effects 0.000 abstract description 17
- 230000000694 effects Effects 0.000 description 5
- 229920003023 plastic Polymers 0.000 description 5
- 229910052799 carbon Inorganic materials 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 101100326920 Caenorhabditis elegans ctl-1 gene Proteins 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 2
- PPBRXRYQALVLMV-UHFFFAOYSA-N Styrene Chemical compound C=CC1=CC=CC=C1 PPBRXRYQALVLMV-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 101100043388 Arabidopsis thaliana SRK2D gene Proteins 0.000 description 1
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- 102100031699 Choline transporter-like protein 1 Human genes 0.000 description 1
- 102100035954 Choline transporter-like protein 2 Human genes 0.000 description 1
- 102100039496 Choline transporter-like protein 4 Human genes 0.000 description 1
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 1
- 101000940912 Homo sapiens Choline transporter-like protein 1 Proteins 0.000 description 1
- 101000948115 Homo sapiens Choline transporter-like protein 2 Proteins 0.000 description 1
- 101000889282 Homo sapiens Choline transporter-like protein 4 Proteins 0.000 description 1
- 101100347498 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) vsp-1 gene Proteins 0.000 description 1
- 101100355601 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RAD53 gene Proteins 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 229910000828 alnico Inorganic materials 0.000 description 1
- 229920001887 crystalline plastic Polymers 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 229920000058 polyacrylate Polymers 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 101150087667 spk1 gene Proteins 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10821—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
- G06K7/10881—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices constructional details of hand-held scanners
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B5/00—Electrically-operated educational appliances
- G09B5/06—Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
- G09B5/062—Combinations of audio and printed presentations, e.g. magnetically striped cards, talking books, magnetic tapes with printed texts thereon
Abstract
A system for producing a spoken human speech from printed text comprises such text 32 in human readable form together with corresponding digital bar code words 22 of a particular configuration, the bar code words being read by an optical probe 12, which is connected to a voice synthesis unit 14. The particular bar code used comprises a given fixed number of equal size bars separated by variable spaces to provide a bar code 22 which is reliable and easy to scan. The probe 12 comprises an optical emitter and a detector 40 which are directed through a cylindrical lens to be focused into an elongated pattern arranged for reading a particular bar code. The output from the probe is essentially digital, and is used to look up, through means of a microprocessor, a particular starting address for use in a word-based voice synthesis system. <IMAGE>
Description
SPECIFICATION
Voice synthesis reading system
This invention relates to a reading system for use with optically perceptible text material, a method of voicing printed information and a bar code system. The present invention is applicable to educational learning devices, and more particularly, to reading device providing a voice response, so that a child may see a certain word and hear that word pronounced.
This application discloses apparatus described and claimed in co-pending application (Attorney
Docket No. 12237) filed August 25,1981, in the name of Karl H. Bockholt entitled "OPTICAL
PROBE" and assigned to the assignee of the present application.
Several prior art devices are intended to allow children to view printed words and to hear their spoken equivalents. Hicks, in U.S. Patent No.
2 887 425, discloses a book with a sound track comprising a magnetic tape, which is read by a magnetic head in a housing which is slid across the book. Ryan et al., in U.S. Patent No.
3,477,140, discloses a device whereby interlocking plastic blocks bearing printed words and pictures or other indicia and sound tracks are driven in sequence through a player. Kinzie, Jr., et al., in U.S. Patent No. 3,970,803, discloses a printed sound track system wherein a printed sound track accompanying text material is optically scanned by a reader slid across the page.
Prior art devices in general have been disadvantageous in one or more of the following respects: The material to be read by the child could not be readily mass produced as by printing; the readers used were cumbersome or complicated; and a child could not select an individual word for playback.
These and other disadvantages of the prior art are overcome by a device according to the present invention which combines optical code scanning with known voice synthesis technology in a unique and unexpected way to produce an improved voice synthesis reading system.
With regard to the art of optical code scanning, a number of devices are known which read optically printed bar codes and obtain digital information therefrom.
Berler, et al., in U.S. Patent No. 3,731,064, discloses a binary code which is scanned by a hand-held reader comprising a lens, light source, and photoelectric sensor. The code comprises lines of a predetermined width and spaces which may be one of three different widths. Two widths signify 0 or 1; the third is an equalizing bit which makes each five-bit code the same length.
Murthy, in U.S. Patent No. 3,700,858, discloses an improvement over the foregoing code in that a pair of lines is substituted for the leading and trailing edge of each bar.
More sophisticated bar codes, such as the
Universal Product Code and Codabar, are described in U.S. Patent Nos. 4,058,708, 3,916,154, 3,886,521, 4,012,716, etc. These codes use timing logic to measure the width of each line and space. In the Universal Product
Code, each decimal number is represented by two pairs of vertical bars and spaces within a sevenbit pattern. That is, a decimal four would be represented by 0100011, or a one width space, a one width bar, a three width space, and a two width bar. In scanning these codes, logic which measures the ratios of various components of the character code is used to obtain an accurate reading.
Optical probes for reading bar codes are also known in the art. U.S. Patent No. 3,761,685, and
U.S. Patent No. 3,238,501 disclose such devices.
A commercially available digital bar code wand is marketed by Hewlett-Packard. It utilizes an optical sensor with a 700 nm visible light source, a photo diode detector, and precision aspheric otpics to obtain a resolution of 0.3 mm.
Solid state voice synethesis is also known commercially. Texas Instruments' Speak N' Speil uses such a system to generate spoken words, letters, and messages in response to a keyboard input. This device is further described in U.S.
Patent Nos. 4,189,779,4,234,761, and other patents.
Essentially, speech synthesis involves converting a word or other part of human speech to be reproduced into digital data which is stored in a read only memory (ROM). This data is then recalled by a microprocessor and reconstituted from digital data into analog voice form. The
Texas Instruments system utilizes a speech synethesis filter chip which is mathematically modelled after the human vocal tract to reconstitute the voice. Unvoiced sounds, such as the "p" sound are not stored in memory, but are synthesized by the filter. Also, since voiced sounds do not usually quickly change in speech, only time-based samples of these sounds need to be stored, and these can be repeated during playback.
Another type of speech system is described in "Designer's Guide to Speech Synthesis", p. 53, Digital Design, February, 1981, as marketed by
National Semiconductor Corp. It uses a speech processor chip (SPC) plus a speech ROM in a technique known as delta modulation. This encoding technique stores a delta value of a given speech sample. This value represents the difference between the value in question and the preceding value.
Another voice synthesizer is described in U.S
Patent No. 4,163,120. It stores basis functions each representing a waveform segment, which are read out at a varied rate to control pitch. A wave form segment may take the form of a phoneme. A phoneme, as described in U.S. Patent
No. 3,588,353, is an elementary sound, such as a simple vowel, of the English language. The system of this patent simply stores phonemes and blends them together to produce speech.
Phoneme speech has, to date, however, been of inferior quality of the word-based speech of the foregoing system.
According to a first aspect of the invention there is provided a reading system for use with optically perceptible text material, including a printing surface and a plurality of words printed thereon each of said words expressed as human readable words and a corresponding proximate bar code, said reading system comprising:
i) a probe for scanning said optically perceptible text material producing a first output signal representative of said bar code for each scanned word;
ii) processor means, including a stored program, for controlling the information processing within said reading system in accordance with said stored program;
iii) means for converting said first output signal to a corresponding memory starting address for each of said scanned words; and
iv) speech synthesis means, responsive to said means for converting, for producing audible words by voice synthesis, including a speech memory wherein digial data for each audible word to be synthesized is stored in memory at a given memory starting address.
According to a second aspect of the invention there is provided a method of voicing printed information comprising the steps of:
providing a text of individual human readable words and accompanying bar code words, each bar code word corresponding to a single individual human readable word;
storing in a memory a plurality of digital data groups each sufficient to produce a synthesized audible word and each uniquely accessed by a memory starting address;
scanning an individual bar code word with a detector probe for producing a corresponding essentially digital signal;
processing said digital signal to obtain a starting memory address;
retreiving from said memory stored digital data comprising an entire to be synthesized word in response to said starting memory address; and
converting said digital data into spoken language by voice synthesis.
According to a third aspect of the invention there is provided a bar code system in which a printed bar code printed upon a medium is scanned by a radiation-sensitive probe in the presence of a radiation source, said bar code comprising:
a plurality of bars having a first reflectivity to said radiation printed on said medium having substantially uniform widths in the scanned direction; and
a plurality of spaced interleaved between said bars having a second reflectivity to said radiation, said spaces each being essentially one of four discrete widths in the scanned direction.
According to another aspect of the invention there is provided an educational reading system producing a high-quality speech.
According to another aspect of the invention there is provided an educational reading system which utilizes the printed word and a code to be scanned by an optical probe in order to produce high-quality human speech.
According to another aspect of the invention there is provided an otpical code in connection with each individual word printed as part of printed material in a book, activity, or game format.
According to another aspect of the invention there is provided an optical code which is conveniently sized to fit beneath each individual word.
According to another aspect of the invention there is provided a voice synthesis reading system which has sufficient word capability to speak a number of words used in ordinary conversational
English.
According to another aspect of the invention there is provided a voice synthesis reading system which permits a user to scan more than one word at a time.
According to another aspect of the invention there is provided an educational reading system comprising a series of unique books for use with a voice synthesis reading device, wherein each book comprises a text of human readable words, each word having a digital code word unique to each individual word within the text, but, as between looks in the series, having the same digital code word standing for more than one human readable word.
According to another aspect of the invention there is provided an educational reading system which comprises a hand-held probe for a scanning an optical code; a unique code sized for accuracy and compatibility with printed text; and a digital speech producing system, connected to the probe, for producing high-quality human speech from digitally stored word-based data. The hand-held probe and the optical code are constructed in such a manner that the output of the probe is essentially digital. A word-based digital speech synthesis system for producing high-quality speech is used, and each word to be synthesized is stored at a discrete memory address.Since the digital information contained in the bar code is less than the digital information needed for each memory address, a iook-up table is provided for each memory starting address to correlate that address to a given digital bar code.
The present system is also provided with an intermediate speech memory for storing an address derived from data receiving during the scan on a second word before the first word is synthesized.
A preferred system is one capable of use with vocabularies comprising up to one thousand words, which has been determined to be a number of words commonly found in ordinary
English speech. Two different texts may contain a different array of one thousand words. Therefore, the preferred system is provided with a feature allowing the use of different selections of one thousand words by using inter-changeable word
memories.
A preferred optically scannable bar code comprises a digital code word closely adjacent a human readable word arranged in a text of printed material. Each digital code word comprises about seven (7) bars of equal size interspaced by a space which is one of four (4) widths. Each space width indicates one of four possible values A-D.
Each space width is a multiple of a bar width A as follows: A(A), 1 .5A(B), 2A(C), 2.5A(D). A decoding method compares a space to: 1.25A and if less registering an A; 1.75A and, if less registering a B; 2.25A and if less registering a C and is more registering a D.
Each code word associated with the text is physically separately spaced from each adjacent code word to permit individual scanning of a given code word rather than necessitating the entire scanning of each given line.
The invention will be further described by way of example with reference to the accompanying drawings, wherein.
Figure 1 is a perspective view of a voice synthesis reading system embodying the present invention;
Figure 2 is a top view of a lens system of the probe of Figure 1;
Figure 3 is a side view of the lens system of
Figure 2;
Figure 4 is an end view of the lens system of
Figure 3;
Figure 5 is a perspective view of the lens system of Figure 4;
Figure 6 is a schematic diagram of the probe of
Figure 1;
Figure 7 is a diagrammatic representation of the bar code shown in Figure 1;
Figure 8 is a flow chart of the voice synthesis system of the device shown in Figure 1;
Figure 9 is a continuation of the flow chart shown in Figure 8;
Figure 9A is a subroutine of the program shown in Figure 9;
Figure 9B is a subroutine of the program shown in Figure 9;
Figure 9C is a subroutine of the program shown in Figure 9; and
Figure 10 is a schematic diagram of the system shown in Figure 1.
Referring now to Figure 1, there is shown a general embodiment of a voice synthesis reading system according to the present invention. The system comprises a book 10, an optical probe 1 2 for reading the book, and a voice synthesis unit 14 connected to the probe for producing a voice output from optical characters scanned by the probe.
The book 10 comprises a plurality of pages 16 having a full page of text material 18 comprising human readable words in ordinary sentences. An illustration 20 may accompany the text material.
Beneath each word of text material there is located a digital code word 22 in association with that word. Each digital code word comprises seven bars and six spaces therebetween, as more fully described below. Each digital code word is spaced from an adjacent digital code word by a space 24 which is sufficient to permit the scanning by the probe 12 of one code word without necessarily scanning another digital code word.
The probe 12 comprises a housing 26 which permits the probe to be gripped by the user. It contains the optics for the probe in a fixed position relative to the page.
The housing 26 is approximately frustumshaped, having a planar base surface 32 adapted for sliding across the page 16, a parallel upper surface 34, and an annular side surface 36.
Extending from the upper surface 34 through the base portion 26 and the base surface 32, is a generally rectangular aperture 38 slightly larger in size than the largest word in the text 1 8. The aperture provides an area for seeing the word to be scanned as the word is scanned. Slightly to the right of the aperture 38 is a slot 40 through which the optically active elements of the probe 12 operate, as will be described more fully below. A cord 42 connects the probe 1 2 to the voice synthesis unit 1 4. The cord 42 carries electrical signals proportional to the optical code scanned to the voice synthesis unit 14.
The voice synthesis unit 14 comprises the electronics which produce a voice output from the input signal in cord 42, as will be more fully described below. As shown in Figure 1, the voice synthesis unit 14 comprises a plastic housing 44, defining a speaker opening 46 for a standard paper cone speaker, a power cord connection 48, a plug-in word module 50 as will be described below, and a sensitivity control 52 for adjusting the sensitivity of the probe, also described below.
The power supply may be either house current or battery power, as is known in the art.
The probe
Referring now to Figures 2 through 6, the optically active elements of the probe 12 are shown in detail. Immediately above, and aligned with, the slot 40 in the housing 26 of the probe, a cylindrical lens 54 is mounted in the housing 26 of the probe.
The housing 26 is constructed of optically opaque material, such as carbon-filled plastic. The material is opaque in particular to the wave length selected for the optically active elements. In the case of infrared elements, carbon-filled plastic which is non-reflective is preferred.
The cylindrical lens 54 consists of a single piece cut from a clear plastic rod, preferably on the order of 0.19 in. (4.8 mm) in diameter. The lens material is a crystalline plastic, preferably styrene or acrylic polymer. The cylindrical lens is oriented in parallel relationship to the page 16.
Immediately below the cylindrical lens, and contacting the lens tangentially, is a shutter 56 comprising a sheet of opaque non-reflective
material defining a narrow elongated aperture 58,
preferably on the orderof .01 in. (0.25 mm) by .2
in. (5mm). The aperture 58 is narrower than the
cylindrical lens and makes up for inefficiencies in the lens to limit the area seen by the detector.
As shown in Figure 2, the aperture 58 is centered relative to the central axis 60 of the cylindrical lens. The cylindrical lens is positioned relative to the paper so that, in the case where a shutter is used, the paper is immediately adjacent to the shutter. If no shutter is used, the paper is spaced downwardly from the cylindrical lens at approximately the focal point 62 of the cylindrical lens. The shutter may be constructed from paper or other cellulosic material.
About 0.5 in. (12.7mm) above the cylindrical lens 54, an optical emitter 64 and an optical detector 66 are mounted in the housing and directed towards the slot 40. The emitter and detector are each provided with an immersion lens which, to some extent, collimates the light passing into or out of the device.
The emitter used is a Texas Instrument TIL32 infrared diode formed from gallium arsenide. Due to the immersion lens, the emitter may be said to have an output which is somewhat cylindrical as indicated at 68. The emitter 64 is positioned relative to the cylindrical lens 54 so that the emitter output 68 is centered relative to the lens according the top view shown in Figure 2 and the end view as shown in Figure 4, and centered with respect to the central axis 66. The emitter output 68 is angled, however, with respect to the side view Figure 3 and a line 70 which may be denominated a vertical axis constructed in perpendicular intersection with the central axis 60 and passing through the center of the slot 58. The angle between the emitter output 68 and the vertical axis 70 is shown in Figure 3 as angle A.
This angle is minimized and sized to increase the attenuation of the total reflectance to a maximum.
The operation of the cylindrical lens with respect to focusing the emitter output 68 is shown best in Figure 4. Light striking the lens 54 at an approximate normal angle to the tangent of the surface of the lens 54 passes directly through the lens along the vertical axis 70. Light as shown at 74, 76 which strikes the cylindrical lens at an apparently convex portion is refracted by the lens toward the vertical axis 70, thereby focusing the light passing from the lens at 62. This effect is the same regardless of where along the central axis 60 of the lens the light is striking the lens.
The detector 66 is mounted in the housing in an orientation complimentary to that of the emitter 64. With regard to the top view, Figure 2, and the end view Figure 4, the detector 66 is centrally located relative to the central axis 60.
The detector 66 is angled relative to the vertical
axis 70 at an Angle B which may be 0 or more.
The detector is a Texas Instrument TIL78 silicon photo-transistor. It is designed to be matched with the emitter, which emits radiant energy at 915-975 mm, peaking about 940 nm. For this reason, that range within the infrared is preferred for the operating range of the present device.
Referring now to Figure 6, the power circuitry for the probe is shown. The emitter 64 is connected between a power line 72 and a ground line 74 through a current limiting resistor 76. The detector 66 is also connected between line 72 and line 74 through a second resistor 78 and a variabie resistor 80. These two resistors are each on the order of 100K in value. They are connected to the collector of the detector 66, the emitter of the detector being connected to line 74. Photons falling upon the base of a detector cause it to become conductive. Variable resistor 80 forms the sensitivity control 52 shown in Figure 1. The collector of the detector 66 is tied to the base of switching transistor 82.The emitter of transistor 82 is tied to the ground line 74, and the collector of this transistor is connected through resistors 84, 86, to the power line 72. A second switching transistor 88 is connected with its base between resistors 84, 86. Transistor 88 is of the PNP type, with its emitter tied to power line 72 and its collector tied through resistor 90 to power ground line 74 and to line 92, lines 92 and 74 representing an output from the device. Transistor 88 provides a fast rise time square wave pattern.
Resistors 78, 80 between the power line and the ground line are selected to provide enough base drive current to transistor 82 to saturate it when no radiant current falls on the detector 66.
When light (radiant power) impinges on the detector, it is turned on, i.e. forward biased, to conduct current, because enough base current is generated in the device to saturate it. At that point it will bypass all current through resistors 78, 80 to ground. At this point, no current goes through the emitter-base junction of transistor 82. In that case, no current flows through transistor 88 and it is an open switch. When transistor 88 is open, resistor 90 pulls the output low, i.e. approaching the ground potential.
With the present bar code, a bar reflects no
radiation. In this condition, current flows through transistor 82, since base current is provided through resistors 78, 80. Resistors 78 and 80 are
adjusted to provide enough base current to transistor 82 to turn it on. When transistor 82 is
saturated, it lets base current flow through
resistor 84 and through the emitter-base junction
of transistor 88. Now, transistor 88 is saturated
and pulls the output on line 92 close to the
voltage level of line 72, resulting in a logic high
state.
The bar code
Referring now to Figure 7, there is shown an
example of a digital code word for a given word.
The bar code is printed directly below, and
corresponds approximately in size, to the human
readable word "once" as shown in Figure 1. The bar code consists essentially of seven (7) bars 92-104 separated by six (6) spaces 106-11 6.
Each bar is approximately identical, is printed with
lithographic non-reflecting ink, and is
approximately .020 inches (0.51 mm) in width
and is of substantially greater height, preferably
approximately .15 inches (3.81 mm). The spaces 1 06-11 6 between the bars are one of four widths denominated A, B, C, and D, one width A,
approximately equal to the width of a bar, the next width B being 1.5 times greater than the width of a bar, the next width C being 2.0 times greater than the width of a bar, and the final width
D being 2.5 times greater than the width of a bar.
A combination of any two of the four symbols A
D can identify one of a total of sixteen (16) different values "V". The symbols are grouped in such a way that the lower values have the narrower spaces, as shown in Table 1.
Table 1
0=A+A=.040" 8=D+A=.070" 1 =B+A=.050 9=A+D=.070
2=A+B=.050 10=C+C=.080
3=B+B=.060 11 =D+B=.080
4=C+A=.060 12=B+D=.080
5=A+C=.060 13=D+C=.090
6=C+B=.070 14=C+D=.090
7=B+C=.070 15=D+D=.100
If three quad pair (hex) numbers with a value of from 0 to 1 5 are grouped and weighted according to their position, a counting system with the radix of 1 6 results. This is capable, using three groups in series, of distinguishing 163--1=4095 different patterns. Any pattern will thus consist of seven bars and six spaces.
The output from the probe is shown by line 1 36 immediately below the bar corresponding to the bar being scanned by the probe at a given time. A constant time t on the abcissa is assumed.
Natually, during actual scanning, the time twill vary slightly across the sweep of a single word.
However, the time t will not vary appreciably between a given high state and the next succeeding low state. The time t of a low condition is compared with the time t of the immediately preceding high condition, as explained below, to derive the information of whether or not a given low condition represents one of the four states A-D.
The use of seven bars of approximately the same size, provides a bar code which, while not extremely high in information density, can be reasonably fitted beneath the large text printed word, yet can carry enough information to identify approximately four thousand words.
Approximately one thousand words has been determined to be the number of words necessary for a reasonably literate English language text.
According to the present invention, each word is assigned a word number from one through approximately one thousand. Each word number is then converted into binary notation, according to standard practice. The binary word number is a three place hexadecimal number which converts to four (4) nibbles of data, which are input to a look up table, described below.
Referring now to Figures 8 and 9, there is shown a flow chart for the logic necessary to derive speech data from a voice synthesis memory. Naturally, this logic is preferably implemented in computer software in the computer described below, but hard-wired logic may also be used.
Start block 134 initializes the system when power is turned on. This block leads to enable block 1 36 which enables the input from the probe to the microprocessor. Next, decision block 138 asks whether or not white has been detected. If
NO, then the logic loops back around to that decision block input. If YES, the program proceeds to delay block 140. This block initiates a delay to disregard bounce when the probe is placed on the paper. The logic thus waits for the probe to be placed onto a white surface, indicated by a long period of logic low. Delay block 140 proceeds to decision block 142 which asks whether or not a steady light signal is obtained after the delay. If NO, the logic loops back to the input of decision block 138. If YES, then the logic proceeds to decision block 144 which asks whether or not black has been detected.This indicates the leading edge (118 Figure 7) of the first black bar. If the answer to decision block 144 is NO, the logic loops back to the input of that block, waiting for black to be detected. If the answer to block 144 is YES, the program proceeds to count block 145. Count 145 counts the time that the logic from the probe is in a high state indicating the time that the probe has been on a black bar. This block also counts the time on black beyond a certain point to indicate an air condition when the probe is off the page or seeing black when the probe should be on the page.
From block 145, the program moves to decision block 146 which determines whether or not there has been a counter over-flow. In other words, the available time counter for the block 145 can only count up to 254 bits, or about 1.3 seconds. If too much time is spent on a black bar then the YES branch of block 146 proceeds to block 148,
Figure 9, which asks whether or not the probe has scanned past the fifth bar as measured in a bar counting block 1 62 to keep track of the number of bars scanned. If YES, then an error message block 1 50 produces an error message to the effect that the user is going too slow. If NO, then 1 52 clears all counters and the program proceeds to the beginning of the program at block 136.In other words, if the counter overflow is detected before bar 5, it is assumed that the probe had been lifted off the page and scanned is not in progress. The program also returns to the enable block 136 after the error message.
If the black counter has not overflowed, black will continue to be counted until such time as white is detected. Decision block 1 54 asks whether or not white has been detected. If NO, the program returns to count black block 145. If
YES, the program proceeds to block 156, count white. Block 1 56 detects the trailing edge 120 of the first black block (Figure 7). Block 1 56 will continue to count the time that the probe spends in a white space, until the probe counter for that operation overflows. That counter can store approximately 254 bits of information which will typically be 1-2 seconds of reai time. Decision block 1 58 asks whether or not the white counter has overflowed. If YES, the program proceeds to block 148 as described above.If NO, the program proceeds to count white until black is detected.
Block 1 60 asks whether or not black has been detected. If NO, then the program continues to count white through block 1 56. If YES, then block 1 62 subtracts one from a number equal to the total bar count, i.e. seven. This operation keeps track of the total number of bars scanned, for use in block 148 and to determine whether or not the entire digital code words has been scanned. At
YES, a leading edge 122 of the next following bar is detected. This bar is also measured as in block 145. The program delay from block 1 60 to block 145 is known and is added into the count. From block 162, the program proceeds to decision block 1 64 which asks whether or not the last bar has been counted. If NO, the program proceeds again to count black block 145.At this point, a bar succeeding the one counted previously is counted and the value of the counter in 145 representing the previous bar width is shifted to block 1 66.
When white is counted again in block 1 56 the previous value of that counter is also shifted to block 166.
Block 166 first determines if the count in any register (bar or space) is less than two counts, If a counter value less than two counts is detected, an error message to the effect of "too fast" is generated.
Then, decision block 1 68 asks whether or not the data acquired for a given code address is valid.
if NO, then an error message 170, such as "try again" is generated, and the program proceeds back to the enable block 136. If the data is valid, the program proceeds to block 172, where the code address is packed in RAM for transmission to the VSP.
Decision block 174 then interrogates the voice synthesizer to determine its availability for accepting a new code address. The voice synthesizer can only operate one code address when it is not operating on another or otherwise in the process of speaking a word. The status of the VSP must therefore be communicated back to the microprocessor which is processing the probe information. If the voice synthesizer is busy, the program proceeds to block 180. If the VSP is not busy, the program proceeds to serve the VSP with the first code address from block 1 76 in block 178. Block 178 comprises the subroutines necessary for converting the code address into a starting word address and for actual speech synthesis. Converting subroutines are described in detail below.
Next, block 1 80 checks the availability of MPU
RAM for storing code address information. RAM space is set aside for storing at least two code addresses. Thus three words can be scanned by the probe in a single stroke to be spoken by the voice synthesis unit. If the buffer is not full, the code word data is stored and the program returns to block 174.
If the buffer is full, then the program enters a wait loop in block 82 until memory space is available. The wait loop 182 is simply a periodic checking of the K1 pin, waiting first to fall to 0, indicating that the VSP can accept another word.
From wait loop block 1 82 the program returns to the enable block 136.
The voice synthesis technology used in the present invention requires a starting address for each word to be spoken of sixteen bits. A length starting address is necessary because of the large number of memory addresses in the five 128K 1 6x8 word ROM's (64,535 addresses) which constitute the voice synthesis memory. This information could not be conveniently carried in a simple and accurate bar code.
The use of the look-up table permits the use of a bar code, which generates less than thirteen bits to activate a starting address of greater length, i.e.
in excess of fifteen bits.
In general, data from the bar code reader is loaded into the voice synthesizer memory (VSM) which has a register for receiving an address. A dummy "read" command next sets certain data direction buffers to reverse the Add 8 line, discussed below, so that data can flow from the
VSM to the voice synthesizer (VSP). The subroutine "Load Address" is then called.
This subroutine is entered from block 1 78 at block 1 73 as shown in Figure 9A. it operates in the same manner to load both the code address and the starting word address into the VSP. The code address formed by the bar code is loaded for transmission to the look-up table, and the starting word address is loaded for speech formation according to this subroutine.
From block 173, the program proceeds to block 1 75. In block 175, the address pointer which points to the MPU RAM location where the address to be loaded is stored is initialized to point to the first nibble of address in RAM. Next, in block 177, the Load Address command, which is a standard VSP command, is placed on the 0 lines and the PDC line is pulsed to put the command into the VSP. Next, in block 179, the address nibble from RAM in the MPU 1 84 is placed on the 0 lines and the PDC line is pulsed.
This second pulse signals the VSP to accept the data on the 0 lines.
Next, in block 181, the address pointer is decremented in order to point to the next nibble in
RAM which is to be sent out. This sequence is used in the case of the code address and the actual starting address.
Next, in decision block 183, if the address pointer is not zero, the program returns to block 1 77 to repeat the process, until all address bits are loaded. If the pointer is zero, the address nibble from block 179 remains on the lines, and the program proceeds to block 185.
In block 185, a dummy read command is issued to reverse the direction of the ADD 8 line 245. Since "Read s Branch" (Figure 9B) requires that data flow from the VSM rather than into it.
The program then returns to block 178 through block 187.
Block 1 78 further comprises a Read and
Branch command, which is part of the standard repertoire of the VSP 186. This command is executed after the Load Address sequence when a starting word address is to be formed from a code address.
The Read and Branch subroutine is shown in
Figure 9B. First, in block 191, a loop counter in the MPU is initiated for four loops, one loop for each bit of an address nibble to be input from the
VSM to the VSP. A pointer is also initialized to store data in the MPU RAM. Next, in the block 193, the K inputs are enabled for receiving starting word address bits in the MPU RAM. Next, in the block 195, a loop is formed that outputs a "Read" command and a pulse to the PDC line 238, which controls the status of the CTL lines, in sequence four times. This loads four starting word address bits from the look-up table of the
VSM 1 88 into the four bit data buffer in the VSP.
Then, in block 197, an Output command is sent to the VSP, followed by a pulse to the PDC, which disables the input buffers in the VSP. Then, in block 199, the 0 outputs of the MPU are disabled and the PDC is pulsed. The data buffer of the VSP, loaded with the four word address bits, is now gated to the control lines CTL 1, 2, 4, and 8, and the output buffers 208 are now enabled. Then, in block 201, the nibble on the control lines is read into the MPU K inputs and stored in RAM. The
RAM pointer is decremented to keep track of nibbles stored. Then, in block 203, the PDC line is pulsed to change the control lines back to inputs; the 0 outputs are enabled, and the loop counter is decremented. Then in block 205, the loop counter is tested for zero. If it is zero, the program returns through block 207 to block 180, as the address is now stored in MPU RAM.If it is not zero, the program returns to block 1 95 to place another nibble of actual starting word address in RAM.
The foregoing Load Address and Read and
Branch sequences are set forth as the preferred method of implementing the look-up function of the present system. These sequences are part of the instruction set (repertoire) of the VSP used in the preferred embodiment. It is included by the manufacturer in the instruction set of the TMS 5100 VSP for the purpose of fetching short hand address words from the VSM for easy access from the VSM. The look-up table of the present system, is operating directly on bar code data input to the system, and is subject to user controlled scanning of the printed bar code. Other look-up table sequences in other embodiments may also be used.
Referring now back to the Check Data block 166 in Figure 9C, the subroutine for decoding the bar code to form the code address, which is part of the Check Data subroutine, will be described in detail.
As shown in Figure 9C, the bar code decoding sequence is first initialized in block 260 by setting a bar counting register to seven; setting a space in memory to hold a value Y; setting a space to hold a value X, and initializing a data pointer to retrieve counts from blocks 145 and 146 representing bar and space widths.
Next, in block 262, the bar counts of the two bars bracketing the space to be measured are first averaged and stored in Y. A bar counter is therefore decremented in block 272, below, so that a succeeding bar may be loaded and a preceding bar dropped in block 262.
Next, in block 264, the Y number is divided by four and stored in X. X represents a twenty-five percent (25%) increment value. The first limit is set by adding X to Y. This produces a value which theoretically represents a .025 in. space, i.e. half way between an "A" space and a "B" space, or
A/B.
Next, in block 266, the count of the space is compared to the Y value, which is, for the first time through, A/B. If the count is less than or equal to A/B, it is registered as an A and the program proceeds to store value block 272. If the count is not less than A/B, the program proceeds to decision block 268.
In decision block 268, the last limit C/D (below) is checked. It it has been reached, the program proceeds to 272. If it has not been reached, the program proceeds to block 270.
In block 270, the next limit is set by adding Y plus 2X. The first time through the program, this is A/B plus 2X to obtain a theoretical .035 in.
space, i.e. halfway between B and C or B/C. This value is now stored in Y.
Next, block 266 again compares the space value to the Y value. The Y value, however, is now
B/C. If the space is less than or equal to B/C, a B is stored in block 272. If not, the program again goes to block 268 where the last limit is checked.
If the last limit has not been reached, the next limit is again set in block 270 by adding Y plus two X. This time, a theoretical .045, or C/D Y value is obtained from block 270 by adding two X to B/C.
Again, from block 270, block 266 compares the space to Y. This time, if the space is equal to or less than C/D, a C is stored in block 272. If not, the program proceeds to block 268. This time, the last limit, C/D, has been reached and the program proceeds to store a D in block 272.
Once a value A, B, C, or D has been stored in block 272, the program proceeds to block 274 where the bar counter from block 260 is checked to see if the last bar has been used and, therefore, the last space counted. If so, the program returns to block 166 through block 276A. If not, the program returns to block 262 where a succeeding pair of bars is averaged and a succeeding space called, until six space values have been stored.
Each space value is one of four (a-D) and represents a quad numbering system. Each pair of quad numbers together assumes one of sixteen possible values, similar to a hexadecimal number.
The three resulting numbers are weighed as to their positions. This is, in effect counting by 16's, to produce 4,095 possible values. A look-up table is constructed to change the paired A-D values into a computer readable binary representation.
The voice synthesis unit
Referring now to Figure 10, there is shown a voice synthesis unit presently preferred for use with the present invention. The unit comprises, in general, a TMS 1000 microprocessor (MPU) 184, a TMS 5100 voice synthesis chip (VSP) 186, and a TMS 6100 voice synthesis ROM (VSM) 188.
The probe output lines 92, 94 are connected to decoupling filters 190 and to ground 1 92. The data line 92 is connected to a pull up resistor 194. The data line is further connected in series through a resistor 1 96 to a pair of tri-state buffers 198, 200 which control direct access of the probe lines to MPU 184 pin K8. A pair of diodes 202 connected to the B plus power and to ground are also used to protect the device from static voltage discharge.
Buffers 1 98, 200 are controlled by the output from NAND gate 204. The NAND gate 204 has one input connected to an outupt line R1 from the microprocessor 1 84 and another input connected to input line 1 on an MC-4503 HEX 3 state buffer 208. It is also tied to the output of a second
NAND gate 206. One input of NAND gate 206 is tied to the output of the microprocessor 184 through line Rip). The other input of NAND gate 206 is tied to the B plus voltage. Thus the NAND gate 206 will output under control from the microprocessor 184, to control the HEX buffer 208 and NAND gate 204 in turn controlling probe input. The output of the NAND gate 206 is directed to the control of four tri-state buffers in the HEX buffer.These four buffers are output to input pins K1, K2, K4, and K8 in the microprocessor 1 84. The inputs to these four buffers are tied to lines extending from the VSP 186 pins CTL1, CTL2, CTL4, and CTL8. These lines extend to another MC-4503 tri-state HEX buffer 210. These lines extend to pins number 3, 5,7 and 9, which are outputs from the buffer 210. The inputs from the buffer 210 are connected to flip-flop data latches, described below.
Also as described below, the VSP 186 communicates with the MPU 184 during speech synthesis. The above-described arrangements switches the MPU between the bar code input processing and speech synthesis control. When the MPU 1 84 is first initialized, it is a requirement that the K inputs are in the zero state. Since the R outputs are held low during this time, both NAND gates 204, 206 will output in the 1 state. AV1 state applied to the bistable inputs of buffers 208 through 207 will force the outputs to assume a high impedance state. Pulldown resistors (not shown) connected to the K inputs will assure a state on these inputs.
When the MPU is ready to receive the signal from the probe, output R is programmed to assume the QI state and R 1 and 1 state. This results in NAND gate 206 being in the 1 state and
NAND gate 204 being in the state. Buffers 208 will then pass the readers signal to the K8 input.
The MPU 1 84 communicates with the VSP 186 over the "0" output lines through 47 Kohm pull down resistors 1 85 which prevent these lines from floating. The output data is first applied to a
HEX type D MC 4174 Flip-Flop 212. All six Flip
Flops have a common clock line 214. When the clock line 214 goes high, data applied to the inputs 21 6-226 is transferred to the outputs 228-238. The clock line originates at the VSP 1 86 to insure that data is clocked out of the Flip
Flops in correct synchronization to the inputs of the buffers 210. These non-inverting, tri-state buffers are controlled by line 236 from MPU output 04.The six Flip-Flop transfers pulses on output 238 from the R2 output of the MPU to the
Processor Data Clock (PDC) pin of the VSP so that all chips are synchronized.
The purpose of the D flip-flops and the buffers 210 is to insure synchronization between the
MPU and the VSP. These parts may be eliminated in a mask programmed MPU. After a code address from the optical probe 12 as previously described has been properly assembled, a "Load
Address" command (Figure 9A) is applied to the "0" outputs of the MPU 184 together with a signal enabling the buffers 210. This command is applied to the control units of the VSP 186 at the time of the rising clock signal from the VSP. The
MPU 184 also supplies a momentary 1 state on the PDC line, which is applied in the same time frame to the VSP 186, serving to latch the command into a register internally to the VSP.
The "Load" command is now followed by the actual address; each nibble or four bit section of the address is clocked into the VSP's registers by a pulse on the PDC line. Since the address in this case is an indirect one, meaning that it points to a memory location in the VSM 1 88 which holds the actual starting address of the data for the word to be spoken, it is transferred from the VSP to the VSM and stored there temporarily. It is followed by a "Read and Branch" command (Figure 9B) which causes the two eight bit words constituting the starting address to be read, transferred to the
MPU, there stored temporarily and then applied to the VSM by the VSP. These operations are controlled from the VSP through the use of the
MO and M1 lines connecting the ROM 188 to the
VSP 186.With the ROM properly addressed, the
VSP responds to a "Speak" command from the
MPU, applied to the VSP in the same manner previously described, by transferring speech data from the ROM and beginning to speak. This process continues independent of the MPU until an end of phrase datum is transferred from the
ROM. The MPU is now free to do other operations, reading a fresh input, assembling another address ready for transfer to the VSP or other internal operations. The operation of the
VSP must be monitored by the MPU to determine when the next address may be transferred. This is accomplished by issuing commands, in the same manner as previously described, that cause an internal flag to be connected to Control Line 1 of the VSP 186; the Control Lines CTL 1, 2, 4 and 8 to be changed from inputs to outputs; the output buffer 210 to be disabled; the input buffer 208 to be enabled and finally the Control Line 1 to be monitored through the K1 input. While speaking, the VSP will keep the flag bit at the 1 state; as soon as the MPU sees the line fall to a QI state it knows that the VSP is finished talking and is ready to accept a new address. A similar set of commands is available to read an address bit by bit from the ROM, assembled it into nibbles in the
VSP and read it from the "Control Lines" into the
K register in the MPU, there to be used as the program requires.
Further details on the operation of the MPU may be found in the Programmer's reference manual TMS 1000 Series, One Chip
Microcomputer and by Texas Instruments, Inc., 1975, Software User's Guide TMS 1000 Series MO S/L SI One Chip Microcomputer.
Power and ground connections are shown in
Figure 10 by conventional symbols. The power supply may be either standard dry cell batteries, or it may be derived from a conventional transformer-rectifier arrangement.
The speaker output from the device is connected to connections SPK1 and SPK2 on the
VSP, which comprise a pushpull output delivering about 500 nW for a 100 ohm load. A center tap primary audio transformer 187 converts the output to typical 8 ohm speaker impedance. The speaker 189 is a standard 2 inch alnico magnet speaker.
The VSM 188 is shown in Figure 10 as a single chip for purposes of illustration. In fact, a group of four or five 6100 ROM chips are mounted in parallel on a single printed circuit board. Pin CS on each 6100 is used to select the correct chip.
An edge connector is used to create connections through power, ground, and connection of lines 240-250 between a main pc board and a separate ROM pc board. Thus, a unit can be constructed, as shown in Figure 1, wherein a plug-in module 50 containing ROM groups is inserted into the main unit.
As can be seen from the preceding description, the same address could be used to correspond to different words stored in different plug-in ROM modules. Different formats with different vocabularies using the same bar code are therefore possible. For instance, a first book of printed material could contain around one hundred words in the case of an elementary text or around one thousand words in the case of a more advanced text. Eight hundred to twelve hundred words per ROM group is preferred. A plug-in ROM module 50 storing anywhere from one hundred to one thousand words could be plugged into the unit 14. A second text, containing a different selection of one hundred to one thousand words could also be printed with adjacent code words in the same code as in the first instance, except that different words have different code numbers. The same code word would look up different addresses in the look-up table, the starting addresses in each module pointing to their respective words or phrases.
Claims (14)
1. A reading system for use with optically perceptible text material, including a printing surface and a plurality of words printed thereon each of said words expressed as human readable words and a corresponding proximate bar code, said reading system comprising:
i) a probe for scanning said optically perceptible text material producing a first output signal representative of said bar code for each scanned word;
ii) processor means, including a stored program, for controlling the information processing within said reading system in accordance with said stored program;
iii) means for converting said first output signal to a corresponding memory starting address for each of said scanned words; and
iv) speech synthesis means, responsive to said means for converting, for producing audible words by voice synthesis, including a speech memory wherein digital data for each audible word to be synthesized is stored in memory at a given memory starting address.
2. A reading system as claimed in claim 1 wherein said means for converting includes means responsive to said first output signal producing a corresponding digital number and a look-up table in which a memory starting address for each digital number is stored and means cooperating with said look-up table to output the corresponding one of said memory starting address for each of said digital numbers.
3. A reading system as set forth in claim 2 wherein said means for converting includes a temporary memory capable of storing at least two of said digital numbers.
4. A reading system as set forth in claim 1 wherein said speech memory contains digital data for a first plurality of words and is housed in a removeable cartridge and wherein said speech synthesis means includes means for receiving said removable cartridge and making electrical connections to said speech memory.
5. A reading system as set forth in claim 4 further including a replacement cartridge of like configuration to said removeable cartridge having a speech memory containing digital data for a second plurality of words sharing an address code common to that of said first plurality of words.
6. A reading system as set forth in claim 1 wherein said probe includes bar code detecting means and an opaque probe housing supporting said bar code detecting means and defining an aperture therethrough oriented with respect to said bar code detecting means such that each human readable word in said text material may be viewed as a bar code is being scanned.
7. A reading system as set forth in claim 6 wherein said bar code detecting means comprises:
a cylindrical lens extending axially transverse to the direction to be scanned, a photo emitter, and a photodetector;
said photoemitter and said photodetector emitting and receiving, respectively, light focused through said cylindrical lens; and said output being obtained from said photodetector.
8. A method of voicing printed information comprising the steps of:
providing a text of individual human readable words and accompanying bar code words, each bar code word corresponding to a single individual human readable word;
storing in a memory a plurality of digital data groups each sufficient to produce a synthesized audible word and each uniquely accessed by a memory starting address;
scanning an individual bar code word with a detector probe for producing a corresponding essentially digital signal;
processing said digital signal to obtain a starting memory address;
retreiving from said memory stored digital data comprising an entire to be synthesized word in response to said starting memory address; and
converting said digital data into spoken language by voice synthesis.
9. The method of claim 8 wherein said bar code word comprises bars and spaces of approximately equal length in the scanning direction to that of said human readable word, and wherein said method further comprises the step of temporarily storing said starting memory address from a first bar code word while simultaneously scanning a second bar code word.
10. A bar code system in which a printed bar code printed upon a medium is scanned by a radiation-sensitive probe in the presence of a radiation source, said bar code comprising:
a plurality of bars having a first reflectivity to said radiation printed on said medium having substantially uniform width in the scanned direction; and
a plurality of spaces interleaved between said bars having a second reflectivity to said radiation, said spaces each being essentially one of four discrete widths in the scanned direction.
11. The bar code system of claim 10 wherein said spaces have four discrete widths in the scanned directed substantially equal to multiples of 1.0, 1.5, 2.0, and 2.5 of said width of said bars.
12. The bar code system of claim 11 wherein said bars and spaces are grouped in units having seven bars and six interleaved spaces.
13. A method of decoding, a printed bar code formed by groups of bars having a first given width A and spaces having one of four widths A,
B, C, and D each respectively equal to A. 1 .5A, 2A, and 2.5A, said method comprising the steps of:
obtaining counts representative of the widths of various bars and spaces in a bar code group; then
calculating a value Y representative of a bar width A and a value X representative of a .25Y; then
comparing the value of a given space to a value equal to Y plus X, and, if less, registering an A: then
comparing the value of said given space to a value equal to Y plus 3X, and, if less, registering a
B; then
comparing the value of said given space to a value equal to Y plus 5X, and, if less, registering a
C and, if more, registering a D.
14. A reading system comprising:
print receiving material defining a print surface;
optically perceptible text material, printed upon said print surface, including a plurality of words each expressed as human readable words and a corresponding proximate bar code;
a probe for scanning said optically perceptible text material in a word-by-word manner and producing a first output signal for each word representative of said bar code;
means for converting said first output signal to a digital number;
memory means for temporarily storing each of said digital numbers in memory;
look-up table means for receiving said digital numbers and providing corresponding memory starting addresses for each of said digital numbers;
means for applying said digital numbers to said look-up table means;;
speech synthesis means for producing audible words, by voice synthesis, including a speech memory wherein the information required to produce each audible word to be synthesized is stored in memory at a given memory starting address;
means applying said memory starting address to said speech synthesis means; and
microprocessor means and including a stored program controlling the information processing within said reading system in accordance with said stored program.
1 5. A reading system as set forth in claim 14 wherein said probe includes a substantially planar opaque housing and bar code detecting means supported within said opaque housing and wherein said opaque housing defines a viewing aperture oriented with respect to said bar code detecting means such that said human readable words are visible through said aperture during the scanning of a corresponding bar code.
1 6. A reading system comprising:
print receiving material defining a print surface;
optically perceptible text material, printed upon said print surface, including a plurality of words each expressed as human readable words and a corresponding proximate bar code;
a probe for scanning said optically perceptible text material in a word-by-word manner and producing a first output signal for each word
representative of said bar code;
a microprocessor including a plurality of input terminals, a plurality of output terminals, a first
temporary memory, a stored program, means
controlling the information processing of said
reading system in accordance with said stored
program, and means for converting said first output signal to a digital number and for storing said digital number within said first temporary memory;;
a probe input control including a first and second tri-state buffer each having respective input, output, and gate terminals, and a NAND gate, said first buffer input terminal being connected to said probe, said first buffer output terminal being connected to said second buffer input terminal, said second buffer output being connected to said microprocessor, and said gate terminals of said first and second buffers being commonly coupled to at least one of said plurality of microprocessor input terminals by said NAND gate;
a source of clock signals;
a plurality of data latch circuit each having an input terminal coupled to a respective one of said microprocessor output terminals, a toggle terminal connected to said source of clock signals, and an output terminal;;
a voice synthesis processor including means for converting a digital data signal to an audio signal, and a plurality of input/output terminals;
a speech memory coupled to said voice synthesis processor and including means for storing a plurality of digital data signals for use in producing synthesized audio signals at a plurality of uniquely defined memory starting addresses, means storing a look-up table correlating each of said digital data signals to a corresponding memory starting address, and means for temporarily storing information;;
a first plurality of tri-state buffers each having an input terminal individually connected to a selected one of said data latch output terminals, an output terminal individually connected to a selected one of said input/output terminals of said voice synthesis processor, and a gate terminal commonly coupled to said microprocessor, said first plurality of tri-state buffers and said plurality of data latch circuits cooperating to synchronize information exchange between said microprocessor and said voice synthesis processor;
a second NAND gate; ;
a second plurality of tri-state buffers each having an input terminal individually connected to a selected one of said voice synthesis processor input/output terminals, an output terminal individually connected to a selected one of said input terminals of said microprocessor, and a gate terminal commonly coupled to said microprocessor by said second NAND gate; and
an electro-acoustic transducer coupled to said voice synthesis processor.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31528081A | 1981-10-26 | 1981-10-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
GB2108747A true GB2108747A (en) | 1983-05-18 |
Family
ID=23223689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB08229471A Withdrawn GB2108747A (en) | 1981-10-26 | 1982-10-15 | Voice synthesis reading system |
Country Status (3)
Country | Link |
---|---|
FR (1) | FR2515391A1 (en) |
GB (1) | GB2108747A (en) |
IT (1) | IT1148431B (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2184588A (en) * | 1985-12-03 | 1987-06-24 | Michael Herbert Bail | Portable reading system for the visually handicapped |
WO1987006752A1 (en) * | 1986-05-01 | 1987-11-05 | Trevor Gwilym Lloyd | Language teaching apparatus |
WO1988010483A1 (en) * | 1987-06-15 | 1988-12-29 | Victorian Economic Development Corporation | Device for the display of musical information |
GB2207027A (en) * | 1987-07-15 | 1989-01-18 | Matsushita Electric Works Ltd | Voice encoding and composing system |
GB2231980A (en) * | 1989-02-03 | 1990-11-28 | Roger Shakeshaft | Labelling and identification of articles |
US5413486A (en) * | 1993-06-18 | 1995-05-09 | Joshua Morris Publishing, Inc. | Interactive book |
GB2283850A (en) * | 1993-11-10 | 1995-05-17 | William Alexander Courtney | Method and apparatus for coding and decoding information |
US6041215A (en) | 1996-09-30 | 2000-03-21 | Publications International, Ltd. | Method for making an electronic book for producing audible sounds in response to visual indicia |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2688081B1 (en) * | 1992-02-27 | 1999-05-07 | Renault Automation | DEVICE FOR READING A FORMED CODE ON A PART BY N FOOTPRINTS. |
GB9407473D0 (en) * | 1994-04-15 | 1994-06-08 | Popovich Milan M | Print "reading" device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4146782A (en) * | 1977-08-05 | 1979-03-27 | Process Computer Systems, Inc. | Decoder system for light pen bar code reader |
NL7904469A (en) * | 1979-06-07 | 1980-12-09 | Philips Nv | DEVICE FOR READING A PRINTED CODE AND CONVERTING IT TO AN AUDIO SIGNAL. |
-
1982
- 1982-10-15 GB GB08229471A patent/GB2108747A/en not_active Withdrawn
- 1982-10-26 FR FR8217905A patent/FR2515391A1/en active Pending
- 1982-10-26 IT IT49359/82A patent/IT1148431B/en active
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2184588A (en) * | 1985-12-03 | 1987-06-24 | Michael Herbert Bail | Portable reading system for the visually handicapped |
WO1987006752A1 (en) * | 1986-05-01 | 1987-11-05 | Trevor Gwilym Lloyd | Language teaching apparatus |
WO1988010483A1 (en) * | 1987-06-15 | 1988-12-29 | Victorian Economic Development Corporation | Device for the display of musical information |
GB2207027A (en) * | 1987-07-15 | 1989-01-18 | Matsushita Electric Works Ltd | Voice encoding and composing system |
GB2207027B (en) * | 1987-07-15 | 1992-01-08 | Matsushita Electric Works Ltd | Voice encoding and composing system |
GB2231980A (en) * | 1989-02-03 | 1990-11-28 | Roger Shakeshaft | Labelling and identification of articles |
US5413486A (en) * | 1993-06-18 | 1995-05-09 | Joshua Morris Publishing, Inc. | Interactive book |
GB2283850A (en) * | 1993-11-10 | 1995-05-17 | William Alexander Courtney | Method and apparatus for coding and decoding information |
GB2283850B (en) * | 1993-11-10 | 1997-10-29 | William Alexander Courtney | Method and apparatus for coding and decoding information |
US6041215A (en) | 1996-09-30 | 2000-03-21 | Publications International, Ltd. | Method for making an electronic book for producing audible sounds in response to visual indicia |
Also Published As
Publication number | Publication date |
---|---|
IT8249359A0 (en) | 1982-10-26 |
FR2515391A1 (en) | 1983-04-29 |
IT1148431B (en) | 1986-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0042155B1 (en) | Manually controllable data reading apparatus for speech synthesizers | |
EP0042487B1 (en) | Didactic device to improve penmanship and drawing skills | |
US4437378A (en) | Electronic musical instrument | |
US4300123A (en) | Optical reading system | |
US4375058A (en) | Device for reading a printed code and for converting this code into an audio signal | |
US4983996A (en) | Data recording apparatus for still camera | |
GB2108747A (en) | Voice synthesis reading system | |
US4549867A (en) | Electronic learning aid with random number modes | |
GB2070311A (en) | Electronic musical instrument with keyboard | |
US3643069A (en) | Recognition apparatus with readout mode selection capability | |
JPS6476600A (en) | Semiconductor memory device | |
EP0315372A3 (en) | Digital signal recording apparatus | |
Strickland et al. | New perspectives on young children learning to read and write | |
GB2139797A (en) | Bar code recording and reproducing system | |
EP0471572A1 (en) | Education device for teaching reading and writing skills | |
EP0059318A1 (en) | Bar code reader to speech synthesizer system | |
Li | The role of phonology in reading Chinese single characters and two-character words with high, medium and low phonological regularities by Chinese grade 2 and grade 5 students | |
US4641358A (en) | Optical mark reader | |
JPH063413Y2 (en) | Bar-code type learning device | |
JPS6434051A (en) | Portable reader | |
JPH08237424A (en) | Image reader | |
JPS5923366A (en) | Printed voice learning apparatus | |
JPS5829073A (en) | Manual electronic pen device | |
Ramsay | Design of a simple reading machine for the blind | |
Lin et al. | A Reading Machine Using Bar Coded Allophone Stringing Technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |