Home
RC8660 User`s Manual
Contents
1. 59 ZHN 82 67 l Si at 13638 Par pu Siz 68 06 16 us 26 piv 72 14618 5 ISL gt 05 gt 09515 051 gt gt SIHVd Inova gt He e 7 ez SIS o 16 515 E GXL ef GXH 5HIdv w IdWV gt 55 v6 ZNV INY ONY 96 19 vb 8 dlsorou in zn 0018 62 88 told Le 48 2019 leg 98 8019 Tce 58 Old 85 v8 209 ov 8 gold ev 28 1018 18 95i e ev bol 9v eol 9c 08 vol 21 25 Sol 8v 55 901 201 99 891 95 621 v 48 oa H 55 uo Fe 55 ao 7 19 9 61 59 S101 99 19 2 59 6100 H 55 E 1 2 eZ Pe 9201 66 OL m 2201 Br szol 6201 0 08 osai Har 05 5 lt Hor 95 X Xu ZS S 86 66 it vi 99 29 SSA 9L 5 ssa e E dnrozo 99 Anko 47 Iizer thes voice syn RC8660 now youre talking RC Systems ou suieis S OH
2. Item RC8660 RC8650 Pins Pin 11 9 Fourth baud rate select pin NC No connection Pin 38 CTS Goes High only when there is data in the CTS Pulses High after each byte received internal serial port overrun buffer Pin 19 Chipset interconnect NC No connection Pins 10 89 92 SEL pins fully support multi channel SEL pins not supported connect to Low level applications Memory Input buffer 8 KB 2KB Greeting message Downloading of Greeting message does not af Downloading of Greeting message erases excep fect exception dictionary tion dictionary dictionary must be reloaded Recording memory 2 33 minutes recording time 0 15 minutes recording time Internal file system allows individual sound files No internal file system entire sound library must to be added and deleted in the field be re downloaded for changes to take effect Record voice and analog data via ADC input Not supported pins play back and or upload recordings via serial port Commandst Download 247W L 247W also supported in newer versions of the Dictionary firmware Formant Freq 0 99F 50F 0 9F 5F Speed 0 135 55 0 95 15 Voice 0 110 00 0 70 00 Index Marker 0 2551 0 991 Interrogate 12 Returns same information as RC8650 plus free space available and of files in recording memory Execution timing Deferred or real time depending on POR 2 Deferred only setti
3. CENTRONICS vec COMPATIBLE 12 vee L244 BUS INTERFACE PRINTER PORT RC8660 ES sea 226 SAB PIOO E AO BO gt Z 6 B1 lt DBI gt A DATA1 PIO2 7 A2 B2 lt DB2 gt 5 DATA2 PIOS B3 lt 083 gt 04 23 B A4 B4 8 DM gt 7 DATA4 PIOS gt 10 5 5 lt 085 gt 5 5 q B6 DB6 DATAG PIO7 A7 B7 lt 087 gt DATA7 STS ba CAB CBA 1 5 PRD O GBA GAB RD 13 SLCT 74HC652 47K ERROR ACK 20 12 BUSY PWRE DE 18 RDY GND Figure 6 Bus Printer Interface RC Systems now youre talking voice synthesizer i TO RC8660 aa STS CLK vcc ao 02 03 Q4 Q5 19 LATCHED STATUS FLAGS 06 TS 74HC374 Figure 7 Method of Capturing Status Information for Driving External Circuitry Analog Audio Output The analog output pins AOg and AO are unfiltered high impedance outputs from the RC86605 internal D A converters When using these outputs the addition of an external low pass filter is highly recommended When laying out the printed circuit board avoid running digital lines near the AO lines in order to minimize induced noise in the audio path If space permits run a guard ground next t
4. NOISIA3H 90 22 01 81 25 89a 1 1v1318noa ano O4 99 ano Of QNO ano O4 ano O SON QNO QNO QNO OF 2 THONE o ZS9LOHbL auos 99 09 pais 5 VET 0701019 04 5 va9 eg avo Asna ov 0 02 B 18 12 047 0 gr 28 zv 046 607 ev 04 HOLO3NNOO STV V OL HOLO3NNOO sr 99 sv 134008 TWN Nid 92 v y 98 ov Y VIA LHOd 13 TIVHVd 18 Od VOL ATLOSHIG Q3193NNOO 38 AYN 601d 1978 o et 1018 AON 0 2 e avs iv OF vas QNO x ik anro SOINOHIN3O 0015 olt 810 OTe ax 140d ES lt fa
5. e R 19 Os S19 ZNV a 2 00 d gt CONV 5 L Z Laf 9 6 NISN oF N3HM 19 97a 0 55 372 z lt 51 inovd axi Anko 17 L 3nro T lt tasns 4 ale 04608 gt 2019 T Esya 2100119 var iv or T9 OTe oSv z anro t 20 pear 151 81007 051 9 usd S012 T 2 O 9 OO S 048 P osua 2 O n Fras t 045 anro 210 04 00 gt p10 m 1HOd 11035 1 9 2 id ZOZXVIN 99 48 Iizer thes voice syn RC8660 now youre talking RC Systems oul suieis S NOISIA3H OH 50 22 0 31 41 25 1v1a1anoa G3TIVLSNI LON SINJ3NOdWOO 13419373 24 WE T toro vOrH 2090 2 00 N8SEAWT Lon v
6. DETAILA eoe gt 1 o al olo ajs 515 RC Systems RC8660 now youre talking voice synthesizer RC8660 EVALUATION KIT Evaluation Kit Contents The RC8660 Evaluation Kit comes with everything required to The following components are included in the DoubleTalk RC8660 evaluate and develop applications for the RC8660 chipset using a Evaluation Kit Windows based PC The included RCStudio software provides an integrated development environment with the following features Printed circuit board containing the RC8660F1C chipset AC power supply Read any text either typed or from a file e Speaker Easy access to the various RC8660 voice controls e Serial cable Manage collections of sound files and store them in the RC8660 e RCStudio development software CD Exception dictionary editor compiler and much more The evaluation board can also be used in stand alone environments by simply printing the desired text and commands to it via the on board RS 232 serial or parallel ports SPEAKER amp OUTPUT MICROPHONE C N swi RESET Q 55 AUDIO OUTPUT amp JP1 ET ONTROL 5 2 U1 u2 RC4651FP RC8660FP STANDBY INIT Q 3 4 BA
7. DACLK Stopped because DARTS is High TCP 1 Figure 20 Synchronous Digital Audio Transfer Timing Stop CTRL X Skip CTRL Y The Stop command 18h causes the RC8660 to stop whatever it is doing and flushes the input buffer of all text and commands The Skip command 19h skips to the next sentence in the buffer See note below Suspend CTRL P Resume CTRL R These commands 10h 12h provide the same functionality as the SUSPo pin allowing TTS playback recording and upload opera tions to be suspended and resumed via software control Note that the SUSPo pin has priority over these commands the Resume command will be ignored if the SUSPo pin is Low NOTE The format of the Stop Skip Suspend and Resume com mands is unique in that the command character CTRL A is not used with them To be most effective the states of the RC8660 handshaking signals should be ignored which allows the RC8660 to react immediately even if its input buffer is full These commands cannot be used during real time audio playback nor with the musi cal tone generator Reinitialize This command reinitializes the RC8660 by clearing the input buffer and restoring the voice parameters and control registers to their de fault settings The exception dictionary recording memory greeting message baud rate nor TS pin control setting are affected Zap Commands Z This command prevents the RC8660 from honoring
8. High voice quality unlimited vocabulary Converts any ASCII text into speech automatically Capable of very high reading rates Add modify messages by simply editing a text file On the fly control of speed pitch volume etc e On chip recording storage and playback of sound files Record to chip via microphone Upload download and erase recordings and sound files even in the field Data logging mode allows analog quantities to be sampled and stored for later retrieval Recording times from 2 min to 33 min available Tone generation hree voice musical Dual sinusoidal DTMF Touch Tone dialer On chip A D converter Four channels 8 bit resolution One shot continuous single sweep and continuous sweep modes of operation Software and hardware triggering Support for external op amp Analog and digital audio outputs e Stop pause and resume controls Standard serial UART and 8 bit bus interfaces User programmable greeting and default settings e Flexible user exception dictionary Change the pronunciation of any input string based on spelling and context Convert encrypted data into meaningful messages Trigger tone generation recorded message playback voice parameter changes n circuit field programmable 8 KB input buffer for virtually no overhead operation Available in 3 3 V and 5 V versions Low power typ 3 3 V 3 8 mA active
9. 700 pA idle 0 7 pA standby RCS6GOQ voice synthesizer APPLICATIONS Robotics e Talking OCR systems ATM machines Talking pagers and PDAs GPS navigation systems Vending and ticketing machines Remote diagnostic reporting Dial up information systems Handheld barcode readers Electronic test and measurement Security systems e Aids for the orally or visually disabled e Meeting federal ADA requirements RC8660 Product Summary Order Recording Operating Number Capacity Voltage RC8660F1C 2 min 5V RC86L60F11 2min 33V RC86L60F2I 7 min 33V RC86L60F3I 15 min 33V RC86L60F4I 33 min 3 3V Based on 8 kHz sampling rate with ADPCM encoding See Ordering Information for a complete list of package and temperature options RC Systems now youre talking TYPICAL APPLICATION CIRCUIT voice synthesizer vec vec C4 0 1UF C50 1UF z vss vec vss vec Let er vss vec vss vec 2 e vss vec vec AVSS vec vec lt ANPIN 2 AMPIN AMPOUT AMPOUT AVREF ADTRG ADTRG CONVERTER AND 200 Took Took iK 10
10. and chauffeur becomes show fur Heteronyms words with identical spelling but different meanings and pronunciations can also be modified using this technique For example if the word read is to be pronounced reed instead of red it can simply be respelled as reed Text Mode Delay T nT This command places the RC8660 in the Text operating mode The optional delay parameter is used to create a variable pause between words The shortest and default delay of 0 is used for normal speech For users not accustomed to synthetic speech the synthesizers intelligibility may be improved by introducing a delay The longest delay that can be specified is 15 If the delay parameter is omitted the last set value will be used and the exception diction ary will be disabled This feature is useful for returning from another operating mode or disabling the dictionary See Enable Exception Dictionary command Character Mode Delay C nC This command puts the RC8660 in the Character operating mode The optional delay parameter is used to create a variable pause between characters Values between 0 the default and 15 provide pauses from shortest to longest respectively Values between 16 and 31 provide the same range of pauses but control characters will not be spoken If the delay parameter is omitted the last set value will be used and the exception dictionary will be disabled Phoneme Mode D This command disables the text to
11. add 128 to the value of Note that ADPCM compression is disabled in data logging mode RCS6GO voice synthesizer M defines the tag that is to be associated with the recording If you do not want to use a tag set 7 00000 Note that all five m digits must be included in the command use leading zeroes if necessary For example the command CTRL A 227101234 begins recording at 11 kHz rate with ADPCM compression as signing a tag value of 1234 to the recording After the Record command has been transmitted to the RC8660 the RC8660 will verify that there is space in the recording memory and that there is not already a file with the same tag in memory other than tag 0 Assuming there are no errors the RC8660 will begin recording transmitting Prog every time 1 024 bytes have been written to the recording memory To stop or pause recording 1 To stop recording issue the Stop CTRL X command The RC8660 will transmit Error to acknowledge recording has stopped followed by the new recordings 16 bit file number Because recordings are always stored after the last file in the recording memory the new recordings file number will be one less than the total number of files in memory 2 To pause recording pull the SUSPo pin Low or issue the Suspend CTRL P command Recording resumes when the SUSPof pin is brought High or when the Resume CTRL R command is issued Repair Recording Memory 218W If a rec
12. 0 15 0 2 Zap commands Reinitialize generator 0 16 n N Real time PCM ADPCM audio playback 0 99 Play sound file 0 65534 ADC Control Register 0 255 128 Chipset ID Interrogate 6 12 CTRL P R Suspend Resume CTRL X Y Stop Skip 1 These commands can be used in greeting messages and exception dictionaries 2 These commands can be used in deferred and real time execution modes depending on the setting of the RTC bit Table 22 RC8660 Command Summary 37 RC Systems now youre talking EXCEPTION DICTIONARIES Exception dictionaries make it possible to alter the way the RC8660 interprets character strings it receives This is useful for correcting mispronounced words triggering the generation of tones and or the playback of prerecorded sounds or even speaking in a foreign language In some cases an exception dictionary may even negate the need of a text pre processor in applications that cannot provide standard text strings This section describes how to create exception dictionaries for the RC8660 The text to speech modes of the RC8660 utilize an English lexicon and letter to sound rules to convert text it receives into speech The pronunciation rules determine which sounds or phonemes each character will receive based on its relative position within each word The integrated DoubleTalk text to speech engine analyzes text by applying these rul
13. 99 WI ONY anor 9 s LOPH M T9 7 SOPH ant soro XOL 10v us eoru I IK Vio 3466 2090 99 WI 90 E E Z ISI E Ost ant 900 9020 046 7 ANZ 542344 ANZ alt 1059 2059 alt 1020 2020 1 M of 7 ven 2 10 5059 v ds tov 045 P 2064 2 pozo S8 1089 ZOZH Jl 940 n Jl 9402n dno 89 389 9060 9020 SOA 99 L 1 49 Iizer thes voice syn RC8660 now youre talking RC Systems swalskS NOISIA3H 90 22 00 d3AOHddV 41 26 S d 89d 1VA3 1v1a318noa vILOHVZ LMS 2 at i 9 6 1 5 gt Lb 99 9 ovr od anro 4 ani z0 U 90 20 OA A vOOPNE vn OON 50 voice synthesizer RC Systems now youre talking Appenpix A RC8660 RC8650 5
14. RC46L61FP RC86L60F3I RC86L60 3 3 3 V QFP TSOP 15 min 40 C to 85 C RC8660FP RC46L71FP RC86L60F4I 3 3V QFP TSOP 33 min 40 C to 85 C RC8660FP RC46L81FP RC86L60G11 3 3V LQFP TSOP 2 min 40 C to 85 C RC8660GP RC46L51FP RC86L60G2 3 3V LQFP TSOP 7 min 40 C to 85 C RC8660GP RC46L61FP RC86L60G3 3 3V LQFP TSOP 15 min 40 C to 85 C RC8660GP RC46L71FP RC86L60G4 3 3V LQFP TSOP 33 min 40 C to 85 C RC8660GP RC46L81FP RC Systems now youre talking FUNCTIONAL DESCRIPTION The RC8660 chipset includes a number of features that make it ideally suited for any design requiring voice output The RC8660 s major features are described below Text to Speech Synthesizer The RC8660 provides text to speech conversion with its integrated DoubleTalk text to speech synthesizer Any English text written to the RC8660 is automatically converted into speech Commands can be embedded in the input stream to dynamically control the voice even at the phoneme level phonemes are the basic sound units of speech A greeting message can be stored in the RC8660 that is automati cally spoken immediately after the RC8660 is reset Most any of the commands recognized by the RC8660 may be included as part of the greeting message which can be used to set up custom default settings and or play a prerecorded message or tone sequence An integrated nonvolatile memory area is also provided
15. lt gt individual register bits For example 65G sets bits POR O and POR 6 16 clears ADR 4 If the value of a parameter falls outside the commands range the value will either wrap around or saturate depending on the setting of the SAT bit of the Protocol Options Register For example if pa rameters are programmed to wrap the current volume is 7 and the command 4 is issued the resultant volume will be 7 4 10 1 since the volume range is 0 9 If parameters are programmed to saturate the resultant volume would be 9 instead When writing application programs for the RC8660 it is recom mended that relative parameters be used for temporarily changing voice attributes such as raising the pitch of a word using absolute parameter commands only once in the programs initialization rou tine This way if the base value of an attribute needs to be changed it only needs to be changed in the initialization routine Command Execution Timing Normally RC8660 commands affect only the data that follows them in the data stream deferred mode Some applications however may need to change certain parameters Such as volume or voice speed and have the change take effect immediately Execution tim ing can be manipulated in this manner with the setting of the RTC bit of the Protocol Options Register Issuing real time parameter changes does not affect commands already in the input buffer they will still be executed as they
16. 1C29 PIO7 5 4 2 PIO1 00 SEL4 SEL3 SEL2 SEL1 AN3 AN2 AN1 AVSS ANO AVREF AVCC ADTRG AMPOU AMPIN RC8660FP 100 Lead QFP 14 mm x 20 mm TOP VIEW RC8660GP 100 Lead LQFP 14 mm x 14 mm TOP VIEW IC3 PRD NC STS Ic2 NC NC ICO ACLR NC VCC CTS RDY RXD TXD DARTS DACLK DAIN DAOUT 14 NC PRD NC STS 2 NC IC1 NC Ico ACLR NC CTS RDY RXD TXD DARTS DACLK DAIN DAOUT BRSO BRS1 BRS2 RC Systems now youre talking voice synthesizer RC46xxFP 48 Lead TSOP 12 mm x20 mm TOP VIEW RC Systems RC8660 now youre talking voice synthesizer PIN DESCRIPTIONS Pin Name Type Name and Function ICg IC33 INTPUT CHIPSET INTERCONNECTS Interconnections between the RC8660 and RC46xx chips connects to OUTPUT IC4 to IC4 etc IC3g IC 39 must have 47 100 pullup resistor to Veg IC 33 must also have a resistor in the case of the 33 minute version No other connections should be made to these pins 00 OUTPUT ANALOG OUTPUT Channels 0 1 digital to analog D A converter outputs The output voltage range is O V to and is normally biased at 2 Output impedance is 10 typical AO is reserved for future use 50 OUTPUT TALK STATUS Indicates whether a voic
17. AN2 94 ANS 33 ans H2 13 m C32 5 i C32 50 BRSO c 29 BRS 27 5 30 8 BRS2 80 50 1 29 Es ica 79 3 28 IC27 IC27 RXD i 2 RXD IC26 56 IC26 MICRO TXD XD 1 25 75 a 1925 CTS IC24 IC24 1 23 IC23 2499 RDY 122 71 25 1 22 9 prow 7 2 c2 72 24 620 2 1 19 58 DAN a 8 DAOUT A md DARTSI 18 DACLK 8 4 2 4 aoo 9 150 9057 4 aso ico 57 3 3 E 8 2 Ice 2 asi 1 5 53 48 ics 52 17 92 104 50 26 C I 81 SELI 2 28 Ics a sEL2 ice 4 ice 92 28 ict 39 Ico Ico R2 SELS 100K T Pi 81 4 pz PIO6 82 06 Ri fe STBY PIOS PIOS 47K i PIO4 2 4 ACLRH 88 35 n RESET PIO2 PIO2 ds a 2 00 00 T 10 vi d 73728 MHZ 4 5 Ut u2 RCB660FP RC46xxEP c2 18PF 18PF Ro 68K b a NF R7 33k R8 33K pa s ii 1 t 2 7 4 RI 5 LM4876 SPKR l c 3 1 T 22NF 8 2NF 0 TA cto 1UF t PROGRAM TS0 ACTIVE HIGH RC Systems now youre talking CONNECTION DIAGRAMS voice synthesizer 1C27 28
18. PIOg PIO7 pins is latched in the RC8660 on the rising edge of PWR Sufficient time must be given for the RC8660 to process the data before writing additional data RDY or Status Register bit 58 4 should be used for this purpose Connect this pin to a High level if not used RDY OUTPUT READY RDY High indicates that the RC8660 is busy processing the last byte that was written over the Pe ripheral 1 0 Bus Wait for RDY to be Low before attempting to write more data RDY goes High briefly after each write operation over the PlIOg PIO7 bus acknowledging receipt of each byte If the RC86605 input buf fer becomes full as a result of the last write operation RDY will remain High until room becomes available Note that RDY can also be read from Status Register bit SR 4 INPUT A D CONVERTER INPUTS Analog to digital converter input pins Analog signals sampled on these pins can be read through the serial interface or stored in recording memory Leave any unused pins unconnected Table 1 Pin Descriptions RC Systems 3 660 now youre talking voice synthesizer Pin Name Type Name and Function ADTRG INPUT A D CONVERTER TRIGGER Starts A D conversion when hardware triggering is selected Minimum Low pulse width is 200 ns Leave this pin unconnected if not used AMPIN OUTPUT A D CONVERTER AMPLIFIER Connecting an operational amplifier between these p
19. RXD bus it becomes enabled and RCS6GO voice synthesizer RC8660 RC8660 RXD RXD TXD Figure 4 Multi Channel System Channel Activation SEL SEL SEL3 SEL SEL Pair Coda L L L L L All L n L H 2 3 C2h L L L H L 4 5 C4h L L H H 6 7 C6h H H H H 60 61 FCh H H H H Disabled Table 4 RC8660 Channel Addressing functions normally All other RC8660s on the bus disable them selves at the same time although the contents of their input buffers will not be affected The 8 KB buffer within each RC8660 allows a channel to be opened accept messages text and commands then be immediately closed thereby allowing another channel to be opened while the first RC8660 processes the information it just received To address a specific RC8660 issue the appropriate activation code For example to address channel 4 transmit C4h All subsequent output will be accepted by the RC8660 configured for channel 4 and ignored by all the others Handshaking with each RC8660 in a multi channel system is simplified through a special interrogation mechanism Instead of monitoring each channel s CTS pin any channel can instead be queried by transmitting code COh In response the active channel will return an 8 bit status code on the TXD bus as defined in Table 5 The Ready Status bit should be checked at least every 8 data bytes in order to avoid
20. V rule v V The final e matches the rule which applies when e is final and follows zero or more consonants and a vowel Consequently e receives no sound and processing continues with the following word or punctuation if any Thus the entire phoneme string for the word receive iSR IX S IY V Rule Precedence Since DoubleTalk uses its translation rules in a sequential manner the position of each exception relative to the others must be carefully considered For example consider the following pair of exceptions 0 OW 0 UW The first exception states that o followed by e i or y is to be pro nounced ow the o sound in boat The second exception does not place any restriction on what must come before or after o so o in any context will receive the uw pronunciation If the exceptions were reversed the 0 exception would never be reached because the 0 exception will always match o in any context In general tightly defined exceptions those containing many context restrictions should precede loosely defined exceptions those with little or no context definitions RAT R AE T RATING R EY T IH NG R voice synthesizer This is an example of how not to organize a dictionary The excep tion RATING will never be used because RAT will always match first According to these exceptions the word rating would be pro nounced rat ing It can be beneficial to group exceptions
21. a request basis All configurations include two surface mount devices the 100 pin RC8660FP or RC8660GP and 48 pin RC46xxFP The RC8660GP requires 3096 less board space and is approximately half the thickness of the RC8660FP see Package Information but has a different pinout see Connection Diagrams The RC8660FP package provides an easy migration path for designs incorporating the older RC8650 chipset see Ap pendix A for a comparison of the RC8660 and RC8650 Only the RC46xxFP is affected by the voltage and recording capacity option chosen as can be seen in the Chipset column in the table below 86 L 60 TEMPERATURE RANGE Commercial 0 C to 70 C Industrial 40 C to 85 C COMPLIANT RECORDING MEMORY CAPACITY 1 2minutes 512 KB 2 7 minutes 1 536 KB 3 15 minutes 3 584 4 33 minutes 7 680 KB PACKAGE TYPE F 100 pin 14 x 20 mm amp 48 pin 12 x 20 mm TSOP G 100 pin 14 x 14 mm LQFP 8 48 pin 12 x 20 mm TSOP e OPERATING VOLTAGE Blank 5V 0 5V L 33V 03V VALID COMBINATIONS Order Number Old Order No Voltage Package Rec Capacity Temp Range Chipset RC8660F1C RC8660 1 5V QFP TSOP 2 0 C to 70 RC8660FP RC4651FP RC8660G1C LQFP TSOP 2 0 C to 70 RC8660GP RC4651FP RC86L60F 11 RC86L60 1 33V QFP TSOP 2 min 40 C to 85 C RC8660FP RC46L51FP RC86L60F2I RC86L60 2 3 3V QFP TSOP 7 min 40 C to 85 C RC8660FP
22. adjusted to that of the RC8650 and RC8660 specific functions such as audio recording are disabled Default 1 POR 3 INDEX TAG TAG 1 Reference by tag 0 Reference by index Determines whether sound library files are referenced by their file number index 0 or by their tag value 1 Default 0 POR 2 REAL TIME CONTROL RTC 1 Real time command processing 0 Deferred command processing POR 1 RESERVED R Determines whether certain commands are processed in deferred mode 0 or real time 1 The commands affected are nA nF nO nS rV and nx All other commands will be processed in deferred mode regardless of this bit s setting Default 0 Reserved for future use Write 0 to ensure future compatibility POR O STATUS MESSAGES STM 1 Enabled 0 Disabled Enables and disables the transmission of certain status messages from the TXD pin De fault 0 Table 19 Protocol Options Register 33 RC Systems RC8660 now youre talking voice synthesizer Audio Control Register nN be transmitted to completion even if DARTS goes High before the The Audio Control Register determines whether the RC8660 s audio sample has completed Figure 20 illustrates the synchronous data will be delivered as an analog signal on the AO pins or as a serial transfer mode note how either DARTS or DACLK can be used to data stream on the
23. are not shown for clarity Heteronyms Heteronyms are words that have similar spellings but are pro nounced differently depending on the context such as read reed and red and wind the wind blew and wind the clock Excep tions can be used to fix up these ambiguities by including non printing Control characters in the text fragment of the exception Suppose a line of text required the word close to be pronounced as it is in close call instead of as in close the window The following exception changes the way the s will sound 04 105 L OW S Note the CTRL D character 04 in the text fragment CTRL D is a non printing character but the translation algorithms treat it as they would any printing character Thus the string O4close will be pronounced with the s receiving the s sound Close without the CTRL D will be unaffected the s will still receive the 7 sound It does not matter where you place the Control character in the word as long as you use it the same way in your application s text You may use any non printing character except LF and CR in this manner Non English languages Dictionaries can be created that enable the RC8660 to speak in lan guages other than English It s not as difficult as it may most cases all that is required is a pronunciation guide and a bit of patience If you don t have a pronunciation guide for the language you re interest
24. automatically played whenever the RC8660 is powered up allowing custom message to be played or the RC86605 default settings to be reconfigured A user programmable dictionary allows the pro FUNCTIONAL BLOCK DIAGRAM RCS6GOQ voice synthesizer COMPLIANT DOUBLETALK RC46LB1FI D73H nunciation of virtually any character string to be redefined or even trigger the playback of tones prerecorded messages and sounds based on specific input patterns All of these features can be pro grammed and updated via a standard serial port even in the field after the RC8660 has been integrated into the end product The RC8660 is comprised of two surface mounted devices Both operate from either a 3 3 V or 5 V supply and consume very little power Most applications require only the addition of a lowpass filter audio power amplifier to implement a fully functional system RE WRITABLE NON VOLATILE MEMORY ANo ANs lI mo RECORDEDAUDIO AMPOUT 234 BYTES 2 7 15 33 MINUTES ADTRG RXD TXD 5 BRSo BRS3 BRD 100 7 RDY STS M GENERATORS PRD PYRE MUSICAL SINUSOIDAL DAIN CLOCK TOUCH TONE XIN aay STBY EXCEPTION DICTIONARY 16 KB SELi SELs A0o A0 ASo A81 TSo TS1 SUSPo 505 DoubleTalk RC8660 User s Manual Rev 06C Revised 7 14 10 2004 2010 RC Systems Inc RC Systems now youre talking FEATURES e Integrated text to speech processor
25. contexts are op tional so an exception may contain neither either or both contexts There are also 15 special symbols or context tokens that can be used in an exception s context definitions Table 23 Note that although context tokens are by definition valid only for the left and right context definitions the wildcard token may also be used within text fragments Any other context token appearing within a text fragment will be treated as a literal character The right side of an exception P specifies the pronunciation that the text fragment is to receive which may consist of any combina tion of phonemes Table 6 phoneme attribute modifiers Table 7 and commands Table 22 Using the tone generator and prere corded audio playback commands virtually limitless combinations voice synthesizer Symbol Definition A vowel a y A front vowel i y consonant b d f g q s t V W X Z One or more consonants Zero more consonants A voiced consonant b d g m n W Z One of d s t 2 ch sh th One of b c d f g p t 96 A suffix able s ably e s ed ly er s ely eless ement s eness ing s ingly must also be followed by a non alphabetic character A sibilant g S X 2 ch sh A nonalphabetic character number space etc ns One or more non printing c
26. data loss RC Systems now youre talking Bus Printer Interface The RC86605 bus interface allows the RC8660 to be connected to a microprocessor or microcontroller in the same manner as a static RAM or I O device as shown in Figure 6 The microcontroller controls all transactions with the RC8660 over the system data bus using the RD and WR signals RD controls the reading of the RC86605 Status Register WR controls the transfer of data into the RC8660 The Status Register bits and their definitions are shown in Table 5 A registered bus transceiver is required for communication between the RC8660 and microcontroller two 74HC374s placed back to back may be substituted for the 74HC652 shown in the figure Prior to each write operation to the RC8660 the host processor should verify that the RC8660 is ready by testing the RDY status flag The RC8660 can also be interfaced to a PC s printer port as shown in Figure 6 A 74HC374 can be used in place of the 74HC652 since bidirectional communication is not necessary Handshaking is per formed automatically via the BUSY pin Because the RC8660 can take up to 15 to accept data written to it AC Characteristics parameter software drivers should wait for RDY to drop to O after a byte is written in order to avoid over writing it with the next data byte Not doing so could result in the loss of data Waiting for RDY to drop to 0 ensures that RDY will not falsely show that
27. description Event 0 Requires 86 1 STM 1 Output has started Yes Output has stopped Buffer almost empty lt 100 bytes remaining Yes Buffer almost full ves lt 100 bytes available p Standby mode S N 0 confirmation p Baud rate lock L No confirmation pP Table 3 Status Messages Multi channel system Multiple RC8660s can be connected in a multi channel configura tion by wiring the RXD pins together and TXD pins together as shown in Figure 4 All communication is performed over the re sulting RXD TXD bus Individual RC8660s are addressed through a simple addressing scheme shown in Table 4 Single channel systems should have all of the RC8660 SEL pins connected to a Low logic level This permanently activates the RC8660 so that no activation code is required and configures the TXD pin as a CMOS output Note that if any of the SEL pins are connected to a High logic level the TXD output pin will be automatically configured to be an open drain N channel output Note Table 4 refers to channel pairs because each RC8660 can potentially support two channels AOg and AO4 This feature may be implemented in a future version of the RC8660 Each 86605 address is programmed through the strapping of its SEL pins the logic levels present on these pins determine which activation code each RC8660 will respond to When an RC8660 sees its activation code on the
28. for storing a custom pronunciation dictionary allowing the pronunciation of any character string to be redefined Audio Recording and Playback Up to 33 minutes of recorded messages and sound effects can be stored in the RC8660 for on demand playback Recordings are stored in on chip flash memory providing zero power message storage Additionally the RC8660 can play 8 bit PCM and ADPCM audio in real time such as speech and or sound effects stored in an external memory or file system Musical Tone Generator An integrated three voice musical tone generator is capable of gen erating up to three tones simultaneously over a four octave range Simple tones to attention getting sounds can be easily created Touch Tone Generator The RC8660 includes an integrated DTMF Touch Tone generator This is useful in telephony applications where standard DTMF tones are used to signal a remote receiver modem or access the public Switched telephone network Sinusoidal Tone Generator A precision dual sinusoidal tone generator can synthesize the tones often used in signaling applications The tone frequencies can be independently set allowing signals such as call progress tones to be generated Analog to Digital Converter The four channel 8 bit A D converter can be used to monitor bat tery cell voltages temperature and other analog quantities The ADC can be programmed on the fly to convert any single channel or scan up to four channels re
29. gr SELI H 2102 sp 52 mc sy SEL ICO SEL4 Spe 10 sets i 100K gt 100K gt 22 48 pios 25 So 06 STBY ap Swi PIO4 PIO4 PIO3 ACLR 29 3 pioz PION PIO1 sw 88 9 XIN 73728 MHZ 13 your 2 2 ut u2 RC8660FP 4 c2 18PF 18PF Figure 9 Test Circuit ABSOLUTE MAXIMUM RATINGS Supply voltage Vec and AVcc IIN 5 pet tc S 0 3V to 4 0 V WARNING Stresses greater than those listed under Absolute SV GOVICES PE ee agg 0 3 V to 6 5 V Maximum Ratings may cause permanent damage to the device DC input voltage Vi 0 3 V to Vec 0 3 V This is a stress rating only operation of the device at any condition MUTO Operating temperature Ta 0 C to 70 C 40 C to 85 C Storage temperature Ts 55 C to 125 C above those indicated in the operational sections of these specifica tions is not implied Exposure to absolute maximum rating condi tions for extended periods may affect device reliability RC Systems now youre talking voice synthesizer DC CHARACTERISTICS TA 0 C to 70 C 40 C to 85 C 3 3 V 5 V Vss AVss 0 V 7 3728 MHZ 3 3V x 0 3V 5V 0 5V pe Symbol Parameter
30. modes of operation tone generation recording memory playback etc To start a conver Selectable software or hardware triggering sion simply write to the register with INH 0 The effective sampling rate in continuous mode is one tenth the serial port baud rate e g Support for external amplification signal conditioning of all 115200 baud 11520 samples per second four ADC channels INH AMP TRG CONT SWP R CH CH 6 5 4 3 2 1 0 ADC Control Register Bit Description ADR 7 INHIBIT INH This bit must be 0 in order for the ADC to begin sampling the input channel s setting 1 Stop A D conversions itto 1 while the ADC is operating will cause all conversions to stop This bit allows the 0 Start A D conversions other register bits to be programmed without actually starting the ADC INH automati cally changes to 1 at the end of a conversion in one shot mode Default 1 ADR 6 EXTERNAL AMPLIFIER AMP Set this bit to 1 to use an operational amplifier connected between the AMPIN and AM 1 Amp connected POUT pins Connecting an op amp and enabling this function allows the voltage input to 0 Amp not connected each ADC input pin to be amplified with one op amp Default 0 ADR 5 TRIGGER SOURCE TRG Setting this bit to 1 enables hardware triggering of the ADC The ADC will not begin 1 Hardware trigger ADTRG pin operating until ADR 7 is set to O and th
31. of the DAOUT pin and data into the DAIN pin in the synchronous digital audio output mode DACLK can be programmed to transfer data on either the rising edge or falling edge of the clock Connect this pin to a High level if not used DAIN INPUT DIGITAL AUDIO CONTROL INPUT This pin is used to control the operation of the DAOUT pin in a multi chan nel system Reserved for a future product connect this pin to a High level DARTS INPUT DIGITAL AUDIO REQUEST TO SEND A Low on this pin enables transmission from the DAOUT pin a High suspends transmission DARTS may be used in both the synchronous and asynchronous transfer modes Connect this pin to a Low level if not used PIOg INPUT PERIPHERAL INPUT OUTPUT BUS Eight bit bidirectional peripheral bus Data is input from a peripheral when OUTPUT PRD is active Status information is output when STS is active PIOg also connect to the RC46xx chip Text data and commands can be sent to the RC8660 over this bus STS OUTPUT STATUS Controls the transfer of status information from the RC8660 to a peripheral Status information is driven on the PlOg PIOz pins when STS is Low STS is active only when there is new status information PRD OUTPUT PERIPHERAL READ Controls the transfer of data from a peripheral to the RC8660 Data is read from the PIOg PIO7 pins when PRD is Low PWR INPUT PERIPHERAL WRITE Controls the writing of peripheral data to the RC8660 Data the
32. perform the following steps The procedure is easiest to accomplish if pushbutton switches are connected to the RESET and STBY pins similar to that found on the RC8660 evaluation board 1 Hold RESET and STBY pins Low If power is not yet ap plied and reset is generated automatically at power up only STBY needs to be held Low N Set RESET High or simply apply power while continuing to hold the STBY pin Low After a minimum of 0 5 sec has elapsed set the STBY pin High One beep should be heard from the speaker or headphones indicating that the RC8660 is in Restore mode Restoring the RC8660 s firmware RC8660 firmware updates can be performed with RCLink an ap plication included with the RCStudio software If an update failed for one reason or another the RC8660 may have been left in a non functional state In such a case use RCLink to download the firmware while the RC8660 is in Restore mode Make sure to set the baud rate in RCLink to 9600 because the RC8660 only operates at 9600 baud while in Restore mode regardless of the state of the BRS pins Please contact RC Systems support to obtain the latest firmware image file Clearing the dictionary and greeting message Use this procedure in the unlikely event that a dictionary or greeting message you downloaded rendered the RC8660 inoperable 1 While in Restore mode set the STBY pin Low and continue holding it Low until a beep is heard from the speaker
33. plified by using Table 12 The tone generator covers a four octave range from C two octaves below Middle C Kj 255 to D two octaves above Middle 14 Kj values less than 14 are not recommended For example the Voice frame 24 64 0 0 plays Middle C using voice 1 K4 64 Since Ko and are zero voices 2 and 3 will be silent during the frame The duration of the note is a function of both the tempo and duration Kp 24 As another example 48 64 51 43 plays a C E G chord for a duration twice as long as the previous example Choosing note durations and tempo Table 13 lists the recommended Kp values for each of the standard musical note durations This convention permits shorter 1 64 note and intermediate note values to be played accurately This is important when for example a thirty second note is to be played staccato or a note is dotted multiplying its length by 1 5 Using the suggested values it turns out that most musical scores sound best when played at a tempo of 255 or faster i e 0 Of course the right tempo is the one that sounds the best Play Command The Play command causes the voice data in the input buffer to begin playing Additional Initialize commands and Voice frames may be sent to the RC8660 while the tone generator is operating The TSg pin and TS flag are asserted at this time enabling the host to syn chronize to the playing of the tone data TS becomes ina
34. the RC8660 is ready the next time the driver is called If a system interrupt can occur while waiting for RDY to become 0 or if RDY cannot otherwise be checked at least once every 8 us a software timeout should be enforced to avoid hanging up in the wait loop The time RDY stays 0 is relatively short 8 us min and can be missed if the loop is interrupted The timeout should be at least 15 us which is the maximum time for RDY to drop to 0 after writing a byte of data In non time critical applications the output routine could simply delay 15 us or longer before exiting without checking for RDY O at all Figure 5 illustrates the recommended method of writing data to the RC86605 bus interface This method should be used for writing all types of data including text commands tone generator and real time audio data RCS6GO voice synthesizer YES WRITE BYTE TO RC8660 READ STATUS REGISTER WRITE COMPLETE NO Figure 5 Recommended Method of Writing Data Via the Bus Interface RC Systems now youre talking voice synthesizer R TS R RDY AF AE STBY R 7 6 5 4 3 2 1 0 Status Register Bit Description SR 7 RESERVED Reserved for future use Mask when polling the Status Register SR 6 TALK STATUS TS 1 Talking 0 Idle This bit is 1 when the RC8660 is producing output 0 when output has ceased The TS bit is not affected by the T
35. the absence of written agreement to the contrary RC Systems assumes no liability relating to the sale and or use of RC Systems products including fitness for a particular purpose merchantability for RC Systems applications assistance customer s product design or infringement of patents or copyrights of third parties by or arising from use of devices described herein Nor does RC Systems warrant or represent that any license either express or implied is granted under any patent right copyright or other intellectual property right of RC Systems covering or relating to any combination machine or process in which such devices might be or are used RC Systems products are not intended for use in medical life saving or life sustaining applications Applications described in this publication are for illustrative purposes only and RC Systems makes no warranties or representations that the devices described herein will be suitable for such applications now youre talking 1609 England Avenue Everett WA 98203 Phone 425 355 3800 Fax 425 355 1098 WWW ICSys com
36. to RESET XIN INPUT CLOCK INPUT OUTPUT These pins connect to the internal clock generating circuit All timing for the RC8660 and RC46xx chips are derived from this circuit Connect a 7 3728 MHz crystal between XIN and XOUT Alter XOUT OUTPUT natively an external 7 3728 MHz square wave may be applied to XIN POWER 5 V 0 5 V 3 3 V 0 3 V power supply connection Vss GROUND Connect these pins to system ground ANALOG POWER Power supply input for the D A and A D converters Connect this pin to Voc AVss ANALOG GROUND Ground input for the D A and A D converters Connect this pin to Vss ANALOG REFERENCE VOLTAGE Reference voltage for the D A and A D converters Connect this pin to Voc Caution any noise present on this pin will appear on the AO pins and affect A D converter accuracy NC NO CONNECT NC pins must remain unconnected Connection of NC pins may result in component failure or incompatibility with future product enhancements Table 1 Pin Descriptions Continued RC Systems 3 RC8660 now youre talking voice synthesizer ORDERING INFORMATION The RC8660 is available in several voltage and temperature ranges and recording capacities The ordering part number is formed by combin ing several fields as indicated below Refer to the Valid Combinations table which lists the configurations that are planned to be supported in volume Other combinations may be available on
37. 48 0 48 0 310 320 Play Quit 330 DATA 0 0 1 1 0 0 0 0 Figure 19 Example Musical Tone Generator Program SINUSOIDALTONE GENERATOR The sinusoidal tone generator generates two sinusoidal waveforms simultaneously Applications range from creating simple tones to telephone call progress tones such as a dial tone or busy signal The frequency range is 0 to 4400 Hz with a resolution of 10 Hz The sinusoidal tone generator is activated with the command nJaaaabbbb specifies the tone duration in 10 ms increments between 2 and 59999 A and 6 specify the frequencies of the two generators Note that all eight digits fora and b must be included the command For example the command CTRL A 100203500440 generates a 350 440 Hz tone pair a dial tone for 1 second If only one tone is to be generated the other tone frequency may either be set to 0 or the same frequency Note however that due to the additive nature of the tone generators the output amplitude from both generators running at the same frequency will be twice that of just one generator running Both frequencies may be set to 0 to generate silence Longer tones can be created by sending multiple commands back to back DTMF TONE GENERATOR The DTMF Touch Tone tone generator generates the 16 standard tone pairs commonly used in telephone systems Each tone is 100 ms in duration followed by a 100 ms inter digit pause more than satisfying telephone signal
38. 6605 exception dictionary and stores subsequent output from the host in the 86605 nonvolatile dictionary memory The maximum dictionary size is 16 KB Exception dictionaries must be compiled into the format required by the RC8660 before they be used RCStudio a Windows based application available from RC Systems includes a dictionary editor and compiler for performing this task Dictionaries that have been compiled with RC Studio include the download command in the file header simplifying the download process To download a dictionary simply download the file to the RC8660 After the first 12 bytes of the file have been transferred the RC8660 will drive the handshake lines to their false not ready states This is done to prevent any more of the file from being transferred while the RC8660 prepares the internal memory that will be used to store the dictionary At this time the RC8660 will transmit two Erase Prog messages Table 11 followed by Erase Ok via the TXD pin each approximately 0 25 sec apart After the Erase Ok message has been transmitted the handshake lines will return to their true ready states allowing the remainder of the file to be transmitted After the entire file has been transferred the RC8660 will transmit the result code normally No Error Note It is not necessary to monitor the status messages sent from the RC8660 because the handshake lines ultimately control the timing of the download T
39. C8660 is inactive The command parameter n determines when Standby mode will be entered You can place the RC8660 in Standby mode immediately program the sleep timer to any of 15 ten minute intervals 10 to 150 minutes or disable the sleep timer altogether Table 16 Note that the delay interval is simply n x 10 minutes for 0 lt n lt 16 Adding 16 to these values 16 lt 32 also enables the reminder tone which sounds at the end of each ten minute interval Pro gramming n 0 disables the sleep timer which is the default setting Setting 16 forces the RC8660 to enter Standby mode as soon as all output has ceased If the sleep timer is allowed to expire the RC8660 will emit the ASCII character p from the TXD pin and the STBY status flag will be set to 1 just before entering Standby mode This enables the host to detect that the RC8660 has entered Standby mode Once the RC8660 has entered Standby mode it can be re awakened only by a hardware reset or by driving the STBY pin low for twsBL or longer then High again of the RC8660 handshake signals BUSY CTS and RDY are forced to their not ready states while the RC8660 is in Standby n Delay 0 Sleep timer disabled 1 10 min 15 150 min 16 0 immediate 17 10 min w reminder 31 150 min w reminder Table 16 Sleep Timer 31 RC Systems now youre talking Download Exception Dictionary 247W This command initializes the 8
40. DAOUT pin See Table 20 for the definition of regulate the data flow each register bit The default register setting is ON analog output In the synchronous mode do not attempt to read the data at a rate In the digital audio modes data is transferred from the DAOUT pin faster than 12 kbytes sec DACLK 96 kHz At clock rates above in 8 bit linear offset binary format midscale 80h The DARTS this the host should pause between reading each sample in order to pin can be used to regulate the flow of data it must be Low for prevent the average transfer rate from exceeding 12 kbytes sec transfers to begin Once atransfer has begun the current sample will AM TM DPC TF TCP BR BR BR 7 6 5 4 3 2 1 0 Audio Control Register Bit Description ACR 7 AUDIO MODE AM Set this bit to 0 to direct the audio stream to the AO pin analog Set the bit to 1 to 1 Digital direct output to the DAOUT pin digital Default 0 0 Analog ACR 6 TRANSFER MODE In the asynchronous transfer mode the data rate and timing are controlled by the inter 1 Synchronous nal bit rate generator ACR 2 0 Data is output on the DAOUT pin and formatted as 1 0 Asynchronous start bit 8 data bits LSB first and 1 stop bit In the synchronous transfer mode the data rate and timing are controlled by the host with the DACLK pin Data is output from the DAOUT pin as 8 bit data frames Default 0 AC
41. GND X X 2400 8 SLCTIN 21 BUSY X X 4800 9 22 GND 9600 10 GND 23 PE X X 19200 11 DATA4 24 GND X Auto detect 12 GND 25 SLCT X X 38400 13 DATA5 26 RD X 57600 Table 29 P103 Pin Assignments Printer Bus Interface X X 115200 X Auto detect X Auto detect Auto detect X Auto detect Auto detect default Table 26 JP1 JP4 Jumper Assignments Baud Rate 46 Izer thes voice syn RC8660 now youre talking RC Systems ou suieis S NOISIA3H 90 22 01 3799 1VA3 00ld LOld 014 SOld 9014 051 221 vol gol 921 101 621 viol 9101 9191 6101 0221 2201 201 9291 9221 4221 8221 6221 0591 121 Zeol Ja3uAv 99 99 99 99 99 1nox NIX 13539 815 9135 vias 5135 2135 as ISv 194515 ISL Lov osy 0dSNS 051 00 WOVA 3S1HVG 1 515 510 1 oulav INY ONY SSAV SSA SSA SSA
42. Phoneme mode is also useful in applications that provide their own text to phoneme translation such as the front end of a custom text to speech system Phoneme Example Phoneme Example Symbol Word Symbol Word A das Spanish N new AA cot NG rung AE cat NY Spanish AH cut 0 no Spanish AW cow OW boat AX bottom OY boy AY bite P pop B bib PX spot CH church R ring D did RR tres Spanish DH either 5 sell DX city SH shell ser Spanish T tin EH bet TH thin El mesa Spanish TX stick ER bird U uno Spanish EW acteur French UH book EY bake UW boot F fee V valve G gag H he WH when libro Spanish Y mayo Spanish IH bit YY you IX rabbit Z Zoo IY beet ZH vision J age Space variable pause K cute short pause KX Ski medium pause L long long pause M me Normally used between words duration determined by nT command Table 6 DoubleTalk Phoneme Symbols voice synthesizer Symbol Function Equiv Cmd nn Set pitch to nn 0 99 Increase pitch m steps Decrease pitch steps mP Increase speed 1 step 15 Decrease speed 1 step 15 gt Increase volume 1 step 1V Decrease volume 1 step 1V Step size determined by nE command m 2n Table 7 Phoneme Attribute Modifiers Speed nS The synthesizer s speech rate can be adjusted with this command from OS slowest throu
43. R 5 DAOUT PIN CONTROL DPC Set this bit to 1 to configure the DAOUT pin as an open drain output or to 0 for a 1 Open drain CMOS output The open drain configuration should be used when wire or ing two 0 CMOS more DAOUT pins together Default 0 ACR 4 TRANSFER FORMAT TF Set this bit to 1 to have the 8 bit data frames transmitted most significant bit first 1 MSB first or to 0 for least significant bit first Valid only in the synchronous transfer mode 0 LSB first Default 0 ACR 3 TRANSFER CLOCK POLARITY TCP Set this bit to 1 to clock data out of the DAOUT pin on the rising edge of the DACLK 1 Rising edge pin or to 0 to clock data on the falling edge Valid only in the synchronous transfer 0 Falling edge mode Default O ACR 2 0 RATE BR These bits determine the bit rate used in the asynchronous transfer mode Valid only in 000 2400 the asynchronous transfer mode Default 000 001 4800 010 9600 011 14400 100 19200 101 28800 110 57600 111 115200 NOTES 1 ACR 6 ACR 0 are valid only when ACR 7 1 2 ACR 4 ACR 3 are valid only when ACR 7 and ACR 6 1 3 ACR 2 ACR 0 are valid only when ACR 7 1 and ACR 6 0 Table 20 Audio Control Register 34 RC Systems now youre talking RCS6GOQ voice synthesizer Starts transmission 4 DARTS DAOUT TCP 0 Stopped because DACLK stopped
44. RC Systems now youre talking DoubleTalk RC8660 CMOS 3 3 Volt 5 Volt Voice Synthesizer Chipset GENERAL DESCRIPTION The RC8660 is a versatile voice and sound synthesizer integrating a text to speech TTS processor audio recording and playback musical and sinusoidal tone generators telephone dialer and A D converter into an easy to use chipset Using a standard serial or 8 bit bus interface virtually any ASCII text can be streamed to the RC8660 for automatic conversion into speech by the TTS processor The audio record and playback modes augment the TTS processor for applications requiring very high voice quality and a relatively small fixed vocabulary applications requiring special sounds or sound effects and or the recording of voice memos The audio output is delivered in both analog and digital PCM audio formats which can be used to drive a Speaker or digital audio stream The RC86605 integrated TTS processor incorporates RC Systems DoubleTalk TTS technology which is based on a unique voice concatenation technique using real human voice samples The DoubleTalk TTS processor also gives the user unprecedented real time control of the speech signal including pitch volume tone speed expression articulation and so on Up to 7 5 MB of nonvolatile memory is included in the RC8660 for the storage of up to 33 minutes of recorded messages and sound effects A programmable greeting message can be stored that is
45. S Pin Control command which affects only the TS pins SR 5 RESERVED Reserved for future use Mask when polling the Status Register SR 4 READY STATUS RDY 1 Ready 0 The RDY bit has the same meaning as the RDY The RC8660 sets RDY to 1 to indicate that it is ready to receive data RDY drops to O momentarily after each write operation over the PIO bus acknowledging receipt of each character SR 3 ALMOST FULL AF 1 Buffer almost full 0 Buffer not almost full This bit is 1 anytime there are less than 100 bytes available in the input buffer AF is always 0 in the real time audio playback mode and when using the musical tone generator SR 2 ALMOST EMPTY AE 1 Buffer almost empty 0 Buffer not almost empty This bit is 1 anytime there are less than 100 bytes remaining in the input buffer AE is always 1 in the real time audio playback mode and when using the musical tone generator SR 1 STANDBY MODE STBY 1 8660 is in Standby mode 0 RC8660 not in Standby mode This bit is 1 when the RC8660 has entered Standby mode Standby mode is entered either by setting the STBY pin Low or by allowing the Sleep Timer to expire SR 0 RESERVED R Reserved for future use Mask when polling the Status Register Table 5 Bus Interface Status Register
46. UD RATE E m DOUBLETALK EVALUATION BOARD ND CONVERTER 55 6 O 7 P101 P102 P103 1 1 2 2 TTL SERIAL PRINTER BUS INTERFACE DC POWER INPUT RS 232 INTERFACE INTERFACE 8 15 VDC 45 RC Systems 656 now youre talking voice synthesizer CONNECTOR PIN ASSIGNMENTS amp SCHEMATICS Pin No Pin Name Pin No Pin Name Pin No Pin Name Pin No Pin Name 1 A06 9 ASo 1 NC 6 DSR 2 A04 10 51 2 RXD 7 RTS 3 0 11 SUSPo 3 TXD 8 CTS 4 SP 12 SUSP4 4 NC 9 5 SP 9 13 DAOUT 5 GND 6 14 DARTS Table 27 P101 Pin Assignments RS 232 Serial Interface 7 TSo 15 DACLK 8 TS4 16 GND Table 24 P1 Pin Assignments Audio Output amp Control Pin No Pin Name Pin No Pin Name 1 GND 3 TXD Pin No Pin Name Pin No Pin Name 2 CTS 4 RAD 1 6 GND Note JP5 JP7 must be open in order to use the TTL interface 2 GND 7 AN3 Table 28 P102 Pin Assignments TTL Serial Interface 3 8 GND 4 GND 9 ADTRG 5 10 GND Pin No Pin Name Pin No Pin Name Table 25 P2 Pin Assignments A D Converter 1 STB 14 GND 2 AFD 15 DATA6 3 DATAO 16 GND JP4 JP3 JP2 JP1 Baud Rate 4 ERROR 17 DATA7 X X X X 300 5 DATA1 18 GND X X X 600 6 INIT 19 ACK X X X 1200 7 DATA2 20
47. ages and sound effects that have been recorded or downloaded into the RC8660 to be played back on demand PCM and ADPCM data types are supported Real Time Audio Playback mode Data sent to the RC8660 is writ ten directly to the 86605 audio buffer This results in a high data rate but provides the capability of producing the highest quality speech as well as sound effects PCM and ADPCM data types are supported Tone Generator modes These modes activate the RC8660 s musical tone generator sinusoidal generator or DTMF generator They can be used to generate audible prompts music signaling tones dial a telephone etc Idle mode To help conserve power in battery powered systems the RC8660 automatically enters a reduced power state whenever it is inactive Data can still be read and written to the RC8660 while in this mode Current draw is typically 700 uA Q 3 3 V Standby mode This mode powers down the RC8660 where current draw is typically only 0 7 Standby mode be invoked from either the STBY pin or with the Sleep command Data cannot be read from nor written to the RC8660 in this mode voice synthesizer RC8660 COMMAND SYNTAX The RC8660 commands provide a simple yet flexible means of controlling the RC8660 under software control They can be used to vary voice attributes such as volume or pitch to suit the require ments of a particular application or listener s preferences Com mands ar
48. are encountered in the data stream TTS SYNTHESIZER Using the TTS synthesizer couldn t be simpler simply write the text to be read to the RC8660 the RC8660 does the rest The RC8660 also includes a number of software commands that allow you to modify the behavior of the TTS synthesizer as described in this section Translation Accuracy Because the RC8660 must handle the highly irregular spelling system of English as well as proper names acronyms technical terms and borrowed foreign words there inevitably will be words that it will mispronounce If a word is mispronounced there are three techniques for correcting it 1 Spell the word phonetically for the desired pronunciation 2 Redefine the way the word should be pronounced by creating an exception for it in the RC8660 s exception dictionary This method allows words to be corrected without having to modify the original text and it automatically corrects all instances of the word 3 Use the 86605 Phoneme mode RCS6GOQ voice synthesizer The first technique is the easiest way to fine tune word pronun ciations by tricking the RC8660 into the desired pronunciation Among the more commonly mispronounced words are compound words proper names Sean and foreign loan words chauffeur Compound words can usually be corrected by separating the two words with a space Proper names and foreign words may require a bit more creativity so that Sean becomes Shon
49. bility PFR 3 LEADING ZERO SUPPRESSION LZS 1 Do not suppress leading zeroes 0 Suppress leading zeroes PFR 2 NUMBERS MODE NM 1 Read number strings as numbers 0 Read number strings as digits PFR 1 0 FILTER MODE FM 00 All spoken 01 Most spoken all but CR LF Space 10 Some spoken amp lt gt 11 None spoken Table 9 Punctuation Filter Register 23 RC Systems now youre talking voice synthesizer A D CONVERTER The output of the ADC is governed by the following equation The The integrated analog to digital converter can be used to moni result nis transmitted the TXD pin as an 8 bit value tor analog quantities such as battery voltage or temperature Data n 256 x Vin AVeer 0 lt 255 logging and audio recording to the RC86605 recording memory are also possible through the ADC Figure 16 is a functional block diagram of the ADC input stage Figure 17 illustrates the ADC in ADC Control Register n operation The ADC Control Register controls the operation of the ADC Table 10 lists the functions of each register bit The default register setting The ADC has the following features is 128 Four channels 8 bit resolution 2 LSB precision Operation of the ADC is not mutually exclusive of other RC8660 One shot continuous single sweep and continuous sweep functions The ADC can operate concurrently with text to speech
50. by the first character of the text fragments that is all of the A exceptions in one group all the B exceptions in a second group and so on This gives an overall cleaner appearance and can prove to be helpful if the need arises to troubleshoot any problems in your dictionary Text Not Matched by the Dictionary It is possible that some input text may not match anything in the dictionary depending on the nature of the dictionary For example if a dictionary was written to handle unusual words only those words would be included in the dictionary On the other hand if a dictionary defined the pronunciation for another language it would be comprehensive enough to handle all types of input In any case if an exception is not found for a particular character the English pronunciation will be given to that character according to the built in pronunciation rules Generally the automatic switchover to the built in rules is desirable if the dictionary is used to correct mispronounced words since by definition the dictionary is defining exceptions to the built in rules If the automatic switchover is not desired however there are two ways to prevent it from occurring One way is to end each group of excep tions with an unconditional exception that matches any context For example to ensure that the letter will always be matched end the A exception group with the exception A pronunciation This technique works well to ensure match
51. ch sounds more interesting than pure sinusoids in music applications RC Studio includes a music score editor and compiler which greatly simplifies the music creation process Note The musical tone generator output is available only from the AO pins Digital audio output from the DAOUT pin is not possible The musical tone generator is activated with the J command no parameter Once activated all data output to the RC8660 is directed to the musical tone generator Note The RC8660 expects the tone generator data to immediately follow the J command therefore do not terminate the command with a CR or NUL RCS6GOQ voice synthesizer The musical tone generator is controlled with four four byte data and command frames called Initialize Voice Play and Quit Figure 18 With these the volume duration and frequencies of the three voices can be controlled Initialize Command The Initialize command sets up the tone generator s relative am plitude and tempo speed The host must issue this command to initialize the tone generator before sending any Voice frames The Initialize command may however be issued anytime afterward to change the volume or tempo on the fly Initialize command format The Initialize command consists of a byte of zero and three param eters The parameters are defined as follows Voice amplitude 1 255 0 255 Tempo high byte 0 255 The range of the t
52. ctive after all of the data has been played Quit Command The Quit command marks the end of the tone data in the input buffer The RC8660 will play the contents of the buffer up to the Quit com mand then return to the text to speech mode that was in effect when the tone generator was activated Once the Quit command has been issued the RC8660 will not accept any more data until the entire buffer has been played voice synthesizer Note 255 FFh D 57 39h C 241 F1h D 54 36h D 228 E4h E 51 33h D 215 D7h F 48 30h E 203 CBh F 45 2Dh 192 COh G 43 2Bh F 181 B5h G 40 28h G 171 ABh A 38 26h G 161 Ath As 36 24h A 152 98h B 34 22h Ad 144 90h C 32 20h B 136 88h C 30 1Eh C 128 80h D 28 1Ch C 121 79h D 27 1Bh D 114 72h E 25 19h D 107 6Bh F 24 18h E 101 65h F 23 17h F 96 60h G 21 15h F 90 5Ah G 20 14h G 85 55h A 19 13h G 81 51h Ad 18 12h A 76 4Ch B 17 11h As 72 48h C 16 10h B 68 44h 15 C Mid 64 40h D 14 OEh C 60 3Ch Table 12 Musical Note Pitch K Values Note Duration Kp Whole Half Quarter Eighth Sixteenth Thirty second 192 COh 96 60h 48 30h 24 18h 12 0Ch 6 06h Table 13 Musical Note Duration Kp Values 29 RC Systems now youre talking Example Tune The Basic program shown in Figu
53. delay and effect 9R is the maximum setting voice synthesizer Punctuation Filter Register nB Depending on the application it may be desirable to limit the read ing of certain punctuation characters For example if the RC8660 is used to proofread documents the application may call for only unusual punctuation to be read On the other hand an application that orally echoes keyboard entries for a blind user may require that all punctuation be spoken The Punctuation Filter Register determines which punctuation char acters will be spoken and how number strings will be translated as shown in Table 9 Effect on number strings When the NM bit is 0 number strings will be read one digit at a time e g 0123 zero one two three Setting the NM bit to 1 forces number strings to be read as numbers 0123 one hundred twenty three Additionally when NM 1 and FM 10 or 11 currency strings will be read as they are normally spoken for example 11 95 will be read as eleven dollars and ninety five cents Setting LZS 1 disables leading zero suppression number strings begin ning with zero will always be read one digit at a time The default filter setting is 6B Some punctuation Numbers mode leading zero suppression enabled R R R R 75 NM FM 7 6 5 4 3 2 1 0 Punctuation Filter Register Bits PFR 7 4 RESERVED Write O to ensure future compati
54. diately terminates all activity and places the RC8660 in Standby mode The RDY and CTS pins are driven High and the input buffer is cleared During standby the RC8660 draws the mini mum possible current 0 7 uA typ 3 3 V but it is not able to respond to any input pin except STBY and RESETZ Returning STBY High causes the RC8660 to enter Idle mode 700 typ the handshake lines are re asserted and the RC8660 will be able to accept input again If the RC8660 entered standby due to a Sleep Timer event driving STBY Low for twsp or longer then High will return the RC8660 to Idle mode STBY is also used to restore the RC8660 to its factory default settings To prevent this from happening unintentionally make sure that STBY is High no later than 0 5 sec after RESET goes High See Appendix B for additional information Connect this pin to a High level if not used SEL1 INPUT SELECT Programs the channel pair that the RC8660 is to respond to in a multi channel system Connect SEL5 these pins to a Low level in single channel systems RESET INPUT RESET A Low immediately terminates all activity and sets all pins internal voice parameters and register set tings to their default states During power up RESET must be held Low a minimum of 1 ms after has stabilized in the proper voltage range All pins will be valid within 2 ms after reset ACLR INPUT ANALOG CLEAR A Low initializes the RC8660 s D A and A D converters Connect ACLR
55. e ADTRG pin changes from a High to a Low 0 Software trigger level When TRG is 0 the ADC will begin operating as soon as ADR 7 is set to 0 Default 0 ADR 4 CONTINUOUS MODE CONT Setting this bit to 1 causes the ADC to operate continuously If a single channel is se 1 Continuous mode lected for measurement ADR 3 0 that channel will be read repeatedly If sweep mode 0 One shot mode is selected ADR 3 1 the active input channels will be continuously read in a cyclic fashion Clearing this bit while the ADC is operating will stop the ADC Default 0 ADR 3 SWEEP MODE SWP This bit determines whether a single channel or multiple input channels will be read 1 Sweep mode When Sweep mode is selected ADR 1 and ADR O determine which input channels will 0 Single channel mode be scanned Default 0 ADR 2 RESERVED R Reserved for future use Write O to ensure future compatibility ADR 1 0 CHANNEL SELECT CH These bits determine which input channel s will be read by the ADC Default 00 When ADR 3 0 When ADR 3 1 00 ANo 00 undefined 01 01 ANo AN sweep 10 AN2 10 undefined 11 ANg 11 ANo ANs sweep NOTES 1 The AMPOUT pin can be used as a fifth ADC input if an external op amp is not used Set ADR 6 1 to select the AMPOUT pin for conversion 2 When ADR 4 0 one shot mode one sample will be returned via the TXD pin When recording to recording mem
56. e also used to change operating modes Commands can be freely intermixed with text that is to be spo ken allowing the voice to be dynamically controlled or to dynamically change operating modes such as generating tones or playing recorded messages in the middle of a passage of text All RC8660 commands are composed of the command character CTRL A by default a parameter n comprised of an ASCII number string and an ASCII character that uniquely identifies the command Some commands simply enable or disable a feature of the RC8660 and do not require a parameter The command format is command character gt lt number string ASCII character Commands are not case sensitive If two or more commands are to be used together each must be prefaced with the command charac ter This is the only way the RC8660 knows to treat the subsequent characters as commands rather than text that is to be spoken For example the following commands program pitch level 40 and vol ume level 7 quotes and spaces shown for clarity purposes only CTRL A 40 CTRL A 7v The Command Character The default RC8660 command character is CTRL A 01h The command character itself can be spoken by the RC8660 by sending it twice in a row CTRL A CTRL A This special command allows the command character to be spoken without affecting the operation of the RC8660 and without having to change to another command character and then back again Changing
57. e channel is active These pins can be used to enable external devices 5 such as a transmitter telephone audio amplifier The pins polarity are programmable be acti vated automatically or under program control TS is reserved for future use SUSPo INPUT SUSPEND Suspends audio output when Low allowing playback to be paused When High playback SUSP4 resumes at the point output was suspended These pins affect only the corresponding AO pin they do not affect the digital audio DAOUT pin use DARTS to control DAOUT During recording operations SUSPo suspends recording when Low SUSPof can also be used to suspend the transfer of a file while a file is being uploaded from recording memory SUSP4 is reserved for future use Connect these pins to a High level if not used OUTPUT AUDIO SYNC Outputs a clock signal in synchronization with the updating of analog outputs AO and A04 The pin changes state whenever the corresponding D A converter is updated During recording ASg changes state each time the A D converter input is sampled AS is reserved for future use DAOUT OUTPUT DIGITAL AUDIO OUTPUT Provides the same 8 bit digital audio stream that is fed to the internal D A con verters This pin can be programmed to be a CMOS or open drain output The communication protocol is progammable and can operate in synchronous or asynchronous mode DACLK INPUT DIGITAL AUDIO CLOCK This pin is used to clock data out
58. e command will effectively override the baud rate set by the BRS pins Baud Rate 300 600 1200 2400 4800 9600 19200 Auto detect 38400 57600 115200 Re read BRS3 BRSg pins DOA C 65 Table 17 Programmable Baud Rates TS Pin Control nK TSg pin provides talk status information that can be used to activate a transmitter take a telephone off hook enable an audio power amplifier etc at the desired time The pin s mode and polarity can be configured as shown in Table 18 The programming of the 5 pin does not affect the Status Register TS flag in any way The default setting is 1K If the TSg pin is programmed Forced High or Forced Low it will remain in that state until changed otherwise This feature can be used to activate a transmitter for example before speech output has begun In the automatic mode the TSg pin is asserted as soon as output begins it will return to its false state when all output has ceased Note that because RC8660 commands work synchronously the TSo pin will not change state until all text and commands up to the TS Pin Control command have been spoken and or executed n TS Pin Mode Polarity 0 Automatic Active Low 1 Automatic Active High 2 Forced Low 3 Forced High Table 18 TS Pin Control 32 RC Systems now youre talking Protocol Options Register nG This command controls various inte
59. ed in check your local library Most libraries have dictionaries for other languages that include pronunciation guides 40 RC Systems now youre talking which make it easy to transcribe the pronunciation rules into excep tion form A good example of an exception dictionary for the Span ish language is included with RCStudio Language translation Exception dictionaries even allow text written in one language to be read by the RC8660 in yet another language as long as the vocabu lary is limited The following exceptions demonstrate how this can be done with three example Spanish English words GRANDE L J BIEN F AY USTED YY UW The sense of translation can also be reversed LARGE G RR A N D EI FINE B I EI N YOU U S T EI DH Play recordings from text The playback of any recording stored in recording memory can be triggered by text strings defined in the dictionary Say for example the words good and morning have been recorded and are ac cessed by indexes 3 and 7 respectively The following exceptions will cause the RC8660 to play good morning from the recording memory when the text good morning is received GOOD 013 amp MORNING 017 amp Because the recordings can be created from virtually any source it is easy to change the content gender language etc If the applica tion s vocabulary is limited and pre defined sort of pseudo TTS System can be created using th
60. ed on The RC86605 built in file system allows sound files whether downloaded or recorded through the ADC to be easily accessed Each sound file in memory is automatically assigned a unique file number or index beginning with zero The first file is file O the sec ond is file 1 and so on Referencing a sound file by its file number is one way to select the file to be operated on However if files are added and or deleted from memory frequently their file numbers can become difficult to keep track of All RC8660 sound files contain a unique 16 bit tag that can also be used to reference the file The tag is assigned to the sound file when it is created with the RCStudio software or in the case of recording through the ADC specified in the recording command Tags can range in value from 1 to 65534 A value of 0 is defined as a null tag and will be ignored The setting of the TAG bit in the Protocol Op tions Register determines whether the tag value or file number will be used when addressing a file in the recording memory The recording memory functions described in this section each return one or more result codes via the TXD pin These codes are summarized in Table 11 Play Sound File n amp This command plays the sound file specified by the parameter The setting of the TAG bit in the Protocol Options Register determines whether 7 represents the file number or tag value For example CTRL A 526 plays file numbe
61. empo and Krp is 1 65 535 1 FFFFh the larger the value the slower the overall speed of play The am plitude and tempo affect all three voices and stay in effect until another Initialize command is issued If the command is issued be tween Voice frames to change the volume or tempo on the fly only the Voice frames following the command will be affected Voice Frame Voice frames contain the duration and frequency pitch information for each voice All Voice frames are stored in an 8 KB buffer within the RC8660 but are not played until the Play command is issued If the number of Voice frames exceeds 8 KB in length the RC8660 will automatically begin playing the data Voice frame format Voice frames are composed of three frequency time constant bytes and a duration byte Kp which specifies how long the three voices are to be played Bye 0 1 2 3 Initialize command Play command Voice frame Quit command Figure 18 Musical Tone Generator Command Formats RC Systems now youre talking The relationship between the time constant K and the output fre quency is fi 16 768 K where f is in Hertz and 4 255 Setting to zero will silence voice during the frame Kp may be programmed to any value between 1 and 255 the larger it is made the longer the voices will play during the frame The task of finding Kj for a particular musical note is greatly sim
62. es for specific characters such as certain letters or numbers If the exception dictionary is to replace the built in rules entirely end the dictionary with the following exception This special exception causes unmatched characters to be ignored receive no sound rather than receive the pronunciation defined by the built in rules Effect on Punctuation Punctuation defined in the exception dictionary has priority over the Punctuation Filter command Any punctuation defined in the dictionary will be used regardless of the Punctuation Filter setting Note If the dollar sign character is defined within the text frag ment of any exception currency strings will not be read as dollars and cents Character Mode Exceptions Exceptions are defined independently for the Character and Text modes of operation The beginning of the Character mode excep tions is defined by inserting the letter c just before the first Character mode exception No exceptions prior to this marker will be used when the RC8660 is in Character mode nor will any exceptions past the marker be used in Text mode For example 39 RC Systems now youre talking Text mode exceptions optional used if built in rules are not to be used in no match situations Character mode exceptions marker Character mode exceptions optional used if built in rules are not to be used in no match situations Applications The following examples il
63. es to each word or character depending on the operating mode in use Exception dictionaries augment this process by defining exceptions for or even replacing these built in rules Exception dictionaries can be created and edited with a word pro cessor or text editor that stores documents as standard text ASCII files The dictionary must be compiled into the internal binary format used by the RC8660 before it can be used however The RC Studio software available from RC Systems includes a dictionary editor and compiler Exception Syntax Exceptions have the general form L F R P which means the text fragment F occurring with left context L and right context R gets the pronunciation P All three parts of the ex ception to the left of the equality sign must be satisfied before the text fragment will receive the pronunciation given by the right side of the exception The text fragment defines the input characters that are to be trans lated by the exception and may consist of any combination of letters numbers and symbols Empty null text fragments can be used to generate sound based on a particular input pattern without actually translating any of the input text The text fragment if any must always be contained within parentheses Characters to the left of the text fragment specify the left context what must come before the text fragment in the input string and characters to the right define the right context Both
64. file from recording memory The setting of the TAG bit in the Protocol Op tions Register determines whether represents a file number or tag Vote that all five m digits must be included in the command use leading zeroes if necessary For example the command CTRL A 234100054 will erase sound file 54 from recording memory During erasure the CTS pin will go High and one or more Erase In Prog messages will be transmitted on the TXD pin Completion is indicated by CTS going Low and the transmission of Erase Ok on the TXD pin Note that this process can be lengthy as the re cording memory is also automatically defragmented after the file has been deleted Download Sound File 236W This command initiates the download of an RC8660 sound file to the RC86605 recording memory After issuing the command simply transfer the sound file RCStudio can be used to create RC8660 compatible sound PCM files from standard Windows wave and MP3 files After the first 16 bytes of the sound file have been transferred the RC8660 verifies that there is sufficient space in its recording mem ory and that there is not already a file in memory with the same tag other than tag 0 Error will be transmitted if there are no errors and the RC8660 will load the rest of the file At the completion of the download No_Error will be transmitted again followed by the new file s 16 bit file number 26 RC Systems now youre talkin
65. g Upload Sound File 245L This command is used to upload a sound file or recording from the RC8660 s recording memory The command 245 retrieves sound from memory immediately upon receipt of the command the RC8660 will begin transmitting the file via the TXD pin The setting of the TAG bit in the Protocol Options Register determines whether m represents a file number or tag Note that all five m digits must be included in the command use leading zeroes if necessary For example the command CTRL A 245104236 will upload sound file 4236 from recording memory To suspend the transfer of the file pull the SUSPof pin Low or issue the Suspend CTRL P command To stop the transfer of the file issue the Stop CTRL X command The resulting file can be played with the Real Time Audio Playback command or downloaded to another RC8660 with the Download Sound File command Download Sound Library 223W This command is generally only found in sound libraries created with RC Studio It initiates the download of the sound library a col lection of sound files to the RC8660 The entire recording memory is automatically initialized as part of the download process If you have many sound files to download and maintain placing them in a sound library is preferrable to downloading each sound file indi vidually with the Download Sound File command RCStudio makes it easy to create manage and download sound libraries comp
66. gh 135 fastest The default rate is 5S Voice nO The text to speech synthesizer has 11 standard voices and a num ber of individual voice parameter controls that can be used to inde pendently vary the voice characteristics Voices are selected with the commands 00 through 100 shown in Table 8 Because the Voice command alters numerous internal voice parameters articulation pitch expression tone etc it should precede any individual voice parameter control commands Voice Name Perfect Paul default Vader Big Bob Precise Pete Ricochet Randy Biff Skip Robo Robert Goliath Alvin Gretchen OMAN DA KR c Table 8 Voice Presets RC Systems now youre talking Articulation nA This command adjusts the articulation level from OA through 9A Excessively low articulation values tend to make the voice sound slurred very high values on the other hand can make the voice sound choppy The default articulation is 5A Expression E nE Expression or intonation is the variation of pitch within a sentence or phrase When expression is enabled gt 0 the RC8660 at tempts to mimic the pitch patterns of human speech For example when a sentence ends with a period the pitch drops at the end of the sentence a question mark will cause the pitch to rise The optional parameter n determines the degree of intonation OE provides no intonation monotone whereas 9E is very an
67. gorithms within the DoubleTalk engine analyze input text a char acter at a time from left to right A list of pronunciation rules is searched sequentially for each character until a rule is found that matches the character in the correct position and context The algo rithm then passes over the input character s bracketed in the rule the text fragment and assigns the pronunciation given by the right side of the rule to them This process continues until all of the input text has been converted to phonetic sounds The following example illustrates how the algorithm works by trans lating the word receive The algorithm begins with the letter r and searches the R pronun ciation rules for a match The first rule that matches is RE R IX because the in receive is an initial and is followed by an e consonant c and a vowel e Consequently the text fragment re receives the pronunciation R and the scan moves past reto the next character receive E is not the next scan character because it occurred inside the parentheses with the r the text fragment re as a whole receives the pronunciation R IX The first match among the C rules is C S because c is followed by an e i or y Cthus receives the pronunciation s and processing continues with the second e receive EI 1Y is the first rule to match the second e so receives the sound Processing resumes at the character receive which matches the default
68. haracters Spaces controls line breaks etc A digit 0 9 One or more digits commas are ignored Wildcard matches any character Table 23 Context Tokens of speech tones and sound effects can be triggered from any input text pattern If no pronunciation is given no sound will be given to the text fragment the text fragment will be silent A dictionary file may also contain comments but they must be on lines by themselves i e they cannot be on the same line as ex ception Comment lines must begin with a semicolon character so the compiler will know to skip over them An example of an exception is 0 N AA which states that after and before gets the pronunciation the o sound in cot For example the o in conference economy and icon would be pronounced according to this exception Another example is SR H which states that h after initial r is silent as in the word rhyme the context token represents any non alphabetic character such as a space between words see Table 23 Punctuation numbers and most other characters can be redefined with exceptions as well 5 S INGKO EH IX ER Spanish five Basic function 38 RC Systems now youre talking The Translation Algorithm In order to better understand how an exception dictionary works it is helpful to understand how the DoubleTalk text to speech engine processes text Al
69. he status messages are provided for in formational purposes only Enable Exception Dictionary U The exception dictionary is enabled with this command If the RC8660 is in Phoneme mode or if an exception dictionary has not been loaded the command will have no effect The exception dic tionary can be disabled by issuing one of the mode commands D T or C The dictionary is disabled by default Download Greeting Message 255W Anytime the RC8660 is reset an optional user defined greeting message is automatically played The message may consist of any text command sequence up to 234 characters in length Modal commands can be included such as tone generator and audio playback commands refer to Table 22 for a list of the commands that can be used in greeting messages For example CTRL A 3S CTRL A 20 ready programs the RC8660 to use voice speed 3 Big Bob s voice and say ready whenever the RC8660 is reset RC Systems RCStudio software can create and download greet ing messages for you To download a greeting message created with ACStudio simply download the file to the RC8660 All of the RC8660 commands required to initiate and terminate the download are embedded within the greeting file greatly simplifying the down loading process voice synthesizer Baud Rate nH The serial baud rate can be programmed to the rates listed in Table 17 If included as part of the greeting message th
70. ications Updated description of SUSP pins in Table 1 to include Upload Sound File activity RC8660 Commands Firmware v3 32 Updated Upload Sound File command description The Suspend command and SUSPo can now be used to suspend a file s transfer The resulting file now includes a header which allows the file to be downloaded to another RC8660 with the Download Sound File command or played with the Real Time Audio Playback command Updated Making a Recording section The RC8660 now transmits the recordings file number after the recording is completed REVISION 05 MARCH 18 2009 Updated recording and real time audio playback sections Recording amp Playback Added Repair Recording Memory command Updated Table 11 to include new memory status codes Updated Real Time Audio Playback section Miscellaneous Functions Added error codes to Free recording memory in Table 21 Inter rogate command REVISION 06 MAY 22 2009 Rearranged several sections and updated TOC 53 Specifications written in this publication are believed to be accurate but are not guaranteed to be entirely free of error RC Systems reserves the right to make changes in the devices or the device specifications described in this publication without notice RC Systems advises its customers to obtain the latest version of device specifications to verify before placing orders that the information being relied upon by the customer is current In
71. imated sounding 5E is the default setting If the parameter is omitted the current last set value will be used This is useful for re enabling intonation after a Monotone command Monotone M This command disables all intonation expression causing the RC8660 to speak with a monotonic voice Intonation should be dis abled whenever manual intonation is applied using the Pitch com mand or phoneme attribute modifiers This command is equivalent to the OE command Formant Frequency nF This command adjusts the synthesizer s overall frequency response vocal tract formant frequencies over the range OF through 99F By varying the frequency voice quality can be fine tuned or voice type changed The default frequency is 50F Pitch nP This command varies the pitch over a wide range which can be used to change the average pitch during speech production produce manual intonation or create sound effects including singing Pitch values can range from OP through 99P the default is 50P Tone nX The synthesizer supports three tone settings bass 0X normal 1X and treble 2X which work much like the bass and treble controls on a stereo The best setting to use depends on the speaker being used and personal preference Normal 1X is the default setting Reverb nR This command is used to add reverberation to the voice OR the de fault introduces no reverb increasing values of correspondingly increase the reverb
72. ing requirements both durations can be extended to 500 ms by setting the DDUR bit of the Protocol Options Register The DTMF generator is activated with the command 1 where an ASCII number between 0 and 16 The mapping of the command parameter n to the buttons on a standard telephone is shown in Table 14 The pause tone can be used to generate longer inter digit delays in phone number strings or to create precise silent periods in the RC86605 output The generator s output level can be adjusted with the Volume command nV commands may be intermixed with text and other commands without restriction 30 RC Systems now youre talking n Button 0 0 9 10 11 12 13 14 15 D 16 pause Table 14 DTMF Dialer Button Map RC8660 CONTROL Volume nV This is a global command that controls the RC8660 s output volume level OV yields the lowest possible volume maximum volume is attained at 9V The default volume is 5V The Volume command can be used to set a new listening level create emphasis in speech or change the output level of the tone generators Timeout Delay nY The RC8660 defers translating the contents of its input buffer until a CR or NUL is received This ensures that text is spoken smoothly from word to word and that the proper intonation is given to the beginnings and endings of sentences If text is sent to the RC8660 without a CR or NUL it will remain untranslated in
73. ins allows the input voltage to all four A D converter input pins to be amplified with one operational amplifier Leave these pins uncon AMPOUT INPUT nected if not used RXD INPUT RECEIVE DATA Asynchronous serial data input used to send text data and commands to the RC8660 Connect this pin to a High level if not used TXD OUTPUT TRANSMIT DATA Asynchronous serial data output used to read information out of the RC8660 This changes from a CMOS output to an N channel open drain output if any of the SEL pins are High allowing multiple TXD pins to be wire OR d together in a multi channel system CTS OUTPUT CLEAR TO SEND The CTS pin is Low when the RC8660 is able to accept data If the input buffer becomes full as a result of the last byte received CTS will go High and remain High until room becomes available BRD INPUT BAUD RATE DETECT BRD is used by the RC8660 to sample the host s serial data stream in order to determine its baud rate BRD is normally connected to the RXD pin The BRSg BRS3 pins affect the operation of BRD Connect this pin to a High level if not used 50 INPUT BAUD RATE SELECT Programs the asynchronous serial port s baud rate Both the RXD and TXD pins are pro BRS3 grammed to the baud rate set by these pins Connecting BRSg BRS3 to a High level will allow the RC8660 to automatically detect the baud rate with the BRD pin Connect these pins to a High level if not used STBY INPUT STANDBY A Low imme
74. is method concatenating words as required to make complete sentences Message macros Certain applications may not be able to send text strings to the RC8660 An example of such an application is one that is only able to output a four bit control word and strobe Sixteen unique output combinations are possible but this is scarcely enough to represent the entire ASCII character set You can however assign an entire spoken phrase to a single ASCII character with the exception dictionary By driving four of the data bus lines of the bus interface see Figure 6 and hardwiring the re maining four to the appropriate logic levels virtually any set of 16 ASCII characters can be generated which in turn can be interpreted by the exception dictionary For example by connecting the four control bits to DBg through DB3 and DBs to DBg and DB to ground and the strobe to WR ASCII codes 30h through 3Fh corresponding to the digits 0 through 9 and the six ASCII characters following them can voice synthesizer be generated by the four control bits Message strings would then be assigned to each of these ASCII characters For example the character 0 corresponding to all four control bits 0 would say please insert quarter with the following dictionary entry 0 L IY 2 5 K W OW R T ER The Timeout timer should also be activated 1Y for example in order for the me
75. lustrate some ways in which the exception dictionary can be used Correcting mispronounced words Correcting mispronounced words is the most common application for exception dictionaries S EAR CH ER OK 5 0 EY The first exception corrects the pronunciation of all words contain ing search search searched research etc As this exception il lustrates it is only necessary to define the problem word in its root form and only the part of the word that is mispronounced ear in this case The second exception corrects the word ok but because of the left and right contexts will not cause other words joke look etc to be incorrectly translated No cussing please The reading of specific characters or words can be suppressed by writing exceptions in which an alternate pronunciation is given 2 22 9 2 2 0151 0130310000000 The first example simply says nothing when the defined word is encountered A short 1 kHz tone is played in place of the word in the second example and the application is notified by transmitting 05h on the TXD pin Exceptions such as these may be duplicated for any number of words When zero isn t really zero When reading addresses or lists of numbers the word oh is often substituted for the digit 0 For example we might say 1020 North Eastlake as one oh two oh North Eastlake The digit O can be re defined in this manner with the following exception 0 OW Acronyms and abbreviati
76. n strap ping sets the baud rate according to the logic levels present on the 50 5 pins as shown in Table 2 Auto detect enables the se rial port to automatically detect the baud rate of the incoming data RC8660 vec MICRO BRSO 57 BRS1 BRS2 3 10K RXD e TXD TXD RXD CTS D O CTS CTS INSTALL FOR OPTIONAL RXD PROGRAMMING PORT TXD obd0 Figure 2 Serial Interface voice synthesizer BRS BRS BRS4 BRS p Baud Rate L L L L 300 L L L 600 L L H L 1200 L L H H 2400 L H L L 4800 L H L H 9600 L H H L 19200 L H H H Auto detect H L L L 38400 H L L H 57600 H L H L 115200 All other settings Auto detect Table 2 Baud Rate Options The baud rate command allows the baud rate to be changed at any time effectively overriding the first two methods The automatic baud rate detection mechanism is enabled when the BRSg BRS3 pins are all at a High logic level and the BRD pin is connected to the RXD pin The baud rate is determined by the short est High or Low period detected in the input stream This period is assumed to be the bit rate of the incoming data therefore it is important that there be at least one isolated 1 or 0 in the input character The CR character ODh is recommended for locking the baud rate The character is
77. ng Sinusoidal tone 0 4400 Hz frequency range 10 ms 600 sec 0 2746 Hz frequency range 23 ms 16 5 sec generator duration range simplified command syntax duration range Suspend Resume SUSPo pin or by Suspend Resume commands SUSPof pin only Data File Greeting messages Compatible with RC8650 greeting files mg Dictionaries Compatible with RC8650 dictionary files Sound libraries Compatible with RC8650 and RC8660 library Compatible with RC8650 library files only indi files but internal RC8660 file system is compat vidual sound file changes can be done only by ible only with RC8660 libraries downloading the new library file in its entirety Sound files Can play both RC8650 and RC8660 sound files Compatible with RC8650 sound files only in real time playback mode but POR 4 must be set to 0 to play RC8650 ADPCM encoded files Internal RC8660 file system is compatible only with RC8660 sound files t In RC8650 Compatibility mode POR 4 0 the RC8660 uses the RC8650 command ranges and defaults 51 RC Systems now youre talking voice synthesizer B Restore The RC8660 has special Restore mode which supports the following functions Restoration of the internal system software firmware Clearing the exception dictionary and greeting message Quick verification of the RC86605 operation How to enter Restore mode To enter Restore mode
78. not otherwise processed by the RC8660 it is discarded If the measured bit period is determined to be a valid baud rate the RC8660 will acknowledge lock acquisition by transmitting the ASCII character I 6 on the TXD pin Note that nothing will be transmitted if the baud rate has been programmed for a fixed rate The baud rate will remain locked unless changed with the baud rate command or the RC8660 is reset Note The measurement cycle ends when there have been no High to Low nor Low to High transitions on the BRD pin for 75 ms or longer Consequently the RC8660 will ignore any data sent to it for a period of 75 ms after the lock on character has been received The CTS pin is driven High during this time and the acknowledg ment character is not transmitted until the RC8660 is actually ready to accept data See Figure 3 Start bit Baud rate validation 75 ms 77 TXD 6Ch Figure 3 Baud Rate Detection Timing RC Systems now youre talking Status messages Real time status information is provided via the TXD pin Status are transmitted as one byte messages shown in Table 3 Each message correlates to a status flag in the Status Register shown in Table 5 The specific character used and whether it will be transmitted are functions of the V86 and STM bits in the Protocol Options Register For information about how to obtain reading progress status see the Index Marker command
79. o the AO traces The circuit shown in Figure 8 is a low pass filter power amplifier capable of delivering 1 1 W to an 8 Q load when operating from a 5 V power supply power output will be less when operating from 3 3 V The amplifiers shutdown can be controlled by the TSg pin to minimize current drain when the RC8660 is inactive See Typ ical Application Circuit fora similar circuit without a volume control Digital Audio Output The digital audio pin DAOUT delivers the 86605 audio signal as a digital audio stream The data format is 8 bit linear offset binary where 80h midscale The DAOUT pin can be programmed for syn chronous or asynchronous operation The transfer format and clock polarity are programmable in the synchronous mode The normalized sampling rate for all text to speech modes sinu soidal generator and DTMF generator is 80 kbs 10 kbytes sec Because the prerecorded and real time audio playback mode rates are user programmable their normalized rates will vary See the Pin Descriptions and Audio Control Register command description for more information R2 100K C1 0 1UF 150 R1 22K 33K 0 4 e 6 LM4876 5 80 VOLUME 21 22NF 21 5 6NF CONTROL 10K 5 7 1 1UF 150 PROGRAM TSO 1 4 5 FOR ACTIVE HIGH Figure 8 Low Cost 3 kHz Low Pass Filter Power Amplifier RC Sys
80. ons Acronyms and abbreviations can be defined so the words they rep resent will be spoken 5 IH AH AA T S DR D ER EH L AX IH ZH IX voice synthesizer String parsing amp decryption Sometimes the data that we would like to have read is not available in a ready to read format For example the output of a GPS re ceiver may look something like this GPGGA 123456 2015 2607 N The first 14 characters of the string consists of a fixed header and variable time data which we would like to discard The following exception ensures that the header will not be read SGPGGA o Note how wildcard tokens are used for handling the time data 8 13 characters since the content of this field is variable The 15 16 20 and 17 18 15 characters represent the latitudinal coordinate in degrees and minutes respectively The three exceptions shown below handle the latitudinal component of the GPS string Note in the first exception how a null text fragment is used in the appropriate position to generate the word degrees without actually translating any of the input characters IX GR IY Z3 M IHN IN T S N N OW TH L AE T IH T D The four exceptions together will translate the example string as 20 degrees 15 minutes north latitude Additional exceptions for handling the seconds component and digits themselves
81. or head phones approximately 3 seconds 2 Set STBY High you should hear the firmware version read through the speaker or headphones The dictionary and greeting message are now cleared from memory Verifying the RC8660 s operation This procedure does not alter the RC8660 in any way it simply al lows you to determine if the RC8660 and audio amplifier circuitry are working If everything is functioning properly you should hear the RC8660 firmware version read from the speaker or headphones 1 While in Restore mode set the STBY pin Low momentarily then High again Do not hold it Low too long or the dictionary and greeting message will be cleared from memory 1 Prior to version 3 30 of the RC8660 firmware Restore mode functioned quite differently The firmware restoration process is the same but that s where the similarity ends To clear the dictionary and greeting message make sure that the RC8660 is in Idle mode then drive the STBY pin Low for less than 250 ms The dictionary and greeting message will be immediately cleared and the RC8660 will announce the firmware version The firmware version can also be read programmatically with the Chipset ID 62 command 52 RC Systems now youre talking voice synthesizer APPENDIX REVISION History REVISION 01 MARCH 23 2006 Updated to reflect new 33 minute part offering and newly defined IC 33 pin New functionality commands added Specifica
82. ording is terminated prematurely due to power loss during recording for example the recording memory can become cor rupt and only partially usable If this should occur the RC8660 will respond with the Corrupt message when recording memory operations are attempted This command repairs the memory so that memory operations will work normally again without resorting to re initializing the memory which of course would result in the loss of any and all recordings During the repair process the CTS pin goes High and one or more Repair Prog messages are transmitted via the TXD pin Completion is indicated by CTS going Low and the transmission of No Error from the TXD pin This process can take a significant amount of time depending on the size of the recording memory and number of recordings present Real Time Audio Playback n n This mode allows audio samples to be written to the RC8660 s digital to analog converter via the serial and parallel ports data sent to the RC8660 is routed directly to the RC86605 internal 2 KB audio buffer the RC8660 then transfers samples from the buffer to the DAC at the rate programmed by n Because the audio data is buffered within the RC8660 the output sampling rate is independent of the data rate into the RC8660 Note that because of the relatively high rate at which samples are pulled from the buffer the 86605 baud rate must be set to 115200 baud in order to prevent the audio b
83. ory 16 samples will be written Table 10 ADC Control Register 24 RC Systems 3 RC8660 now youre talking voice synthesizer 4 1 MUX TOADC CIRCUIT AMPOUT gt o o AMP 1 Figure 16 ADC Input Block Diagram TRG SWP CONT INH 0 CONT CH 1 CH CHo 0 0 CONT 0 x X X X X X X X X x w PAA Pee PsC oc A A A A A A ADTRG TRG CH 1 1l CONT INH 0 ju CONT 1 0 Eus Tey ey Ana nce ADTRG Figure 17 ADC Transfer Timing 25 RC Systems now youre talking RECORDING amp PLAYBACK The RC8660 includes built in support for downloading uploading playing and erasing sound files through the serial interface The number of sound files is limited only by the amount of available on chip recording memory With the addition of a microphone and preamplifier recordings can also be made directly to the record ing memory through the RC8660 s A D converter inputs It is also possible to utilize the recording memory for general purpose non volatile data storage visit www rcsys com for more information Additionally the RC8660 can play back 8 bit audio in real time such as speech and or sound effects stored in an external memory or file system Recording Memory File System All file functions play download upload and erase require a means of specifying the file to be operat
84. ory will be reported as 1 if an RC8650 library is present 2 if the memory is corrupt This number is the number of empty 256 byte blocks there can be up to 255 additional bytes available Table 21 Interrogate Command voice synthesizer 36 RC Systems now youre talking voice synthesizer COMMAND SUMMARY Command Function Greet amp Dict RT Execution nRange n Default nA Articulation 0 9 5 nB Punctuation Filter Register 0 15 6 C nC Character mode 0 31 0 D Phoneme mode E nE Expression 0 9 5 nF Formant frequency 0 99 50 Protocol Options Register 0 255 144 nH Baud rate 0 11 BRS pins n Index marker 0 255 al Musical tone generators nJaaaabbbb Sinusoidal tone generators 1 59999 TS control 0 3 1 Record 0 227 234Lmmmmm Erase sound file 234 2451 Upload sound file 245 Monotone e Audio Control Register 0 255 0 no Voice 0 10 0 Pitch 0 99 50 nQ Sleep timer 0 31 0 nR Reverb 0 9 0 ns Speed 0 13 5 mode delay 0 15 0 U Enable exception dictionary TN Volume 0 9 5 214W Initialize recording memory 214 218W Repair recording memory 218 223W Download sound library 223 236W Download sound file 236 247W Download exception dictionary 247 255W Download greeting message 255 nX Tone 0 2 1 nY Timeout delay
85. osed of standard Windows wave and files See RCStudios help for additional information regarding sound libraries Initialize Recording Memory 214W This command formats the RC86605 recording memory so that it can be used for storing sound files This must be done before the initial use of the recording memory unless a sound library has been previously downloaded which also initializes the recording memory The command can also be used as an erase all files function if desired During the initialization process the 5 pin will go High and one or more Erase Prog messages will be transmitted from the TXD pin Completion is indicated by 5 going Low and the transmis sion of Erase Ok from the TXD pin Note that this process can take some time depending on the size of the recording memory Making a Recording Recording to the RC8660 requires setting up the A D converter for the desired recording mode and issuing the Record command To begin recording 1 Program the ADC for the desired input channel CH SWP TRG 0 and INH 1 To record continuously such as a voice message program CONT 1 To record only 16 samples of the input channel data logging mode program CONT 0 N Issue the Record command nLmmmmm N programs the de sired sampling rate fs where n 155 617 1 and 4 lt fs lt 11 kHz 0 x n x 99 To enable ADPCM compression which re duces memory storage requirements by a factor of 2
86. ow 150 100 ns DACLK pulse width High 150 100 ns DAOUT output delay time 160 80 ns DAOUT hold time 0 0 ns fs Nom TTS sinusoidal and DTMF generators internal sampling rate 10 10 10 10 kHz DACLK DAOUT Figure 13 Digital Audio Waveforms RC Systems RC8660 now youre talking voice synthesizer Standby Timing 3 3V x 0 3V 5Vx0 5V Symbol Parameter Unit Min Max Min Max STBY pulse width Low To enter Standby mode 5 5 ms To exit Standby mode Sleep Timer invoked Note 1 380 250 ns 1 Monitor handshake lines to determine when Standby mode has terminated twee gt STBY Figure 14 Standby Waveform Reset Timing Symbol Parameter Min Max Unit Notes Hold RESET Low during power up STBY After power on Vcc stable 1 m must be High no later than 0 5 sec after During operation 3 us RESET goes High RC8660 performs internal initialization all outputs tpRR RESET recovery delay 2 ms will be floating Do not attempt to send data to the RC8660 during this period twrs RESET gt Figure 15 Reset Waveform RC Systems now youre talking OPERATING MODES The RC8660 has five primary operating modes and two inactive modes designed to achieve maximum functionality and flexibili
87. petitively ADC data can be read via the TXD pin or stored in the 86605 recording memory With the appropriate signal conditioning the ADC can be used for audio recording to the recording memory RCS6GOQ voice synthesizer Versatile I O All data is sent to the RC8660 through its built in serial and or parallel ports For maximum flexibility including infield update capability use of the serial port is recommended whenever possible The RC8660 s audio output is available in both analog and digital formats The analog output should be used in applications where no further processing of the audio signal is required such as driv ing a speaker or headphones the output still needs to be filtered and amplified however The digital output is for applications that require further processing of the audio signal such as digital mixing or creating sound files for later playback RECOMMENDED CONNECTIONS Power Ground Power and ground connections are made to multiple pins of the RC8660 and RC46xx chips Every Vcc pin must be connected to power and every Ves pin must be connected to ground To minimize noise the analog and digital circuits in the RC8660 use separate power busses These busses are brought out to separate pins and should be tied to the supply as close as possible Make sure adequate decoupling is placed on the AVggr pin as noise present on this pin will also appear on the AO output pins and affect A D converter accurac
88. phonetics translator allowing the 86605 phonemes to be accessed directly Table 6 lists the phonemes that can be produced by the RC8660 When concatenating two or more phonemes each phoneme must be delimited by a space For example the word computer would be represented phonetically as k ax m p yy uw dx er Phoneme attribute modifiers The RC8660 supports seven phoneme attribute modifiers that can be used in Phoneme mode and exception dictionaries Table 7 lists these tokens and their equivalent RC8660 commands Applications of Phoneme mode Phoneme mode is useful when the normal text to speech modes are inappropriate for producing the desired voice effect For example Phoneme mode should be used to change the stress or emphasis of specific words in a phrase This is because Phoneme mode allows voice attributes to be modified on phoneme boundaries within each word whereas Text mode allows changes only at word boundaries This is illustrated in the following examples 21 RC Systems now youre talking CTRL A d m h aw d gt eh lt uw S p k t uw m iy dh ae t Nw ey Note that Expression is disabled in this example since the pitch variations due to the internal intonation algorithms would otherwise interfere with the pitch tokens Compare this with the same phrase produced in Text mode with Expression enabled CTRL A t e How dare you speak to me that way
89. r 52 actually the 53rd file if TAG 0 or the file whose tag value equals 52 if TAG 1 The playback volume can be adjusted with the Volume 7V com mand A volume setting of 5 will cause sound files to be played back at their original volume level Text and or commands may be freely intermixed with the playback command For example CTRL A CTRL A 11 Hello 3V CTRL A CTRL A 3V 2 CTRL A plays the Touch Tone 7 key and says hello at the current volume setting followed by the fourth sound file at a reduced volume level voice synthesizer Message Code Meaning No_Error 0 No error Invid_Cmd_Err 1 Invalid command error Com_Err 2 Communications error TmOut_Err 3 Comm timeout error gt 10 sec Erase_In_Prog 4 Memory erase in progress Corrupt_Err 5 Memory corrupt error Erase_Ok 6 Memory erased no errors Write_Err 7 Memory write error Out_Mem_Err 8 Out of memory CkSum_Err 9 Data checksum error Repair_In_Prog 10 Memory repair in progress reserved 11 Reserved Incompat_Err 12 Incompatible sound library in memory Dup_Tag_Err 13 Duplicate tag in memory Not_Found_Err 14 File not found in memory Rec_In_Prog 15 Recording in progress Table 11 Recording Memory Result Codes and finally the tenth sound file at the original volume level it is as sumed that TAG 0 in this example Erase Sound File 234L The command 234Lmmmmm deletes sound
90. re 19 reads tone generator data from a list of DATA statements and PRINTs each value to the RC8660 The astute reader may have noticed some non standard note durations in the DATA statements cf Table 13 such as the first two Voice frames in line 260 According to the original music some voice synthesizer voices were not to be played as long as the others during the beat The F C F notes in the first frame are held for 46 counts while the low F and C in the second frame are held for two additional counts Adding the duration first and fifth bytes together the low F and C do indeed add up to 48 counts 46 2 which is the standard dura tion of a quarter note 00 OPEN COM1 9600 N 8 1 BIN FOR OUTPUT AS 1 10 PRINT 1 ensure serial port baud rate is locked 20 PRINT 1 CHR 1 J activate tone generator 30 READ BO B1 B2 B3 read a frame 4 bytes 40 PRINT 1 CHR 5 1 CHRS B2 CHR 50 IF BO Bl B2 gt 0 THEN 130 loop until Quit 60 CLOSE 1 70 END 80 1 90 200 Data Tables 210 220 Init volume 255 tempo 86 230 DATA 0 255 86 0 240 250 Voice data 260 DATA 46 48 64 192 2 0 64 192 48 48 0 0 48 40 0 0 48 36 0 0 270 DATA 94 24 34 0 2 24 0 0 24 0 36 0 24 0 40 0 48 0 48 0 280 DATA 48 40 0 192 46 36 0 0 2 0 0 0 48 36 0 0 48 24 34 0 290 DATA 46 24 34 0 2 0 34 0 46 24 34 0 2 24 0 0 24 0 36 0 300 DATA 24 0 40 0
91. rmation that is used during factory testing Eight bytes are transmitted via the TXD pin The only information that may be of relevance to an application is the internal microcode revision number which is conveyed in the last two bytes in packed BCD format For example 41h 02h is returned if the version number is 2 41 35 RC Systems now youre talking Interrogate 12 This command retrieves the current operating settings of the RC8660 Table 21 lists the parameters in the order they are transmit ted from the TXD pin the command s that control each parameter and each parameters range The parameters are organized as a byte array of one byte per parameter with the exception of the last two parameters which are 16 bits each low byte first memory 16 bits Parameter Cmd Range Mode C D T 0 1 Phon 2 Text PFR register nB 0 15 Formant freq nF 0 99 Pitch 0 99 Speed nS 0 13 Volume TN 0 9 Tone nX 0 2 Expression nE 0 9 Dict loaded 247W 0 loaded 1 loaded Dict status C T U O disabled 1 enabled Input buffer capacity x256 bytes Articulation nA 0 9 Reverb nR 0 9 TS pin control 0 3 POR register na 0 255 ACR register 0 255 Rec memory capacity x64K bytes Sleep delay 0 31 Timeout delay nY 0 15 Char mode delay nC 0 31 Text mode delay 0 15 Voice n0 0 10 ADR register ng 0 255 e memory _ x256 bytes of files in recording A 0 65535 Free recording mem
92. rnal RC8660 operating param eters See Table 19 for the definition of each register bit The default register setting is 144G voice synthesizer Bit POR 7 V86 programs the RC8660 to emulate RC Systems original V8600 voice synthesizer module When this bit is set to 0 the TTS parameters and ranges are adjusted to match that of the V8600 The serial port status messages See Table 3 are also af fected by the setting of this bit V86 SAT DDUR R50 TAG RTC R STM 7 6 4 3 2 1 0 Protocol Options Register Bit Description POR 7 V8600 COMPATIBILITY V86 1 Compatibility disabled 0 Compatibility enabled Emulates RC Systems V8600 voice synthesizer module when set to 0 Overall voice speed range and serial port status responses are adjusted to that of the V8600 Default 1 in the V8600A module this bit defaults to 0 POR 6 SATURATE SAT 1 Parameters saturate 0 Parameters wrap Determines whether command parameters wrap or saturate when their range has been ex ceeded Default 0 POR 5 DURATION DDUR 1 500 ms 0 2 100 ms Determines DTMF Touch Tone generator burst duration When set to 1 tone bursts are 500 ms long when 0 100 ms Default 0 POR 4 RC8650 COMPATIBILITY R50 1 Compatibility disabled 0 Compatibility enabled Emulates RC Systems RC8650 chipset when set to 0 The RC8660 s command set is
93. s 3 HC86560 now youre talking voice synthesizer Bus Interface Timing 3 3V x 0 3V 5V 0 5V Symbol Parameter Unit Min Max Min Max twsL STS pulse width Low 215 250 ns STS Low to data valid 155 150 ns Data hold from STS going High 5 5 ns twRL PRD pulse width Low 215 250 ns Data setup to PRD going High 85 40 ns tpHRH Data hold from PRD going High 0 0 ns twwL PWR pulse width Low 380 250 ns tpvwy Data setup to PWR going High 2 2 us Data hold from PWR going High 15 15 us RDY High from PWR going High Note 1 15 15 us RDY pulse width High Note 1 8 8 HS 1 Applies to the RDY pin and RDY status flag STS twRL PRD twwL PWR lt gt Note 1 RDY lt Note 1 lt tpHWH gt tpvsL gt lt PIOo Sm and apply to both the RDY pin and RDY status flag Figure 11 Bus Interface Waveforms RC Systems now youre talking Analog Audio Timing voice synthesizer A0 AS e 100 us nom Juli Audio suspended x Audio resumed P d SUSP Figure 12 Analog Audio Waveforms Digital Audio Timing 3 3V x 0 3V 5Vx0 5V Parameter Unit Min Max Min Max DACLK cycle time 300 200 ns DACLK pulse width L
94. se ports For maximum flexibility use of the serial port is recommended because not all RC8660 functions are supported through the bus interface n particular index markers firmware updates certain status information and A D conversion are only supported through the serial interface Serial Interface The RC86605 serial port is asynchronous and operates with 8 data bits LSB first 1 or more stop bits no parity and any standard baud rate between 300 and 115200 bps Most modern microcontrollers have at least one UART that can be used to connect to the RC8660 A typical microcontroller interface circuit is shown in Figure 2 The circuit includes an external programming port which allows the RC8660 to be programmed in circuit Data files and firmware updates can be downloaded from a PC to the RC8660 through this port Note that an external RS 232 transceiver chip will generally be required in order to convert the PC s RS 232 voltage levels to the RC86605 logic levels The CTS pin should be used to control the flow of serial data to the RC8660 It is not necessary to check CTS before transmitting every byte however data is routed through a high speed 16 byte buffer within the RC8660 before being stored in the primary buffer CTS may be checked every eight bytes with no risk of data loss Baud rate selection The serial port s baud rate can be programmed using any of three methods pin strapping auto detect and by command Pi
95. ssage to be executed Otherwise the RC8660 will wait indefinitely for a CR NUL character that will never come The timer command can be included in the greeting message so that it will be automatically executed after reset Tips Make sure that your exceptions aren t so broad in nature that they do more harm than good Exceptions intended to fix broad classes of words such as word endings are particularly notorious for ruining otherwise correctly pronounced words Take care in how your exceptions are organized Remember an exception s position relative to others is just as important as the content of the exception itself Additional information and examples are included with RCStudio and RCStudios online help If things don t work as expected On rare occasions an exception may not work as expected This can occur when the built in pronunciation rules get control before the exception does The following example illustrates how this can happen Suppose an exception redefined the o in the word process to have the long oh sound the way it is pronounced in many parts of Canada Since the word is otherwise pronounced correctly the exception redefines only the o PR O CESS 0W But to our dismay the RC8660 simply refuses to take on the new Canadian accent It so happens that the RC8660 has a built in rule which looks some thing like this S PRO P R AA This rule translates a group of three characters instead of onl
96. subsequent commands causing it to read commands as they are encountered useful in debugging Any pending commands in the input buffer will still be honored The only way to restore command recognition after the Zap command has been issued is to write 1Eh to the RC8660 or perform a hardware reset Index Marker nl Index markers are nonspeaking bookmarks that can be used to keep track of where the RC8660 is reading within a passage of text The parameter n is any number between 0 and 255 thus up to 256 unique markers may be active at any given time When the RC8660 has spoken the text up to a marker it transmits the marker number to the host via the TXD pin Note that this value is a binary number between 0 and 255 not a literal ASCII number string as was used in the command to place the marker This allows the marker to be transmitted as a one byte value There is no limitation to how many index markers can be used in a text string The frequency depends on the resolution required by the application In Text mode for example one marker per sentence or one marker per word would normally be used In Phoneme mode markers can be placed before each phoneme to monitor phoneme production which is useful for synchronizing an animated mouth with the voice Markers may also be placed with tone generation and recorded audio playback commands if desired Chipset Identification 6 This command returns RC8660 system info
97. tems now youre talking voice synthesizer ELECTRICAL SPECIFICATIONS vec mA j 3010 C401UF jf vss vec z vss a vss vec vec vss 64 vss vec 47 vec 96 AVSS vec vec amp ANO AVCC ar AVREF AD ga AN2 R3 R5 R6 CONVERTER 2 100K 5 gt 100 gt 100 gt 100K 1 19 13 AMPOUT IC33 IC33 100 ADTRG C32 2 C32 a 2 1631 BRSO IC30 IC30 BRS1 29 29 BRS2 IC28 47 1028 vec 7 BRS3 27 IC27 z BRD 25 126 43 IC25 417 1925 SERIAL UF 1 35 IC24 355 1023 1023 37 H Fe 22 7 2 eat Busur 20 79 53 1020 20 518 LE 2 1819 9 pwr 2108 UNUSED INPUT PINS 32 Ic 1 TO APPROPRIATE DAIN 1 16 65 19 1016 LOGIC LEVEL DIGITAL DAOUT LS qw 015 AUDIO 4 DARTS cis Le 54 1 2 AO0 ANALOG id n 56 3 OUTPUTS amp 5 2 7 CONTROL 6 54 1 gi 5 215 SUSP1 IC5 165 22 asi 5 92 103 103
98. the command character The command character can be changed to another control charac ter 01 1Ah by sending the current command character followed by the new character To change the command character to CTRL D for example send CTRL A CTRL D change it back send CTRL D CTRL A It s recommended to change the command character if the text to be read contains characters which may otherwise be inter preted as command characters and hence commands The com mand character can be unconditionally reset to CTRL A by sending CTRL 1Eh to the RC8660 Command Parameters Command parameters are composed of ASCII number strings The RC8660 supports two types of parameters absolute and relative Absolute parameters explicitly specify a parameters new value such as 95 or 3B Relative parameters specify a displacement from a parameter s current value not the actual new value itself 20 RC Systems now youre talking Relative parameters specify positive or negative displacements from a parameters current value For example the Volume command 2V increases the volume level by two 2 gt If the current volume is 4 the volume will increase to 6 after the command has executed The command 2V will have a similar effect except the volume will be decreased by two When operating on an RC8660 register Punctuation Filter Protocol Options Audio Control and ADC Control relative parameters allow you to set and clear
99. the input buffer indefinitely The RC8660 contains a programmable timer that is able to force the RC8660 to translate its buffer contents after a preset time interval The timer is enabled only if the Timeout Delay parameter n is non zero the RC8660 is not active not talking and the input buffer con tains no CR or NUL characters Any characters sent to the RC8660 before timeout will automatically restart the timer n Delay 0 Indefinite wait for CR NUL 1 200 milliseconds 2 400 milliseconds 15 3000 milliseconds 3 sec Table 15 Timeout Delays voice synthesizer The Timeout parameter 7 specifies the number of 200 millisecond periods in the delay time which can range from 200 milliseconds to 3 seconds The default value is OY which disables the timer Sleep Timer nQ The sleep timer is used to force the RC8660 into Standby mode after a programmed time interval For example the RC8660 can power down automatically if the user forgets to turn off the power at the end of the day An audible reminder tone can even be programmed to sound every ten minutes to remind the user that the power was left on before shutdown occurs The sleep timer is stopped and reset whenever the RC8660 is active and begins running when the RC8660 enters Idle mode In this way the RC8660 will not shut itself down during normal use as long as the programmed timer interval is longer than the maximum time the R
100. tions Added RC86L60F41 G4I to product offerings Added 100 lead 14 x 14 mm LQFP package Added 40 C to 85 C industrial operating temperature range Ordering Information Revised part number system to include new LQFP package op tion industrial temperature range option and 33 minute recording memory capacity option RC8660 Commands Firmware v3 20 Added Execution Timing section updated for new real time com mand execution mode Updated Table 19 Protocol Options Register to include RTC bit Added Suspend and Resume command descriptions Changed Rec memory capacity in Table 21 Interrogate com mand from 16K blocks to 64K blocks Updated Table 22 Package Information Added 100 lead 14 x 14 mm package REVISION 02 APRIL 18 2007 Updated for new RC8660 die Specifications Changed supply current spec in DC Characteristics Active cur rent has been reduced by approximately 40 Ordering Information Several part numbers previously available only in commercial grade have been replaced with industrial grade parts REVISION 03 JUNE 27 2008 Updated to reflect new Restore mode Added Appendix B Specifications Updated STBY pin description in Table 1 Ordering Information Further clarification of the differences between the RC8660FP and RC8660GP REVISION 04 JANUARY 21 2009 Updated to reflect changes to the Upload Sound File command and how recordings terminate Specif
101. ty while consuming the least possible amount of power The operat ing mode can be changed at any time by issuing the appropriate command Note The RC8660 will not begin speaking or execute commands until it receives CR NUL 00h character this ensures that a complete contextual analysis can be performed on the input text If it is not possible for the application to send a CR or NUL at the end of each text message use the Timeout Delay command The RC8660 does not make any distinction between uppercase and lowercase characters All data sent to the RC8660 is buffered in an internal 8 KB input buffer allowing additional text and commands to be queued even while the RC8660 is producing output Text To Speech mode By default all text sent to the RC8660 is au tomatically translated into speech by the integrated DoubleTalk TTS engine TTS mode can be further subdivided into three translation modes 7ext which reads text normally Character which reads spells one character at a time and Phoneme which allows the TTS engines phonemes to be directly accessed Recorder mode Any of the RC86605 four ADC inputs can be used to make audio recordings such as voice memos Analog voltages such as from a temperature transducer or battery can be sampled and recorded using the 5 one shot mode recordings can be retrieved via the serial port or played back on demand Recorded Audio Playback mode This mode allows mess
102. uffer from running out of data The RC8660 supports PCM and ADPCM audio data formats The ADPCM format is a compressed format which yields data files that are half the size of PCM files thereby reducing the required data bandwidth and storage requirements RC Systems RC Studio soft 27 RC Systems now youre talking ware can convert Windows wave and MP3 files to PCM and ADPCM formats for use with the RC8660 Files that have been uploaded from recording memory can also be played using this mode Sound files created with RCStudio or uploaded from recording memory with the Upload Sound File command include the appro priate playback command in the file s header To play a file simply transfer the file to the RC8660 If desired the playback volume can be adjusted before the file is transferred with the Volume nV com mand A volume setting of 5 will cause the data to be played back at its original volume level To copy the sound file to another RC8660 s recording memory issue the Download Sound File command be fore transferring the sound file TONE GENERATORS The RC8660 contains three tone generators musical sinusoidal and Touch Tone MUSICAL TONE GENERATOR The musical tone generator is capable of producing three tones voices simultaneously and works well in applications which re quire neither precise frequencies nor a pure low distortion output The output is a pulse train rich in harmonic energy whi
103. x Unit Test Conditions Min Typ Max Min Typ Max Input voltage Low 0 3 0 2Vcc 0 3 0 2Vcc V Input voltage High 0 7 0 3 0 7 031 V VIA Analog input voltage ANo 3 0 3 0 3 V Input hysterisis RESET 0 2 1 8 0 2 1 8 V VoL Output voltage Low 0 5 0 5 V lop 1mA Output voltage High Vcc 0 5 Vcc 0 5 lguy2 1mA Input load current 4 5 HA Vss to Vee Analog output resistance Ro AOp A041 4 10 20 4 10 20 KQ lcc Supply current outputs open Active 3 8 14 7 22 mA all inputs Vcc Standby 0 7 15 0 8 20 UA currents Program Note 1 30 40 mA included 1 Applies during internal programming operations greeting message dictionary recording memory and microcode updates AC CHARACTERISTICS TA 0 C to 70 40 C to 85 C 3 3 V 5 V Vss 0 V External Clock Input Timing 3 3V x 0 3V 5V 0 5V Symbol Parameter Unit Min Nom Max Min Nom Max fc External clock input frequency 7 2991 7 3728 7 4465 7 2991 7 3728 7 4465 MHz External clock input Low pulse width 60 67 8 40 67 8 ns External clock input High pulse width 60 67 8 40 67 8 ns External clock rise time 18 15 ns External clock fall time 18 15 ns tcr gt lt Figure 10 External Clock Waveform RC System
104. y In systems where the power supply is very quiet AVger be connected directly to Designs incorporat ing a switching power supply or supplies carrying heavy loads may require filtering at the AVper pin a 150 Q series Vec resistor in combination with a 100 uF capacitor to ground should suffice Connect any unused input pins to an appropriate signal level see Table 1 Leave any unused output pins and all NC pins unconnected Chip Interconnects Pins through and PIOg through must be connected between the RC8660 and RC46xx chips ICao 2 and IC33 in the 33 minute version must have 47 100 pullup resis tors to Vcc Clock Generator The RC8660 has an internal oscillator and clock generator that can be controlled by an external 7 3728 MHz crystal ceramic resonator or external 7 3728 MHz clock source If an external clock is used connect it to the XIN pin and leave XOUT unconnected See Figure 1 for recommended clock connections RC8660 RC8660 XIN XOUT XOUT 15 73728MHZ 13 48PF 18PF EXTERNAL CLOCK Vcc Vss Figure 1 Clock Connections RC Systems now youre talking INTERFACING THE RC8660 The RC8660 contains both asynchronous serial and 8 bit bus interfaces All text commands tone generator and real time audio data etc are transmitted to the RC8660 via one of the
105. y one as most of the built in rules do Because the text fragment PRO is translated as a group the o is processed along with the initial pr and consequently the exception never gets a shot at the o If you suspect this may be happening with one of your exceptions include more of the left hand side of the word in the text fragment in the example above PRO CESS P OW would work 41 RC Systems 660 now youre talking voice synthesizer PACKAGE INFORMATION 100 Pin Plastic 14 x 20 mm QFP measured in millimeters o o 00 20 4 gt 10 SEE DETAILA 040 0 80 RECOMMENDED PCB LAYOUT NN 18 4 205 5 42 RC Systems now youre talking voice synthesizer 100 Pin Plastic 14 x 14 mm LQFP measured in millimeters SEATING PLANE 0 09 0 20 DETAILA 0 05 15 1 i 2 d SEE 09 65 RECOMMENDED LAYOUT eT o ss li 8 1 T EIL 43 RC Systems now youre talking voice synthesizer 48 Pin Plastic 12 x 20 mm TSOP measured in millimeters 19 8 20 2 1 20 MAX 4 1 S 4 y SEE DETAILA RECOMMENDED PCB LAYOUT 1 M EE 0 30
Download Pdf Manuals
Related Search
Related Contents
- Schneider Electric 6002 - Ersatzteile Istruzioni per l'uso wifi_disk_user_manual_(Full Version). Manual - Mallory User`s Manual Kicker IX500.2 Home Theater System User Manual iON Classic LP Whynter SNO T-2C/T-2CA User's Manual TD42シリーズ_スチーム・トラップ取扱説明書 Copyright © All rights reserved.
Failed to retrieve file