Home
RC8660 User`s Manual
Contents
1. Pin No Pin Name Pin No Pin Name Pin No Pin Name Pin No Pin Name 1 AOp 9 ASo 1 NC 6 DSR 2 10 AS 2 RXD 7 RTS 3 SP 11 SUSPo 3 TXD 8 CTS 4 SP 12 SUSP 4 NC 9 NC 5 SP 12 DAOUT 5 GND 6 SPA 14 DARTS Table 27 P101 Pin Assignments RS 232 Serial Interface 7 TSo 15 DACLK 8 TS 16 GND Table 24 P1 Pin Assignments Audio Output amp Control Pin No Pin Pin No Pin Name 1 GND 3 TXD Pin No Pin Name Pin No Pin Name 2 015 4 RXD 1 ANo 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 DATAG 3 DATAO 16 GND JP4 JP3 JP2 JP1 Baud Rate 4 ERROR 17 X X X X 300 5 DATA1 18 GND X X X 600 6 INIT 19 ACK X X X 1200 7 20 GND X X 2400 8 SLCTIN 21 BUSY X i 4800 9 DATA3 22 GND X 9600 10 GND 23 PE X X 19200 11 DATA4 24 GND X Auto detect 12 GND 25 SLCT X X 38400 13 5 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
2. ano 99 QNO Of QNO QNO O4 ano O SON QNO O4 QNO O4 QNO OF 2 THONE o ZS9LOHbL muois 0 92 09 pais 5 VET 0701019 04 5 va9 avo Asna mau oviva O ov 0 02 B o 18 12 047 0 gr 28 zv 04 4 ev r a or 78 HOLO3NNOO STV V OL HOLO3NNOO sr 98 sv 134908 TWN Nid 92 v 318 y 98 9v Y VIA LHOd 13 TIVHVd 18 Od VOL ATLOSHIG Q3193NNOO 38 AYN 601d o 4 et 1018 AON 0 2 e avs iv OF vas QNO x ik anro SOINOHIN3O 0015 olt 810 OTe ax Zold 140d ES lt fa lt 19 OTor R 10 Os S19 ZNV a 5 d gt CONV 5 L Z Laf 2 9 6 ONY ONISN oF N3HM 97a 0 55 51 22 z 8
3. gt lt Figure 10 External Clock Waveform RC Systems 66 now youre talking voice synthesizer Bus Interface Timing 3 3V x 0 3V 5V 0 5V Symbol Parameter 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 twyH RDY pulse width High Note 1 8 8 HS 1 Applies to the RDY pin and RDY status flag 4 STS twRL PRD twwL PWR lt Note 1 RDY lt Note 1 lt tpHWH gt tpvsL lt ipvwH 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 UU UUL Audio suspended x Audio resumed A SUSP Figure 12 Analog Audio Waveforms Digita
4. 100 bytes remaining Yes Buffer almost full 100 bytes available Standby mode S N f ics 0 confirmation p Baud rate lock L No confirmation 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 RXD bus it becomes enabled and RCS6GO voice synthesizer RC8660 RC8660 RXD TXD RXD TXD Figure 4 Multi Channel S
5. 700 pA idle 0 7 standby RCS6GOQ voice synthesizer APPLICATIONS Robotics 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 Aids for the orally or visually disabled Meeting federal ADA requirements RC8660 Product Summary Order Recording Operating Number Capacity Voltage RC8660F1C 2min 5V RC86L60F 11 2 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 RCSeGO voice synthesizer vec vec C4 0 1UF C50 1UF z vss vec 7 vss vec Let sr vss vec vss vec 2 e vss vec vec AVSS vec GG vec lt ANPIN AMPIN AMPOUT AMPOUT AVREF ADTRG ADTRG CONVERTER AND 200 Took i AN2 94 ANS 93
6. 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 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 S
7. 542344 ANZ alt 1059 2059 1020 2020 M of 7 ven 2 loer 5059 v ds tov 045 00 P 2064 2 pozo 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 suiejis S 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 zo U 90 20 OQASI 8 D O A OOPNL ia vn OON 50 voice synthesizer RC Systems now youre talking A RC8660 RC8650 CowPARISON Item RC8660 RC8650 Pins Pin 11 BRSg Fourth baud rate select pin NC No connection Pin 38 CTS Goes High only when there is data the CTS Pulses High after each byte received internal serial port overrun buffer Pin 19 Chipset interconne
8. ACTIVE HIGH Figure 8 Low Cost 3 kHz Low Pass Filter Power Amplifier RC Systems now youre talking voice synthesizer ELECTRICAL SPECIFICATIONS vec mA j 03 0 1UF C40AUF y vss vec z vec vss z vss vec vec vss 64 vss vec 47 vec 96 vec AVSS vec vec amp ANO AVCC er AVREF AD ga AN2 R3 R5 R6 CONVERTER 2 100K gt 100K gt 100K gt 100K 1 19 13 AMPOUT IC33 IC33 100 ADTRG C32 2 x C32 E 2 1631 BRSO IC30 IC30 BRS1 29 29 BRS2 1 28 47 1028 vec T BRS3 27 IC27 gp BRD 25 126 43 nxp IC25 417 1925 SERIAL UF 1 35 IC24 H 1023 1023 m Fe 22 H sr eat Busur 2 99 PROF 20 79 22 1020 20 518 LE 2 1819 o 2108 UNUSED INPUT PINS 32 Ic 1 TO APPROPRIATE DAIN 1 16 65 19 1016 LOGIC LEVEL DIGITAL DAOUT LS qw 015 AUDIO 4 Ica 87 9 54 j 5 o AO0 ANALOG n 56 3 OUTPUTS amp 5 2 7 CONTROL 6 54 1 zH
9. for least significant bit first Valid only in the synchronous transfer mode 0 LSB first Default 0 ACR 3 TRANSFER CLOCK POLARITY 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 0 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 DACLK Stopped because DARTS is High 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
10. 061 gt gt SIHVd Inova gt He e 7 ez t SIS o 16 515 E GXL ef GXH sc 5HIdv w IdWV gt 55 ZNV 56 INY ONY 96 19 vb 8 dlsorou in zn 0018 62 88 told Le 18 2019 leg 98 sold Tce 58 85 v8 soid ov 8 gold ev 28 1018 18 95i e ev bol Fez or eol 9c 05 vol 21 25 Sol 8v 55 901 zal 2 ss 801 95 621 v 48 H 55 uo Fe 55 ao 7 19 59 61 59 S101 99 19 2 59 6100 H 55 E ol Hes eZ Pe 9201 66 OL m 2201 Br szol 6201 0 08 Har 05 He 25 Hor 95 X Xu ZS S 86 66 it vi 99 29 SSA L cid 9L 5 ssa E dnrozo Anko 47 Iizer thes voice syn RC8660 now youre talking RC Systems suieis S OH A8NAWHG NOISIA3H 90 22 01 a1va 81 25 1v1318noa
11. 5 215 SUSP1 IC5 165 5 vec 92 103 103 gr SELI H 2102 sp 82 mc sy SEL Ico SEL4 Spe 10 sets i 100K gt 100K 5 22 48 pios 25 06 C STBY ap swi PIO4 PIO4 PIO3 ACLR 29 3 pioz 1 PIO1 sw 88 9 XIN 73728 MHZ 18 your 2 2 Ut u2 RC8660FP RC46xxFP c2 18PF 18PF Figure 9 Test Circuit ABSOLUTE MAXIMUM RATINGS Supply voltage and AVcc 9 3 V 6 5 pde d 0 3V to 4 0 V WARNING Stresses greater than those listed under Absolute 5 222225 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 Operating temperature 0 C to 70 40 C to 85 C Storage temperature Ts 55 C to 125 C above those indicated in the operational sections of these 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
12. 85 C RC8660FP RC46L71FP RC86L60G3l 3 3V LQFP TSOP 15 min 40 C to 85 C RC8660GP RC46L71FP RC86L60F4I 3 3V QFP TSOP 33 min 40 C to 85 C RC8660FP RC46L81FP RC86L60GAI 3 3V LQFP TSOP 33 min 40 to 85 RC8660GP RC46L81FP This combination may have a longer lead time and or MOQ 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 for storing a custom pronunciation dictionary allowing the pronunciation of any character string to be redefined Audio Recording and Playback Up to 33
13. 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 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 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 Stop pause and resume controls e Standard serial UART and 8 bit bus interfaces User programmable greeting and default settings 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
14. ans H2 13 C32 5 i s 1 32 Ay BRSO HE c 29 BRS 27 14 T 30 18 BRS 629 3 Ice IC27 IC27 RXD i 2 RXD IC26 56 IC26 MICRO TXD XD 1 25 75 a 1925 CTS IC24 IC24 1 23 123 299 RDY 122 71 25 22 prow 25 O 24 620 l Pw 1 19 58 paour A md DARTSI icis 5 BJ 115 DACLK 8 4 2 41 aoo 9 cj a9 p 4 aso ico 57 101 3 4 ica E 55 2 7d suspi Ice 2 asi 1 5 53 48 ics 52 17 92 04 50 26 C 81 SELI 2 ics a sEL2 ice H a SEL3 33 4 ict 39 Ico Ico R2 SELS 100K T Pi 4 pz PIO6 82 06 fe STBY PIOS PIOS 47K 4 2 4 fg ACLRH 88 S n RESET PIO2 PIO2 ds a 2 PIO1 iod XIN 00 00 T 10 vi 45 d 73728 MHZ 4 5 Ut u2 RCB660FP RC46xxEP c2 18 18PF Ro 68K C6 ue d 1 t ne M 4 RI 5 LM4876 SPKR L o 5 1 T e2NF 8 2NF 04 TA cto 1UF t PROGRAM TS0 ACTIVE HIGH RC Systems now youre talking CONNECTION DIAGRAMS voice synthesizer 1C27 28 1C29 PIO7 5 04
15. 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 voice synthesizer COMPLIANT DOUBLETALK R 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 moo RECORDEDAUDIO AMPOUT 234 BYTES 27 15 33 MINUTES ADTRG RXD TXD 5 BRSo BRS3 BRD 100 7 RDY STS GENERATORS PRD PYRE MUSICAL SINUSOIDAL J DAIN CLOCK TOUCH TONE XIN aay STBY EXCEPTION DICTIONARY 16 KB SELi SELs AOo A01 ASo A81 1 SUSPo 505 DoubleTalk RC8660 User s Manual Rev 11 Revised 2 7 14 2004 2014 RC Systems Inc RC Systems now youre talking FEATURES ntegrated text to speech processor
16. the 100 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 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 1 TEMPERATURE RANGE Commercial 0 C to 70 Industrial 40 to 85 COMPLIANT RECORDING MEMORY CAPACITY 1 2minutes 512 KB 2 7 minutes 1 536 KB 3 15minutes 3 584 KB 4 33minutes 7 680 KB PACKAGE TYPE F 100 pin 14 x 20 mm QFP amp 48 pin 12 x 20 mm TSOP G 100 14 x 14 mm LQFP 8 48 pin 12 x 20 mm TSOP 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 5 TSOP 2 0 to 70 C RC8660FP RC4651FP RC8660G1C 5V LQFP TSOP 2 min 0 C to 70 RC8660GP RC4651FP RC86L60F11 RC86L60 1 3 3V QFP TSOP 2 min 40 C to 85 C RC8660FP RC46L51FP RC86L60G11 3 3V LQFP TSOP 2 min 40 C to 85 C RC8660GP RC46L51FP RC86L60F3I RC86L60 3 3 3V QFP TSOP 15 min 40 C to
17. 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 an 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 C 0 N AA which states that o after c and before n gets the pronunciation AA 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 Spanish five Basic function 53 5 I NGKO CHR K EH R IX ER 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 Algorithms 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 fr
18. 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 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 amp 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 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 wher
19. 121 79h 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 As 18 12h A 76 4Ch B 17 11h Ad 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 Figure 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 rat
20. 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 VCC CTS RDY RXD TXD DARTS DACLK DAIN DAOUT BRSO BRS1 BRS2 RC Systems now youre talking voice synthesizer RC46xxFP 48 Lead TSOP 12 mm x 20 mm TOP VIEW RC Systems 1 1 11 1 8660 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 0 V to AVper and is normally biased at 2 Output impedance is 10 typical AO is reserved for future use 50 OUTPUT TALK STATUS Indicates whether a voice channel is active These pins can be used to ena
21. 99g Inova axi anro 17 L 3nro T lt tasns 4 1001 04608 gt 2019 T Esya z van iv or T9 OTe oSv z anro t 20 Fear 151 81007 051 9 usd S012 T 2 O 9 OO S 046 P osua 2 n Fras t 045 anro PLASS tow 210 04 00 gt p10 m 1HOd 11035 1 9 12 id ZOZXVIN 99 48 Iizer thes voice syn RC8660 now youre talking RC Systems oul suieis S NOISIA3H OH A8NAWHG 50 22 0 31 3799 1v1a1anoa G3TIVLSNI LON SINJ3NOdWOO OIN 13419373 24 WE T toro 2090 2 00 N8SEAWT Lon v 99 WI ONY anor 9 s LOPH M T9 7 SOPH ant coro XOL 10v us eoru I IK Vio 3466 2079 99 WI 90 E E ISI E Ost ant 900 9020 046 7 ANZ
22. OR the de fault introduces no reverb increasing values of n correspondingly increase the reverb delay and effect 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 NM 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 Four digit numbers will be read as years when 0 e g 1492 fourteen ninety two Setting 7 1 disables leading zero suppression number strings beginning with zero will always be read one digit at a time The default filter setting is 6B Some punctuation Numbers mode Years mode leading zero suppressio
23. 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 R 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 TS Pin Control command which affects only the TS pins SR 5 RESERVED Reserved for future use Mask when polling the Status
24. 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 1 1 1 ROS GGO 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 pins allows the input voltage to all four A D converter
25. 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 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 a 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 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 and V Pod 1 Hold the RESET and STBY pins Low If power is not yet ap plied and reset is generated automatically at power up only
26. 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 pin 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 50 pins affect the operation of BRD Connect this pin to a High level if not used 5 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 immediately terminates all activity and places the RC8660 in
27. 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 repetitively 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 f
28. of the V8600 If this bit is set to 0 POR 4 is also forced to 0 RC8650 Compatibility Mode enabled Default 1 in the V8600A module this bit defaults to 70 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 5 DTMF DURATION DDUR 12500 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 adjusted to that of the RC8650 and RC8660 specific functions such as audio recording are disabled This bit cannot be set to 1 if POR 7 is set to 0 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 Determines whether certain commands are processed in deferred mode 0 or real time 1 In deferred mode the commands are stored in the input buffer and executed in turn In real time mode the commands are executed immediately
29. without affecting the operation of the RC8660 and without having to change to another command character and then back again Changing 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 To 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 parameter s new value such as 9S 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 RC866
30. 0 register Punctuation Filter Protocol Options Audio Control and ADC Control relative parameters allow you to set and clear 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 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 Option
31. 0 prepares the internal memory that will be used to store the dictionary At this time the RC8660 will transmit two Erase In 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 The 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 C
32. 1 RC Systems 3 3 66 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 0 40 0 80 RECOMMENDED PCB LAYOUT 1 NN 1 8 20 5 o E 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 2 SEE 095 65 RECOMMENDED LAYOUT eT o ss li 8 1 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 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 E
33. 40 C to 85 C AVggr 3 3 V 5 V Vss AVss 0 V 7 3728 MHZ 3 3V x 0 3V 5V 0 5V pe Symbol Parameter 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 AVREF V Input hysterisis 0 2 1 8 0 2 1 8 V VoL Output voltage Low 0 5 0 5 V 1 VoH Output voltage High Vcc 0 5 Vcc 0 5 lguy2 1mA Input load current 4 5 HA Viy 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 currents Program Note 1 30 40 mA Included 1 Applies during internal programming operations greeting message dictionary recording memory and microcode updates ACCHARACTERISTICS TA 2 0 C to 70 40 C to 85 3 3 V 5 V Vss 0 V External Clock Input Timing 3 3V x 0 3V 5 0 5 1 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 twee 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
34. Musical Tone Generator Command Formats 28 RC Systems now youre talking Voice frame format Voice frames are composed of three frequency time constant bytes K4 Ka and a duration byte Kp which specifies how long the three voices are to be played The relationship between the time constant Kj and the output fre quency f is fi 16 768 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 plified by using Table 12 The tone generator covers a four octave range from C two octaves below Middle C 255 to D two octaves above Middle C 14 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 Ka 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 importan
35. O gt Z DATAO 6 B1 lt DBI gt A DATA1 PIO2 5 7 A2 B2 lt DB2 gt 5 DATA2 PIOS B3 lt 083 gt 04 23 B A4 B4 8 084 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 DS 18 RDY GND Figure 6 Bus Printer Interface RC Systems now youre talking voice synthesizer Te 8660 STS CLK vcc 00 a2 a4 H G Q6 IL LATCHED STATUS FLAGS 74HC374 Figure 7 Method of Capturing Status Information for Driving External Circuitry Analog Audio Output The analog output pins 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 to 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 5 V power supply power o
36. 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
37. 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 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 Reserved for future use Mask when polling the Status Register Table 5 Bus Interface Status Register CENTRONICS vec COMPATIBLE 12 vee L244 BUS INTERFACE PRINTER PORT RC8660 ES sea 26 SAB 00 E AO B
38. 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 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 two beeps are heard from the speaker or headphones 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
39. 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 pA 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 Vcc 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 to RESET XIN INPUT CLOCK INPUT OUTPUT These pins conne
40. TRL A 2o 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 port s baud rate can be programmed to the rates listed in Table 17 If included as part of the greeting message the 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 BRS j pins DOA C 65 Table 17 Programmable Baud Rates TS Pin Control nK TS 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 a
41. Talk Phoneme Symbols Table 7 Phoneme Attribute Modifiers Speed nS The synthesizer s speech rate can be adjusted with this command from 0S slowest through 13 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 22 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 quest
42. agment 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 IH and the scan moves past re to the next character receive E is not the next scan character because it occurred inside the parentheses with the 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 C thus receives the pronunciation s and processing continues with the second e receive EI 1Y is the first rule to match the second e so e receives the sound Processing resumes at the character receive which matches the default 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
43. arating the two words with a space Proper names and foreign words may require a bit more creativity so that Sean becomes Shon 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 7 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 7 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
44. baud rate should be used To stop or pause recording 1 To stop recording issue the Stop CTRL X command The RC8660 will transmit No 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 recording 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_Err 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 goes High and one or more Repair Prog messages are transmitted via the pin Completion is indicated by CTS going Low and the transmission of 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 presen
45. 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 signaling requirements both durations can be extended to 500 ms by setting the DDUR bit of the Protocol Options Register The generator is activated with the command where an ASCII number between 0 and 16 The mapping of the command parameter 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 generators 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 A 13 B 14 C 15 D 16 pause Table 14 DTMF Dialer Button Map RC8660 CONTROL Volume nV
46. ble external devices 5 such as a transmitter telephone or audio amplifier The pins polarity are programmable and can 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 of the DAOUT pin and data into the DAIN pin in the synchro
47. cknowledge 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 TX 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 description Event 0 Requires 86 1 STM 1 Output has started Yes Output has stopped Buffer almost empty
48. 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 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 with the Volume nV command before the file is Initialize Command transferred A volume setting of 5 will cause the data to be played at The Initialize command sets up the tone generator s relative am recording memory issue the Download Sound File command initialize the tone generator before sending any Voice frames The before transferring the sound file Note that sound files created for Initialize command may however be issued anytime afterward to the RC8650 cannot be copied in this manner nor played by simply change the volume or tempo on the fly transferring them to the RC8660 These files must be played using the procedure described in the RC8650 User s Manual Initialize command format The Initialize command consists of a byte of zero and three param eters The parameters are defined as follows TONE GENERATORS The RC8660 contains three tone generators musical sinusoidal and DTMF Touch Tone Voice amplitude 1 255 Tempo low byte 0 255 Tem
49. ct 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 setting 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
50. ct 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 Vcc POWER 5 V 0 5 V 3 3 V 0 3 V power supply connection Vss GROUND Connect these pins to system ground AVcc 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 AVner 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 6560 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 a request basis All configurations include two surface mount devices
51. ction Greet amp Dict RT Execution n Range n Default Articulation 0 9 5 nB Punctuation Filter Register e 0 15 6 C nC Character mode 0 31 0 D Phoneme mode E nE Expression 0 9 5 Formant frequency e 0 99 50 na Protocol Options Register 0 255 144 nH Baud rate 0 11 BRS pins ni Index marker 0 255 E J Musical tone generator nJaaaabbbb Sinusoidal tone generator 1 59999 TS pin control 0 3 1 0 227 512 739 234 Erase sound file 234 245 Upload sound file 245 Monotone Audio Control Register 0 255 0 no Voice 0 10 0 Pitch 0 99 50 Sleep timer 0 31 0 nR Reverb 0 9 0 6 Speed 0 13 5 T nT Text mode delay 0 15 0 U Enable exception dictionary N Volume 0 9 5 214W Initialize recording memory 214 218W Repair recording memory 218 223W Download sound library 223 236W Download sound file 236 241W Download exception dictionary 247 255W Download greeting message 255 nX Tone 0 2 1 nY Timeout delay 0 15 0 Z Zap commands Reinitialize nm generator 0 16 n N Real time PCM ADPCM audio playback 0 99 n amp Play sound file 0 65534 ADC Control Register 0 255 128 6 Chipset ID 6 127 Interrogate 12 CTRL X Y Stop Skip 1 These c
52. ctionary must be compiled into the internal binary format used by the RC8660 before it can be used however The RCStudio 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 gets the pronunciation P 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 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 to
53. ctivate 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 internal 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
54. d then stop data logging mode program CONT 0 For example CTRL A 1445 records continuously from channel 0 N Issue the Record command nLmmmmm N programs the de sired sampling rate fs where n 155 617 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 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 m 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 Assuming there are no errors the RC8660 will begin recording transmitting Prog every time 1 024 bytes have been written to the recording memory Note The recording data stream will be transmitted from the TXD pin in lieu of Prog if 512 is added to the value of in the Record command The data is an exact representation of the data being stored in recording memory Because of the data rate involved 115200
55. d_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 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 Prog messages will be transmitted on the TXD pin Completion is indicated by 5 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 compacted 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 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
56. detect default Table 26 JP1 JP4 Jumper Assignments Baud Rate 46 Izer thes voice syn RC8660 now youre talking RC Systems suieis S NOISIA3H 90 22 01 31 08 1VA3 0018 LOld 014 SOld 9014 ZOld 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 061 00 WOVA 3S1HVG nova NIVG Md 518 510 1 oulav INY ONY SSAV SSA SSA SSA 59 ZHN 82 67 l Si at 13S3H We p Par pu 6 68 06 16 us 26 piv 72 14618 5 ISL gt 05 gt 09515 lt
57. 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 R J BIEN F AY N USTED YY UW The sense of translation can also be reversed LARGE G RR AN D EI FINE B I EI 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 a sort of pseudo TTS System can be created using this 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 characte
58. ditionally 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 means of specifying the file to be operated 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 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 s
59. e 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 The will not begin 1 Hardware trigger ADTRG pin operating until ADR 7 is set to 0 and the 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 Reserved for future use Write 0 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 AN4 01 ANo AN sweep 10 AN2 10 undef
60. e 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 B0 5 1 CHRS B2 CHR B3 50 IF BO Bl B2 gt 0 THEN 130 loop until Quit 60 CLOSE 1 70 END 80 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 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 1 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 100303500440 generates a 350 440 Hz tone pair a dial tone for 1 second If only one tone is to
61. e shot mode recordings can be retrieved via the serial port or played back on demand Recorded Audio Playback mode This mode allows messages 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 RCS6GO 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 v
62. e 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 information 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 curre
63. es carrying heavy loads may require filtering at the AVper pin a 150 series Vc 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 text commands tone generator and real time audio data etc are transmitted to the RC8660 via one of these ports For maximum flexibility use of the serial port is recommended because not all RC8660 functions are supported through the bus interface n par
64. f 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 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 WWW ICSys com
65. 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 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 TM In the asynchronous transfer mode the data rate and timing are controlled by the inter 1 Synchronous nal bit rate generator 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 5 DAOUT PIN CONTROL DPC Set this bit to 1 to configure the DAOUT 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 or 0 CMOS more DAOUT pins together Default 0 4 TRANSFER FORMAT TF Set this bit to 1 to have the 8 bit data frames transmitted most significant bit first 1 first or to 0
66. ial port to automatically detect the baud rate of the incoming data RC8660 vec MICRO BRSO BRS1 BRS2 3 10K RXD e TXD TXD CTS D O CTS CTS INSTALL FOR OPTIONAL RXD PROGRAMMING PORT TXD o Figure 2 Serial Interface RCS668Q voice synthesizer BRS BRS 5 BRSp Baud Rate L L L L 300 L L L H 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 Auto detect H L L L 38400 H L L H 57600 H L H L 115200 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 BRS9 BRS 5 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 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 a
67. 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 talking 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 file mmmmm 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
68. ined 11 ANg 11 ANo ANs sweep 1 The AMPOUT pin can be used as a fifth ADC input if an external amp is not used Set ADR 6 1 to select the AMPOUT pin for conversion 2 When ADRA 0 one shot mode one sample will be returned via the TXD pin When recording to recording memory 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 0 AMP 1 Figure 16 ADC Input Block Diagram TRG SWP CONT INH 0 CONT CH 1 CH CHo 0 CHo 0 CONT 0 X X X X X X X X X x X Pee PsC e US ADTRG TRG CH 1 CONT INH 0 D CONT 1 1 0 E Tey ey Ana nce ADTRG Em Figure 17 ADCTransfer 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 Ad
69. 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 composed of standard Windows wave 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 CTS pin will go High and one or more Erase Prog messages will be transmitted from the TXD pin Completion is indicated by CTS 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 16 samples an
70. ion 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 animated sounding 5 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 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 50 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 OX normal 1X and treble 2X The best setting to use depends on the speaker be ing used and personal preference Normal 1X is the default setting Reverb nR This command is used to add reverberation to the voice
71. kage 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 LQFP package REVISION 02 APRIL 18 2007 Updated for new RC8660 die Specifications Changed supply current spec in DC Characteristics Active cur rent consumption has been reduced by approximately 4096 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 Specifications 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 pin can now be used to
72. ken 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 or more consonants A voiced consonant b d g m n W Z Q 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 One or more non printing characters 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
73. l Audio Timing 3 3V x 0 3V 5Vx0 5V Parameter Unit Min Max Min Max DACLK cycle time 300 200 ns tweL DACLK pulse width Low 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 e twee 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 ta
74. le 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 GPGGA o Note how wildcard tokens used for handling the time data 811 131 characters since the content of this field is variable The 15 16 20 and 17 18 75 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 UW 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 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 excep
75. le 19 updated accordingly pcm files created in RC8660 format with RCStudio now play correctly in real time and from sound libraries when the R50 bit is 0 RC8650 emulation PCM and sound library sfx files created in RC8660 format now download correctly when the R50 bit is 0 Fixed several compatibility issues when the RC8660 is operating in RC8650 emulation mode REVISION 09 DECEMBER 19 2011 Removed RC86L60F21 from product offerings Please use RC86L60F3lI instead REVISION 10 AUGUST 9 2013 Updated Table 22 Command Summary Sinusoidal Tone Generator Firmware v3 43 Improved duration accuracy of short duration tones Tone generator s operation in RC8650 emulation mode updated to match that of the RC8650 v2 59 firmware see Revision 07 in the RC8650 Revision History REVISION 11 FEBRUARY 7 2014 Updated Table 9 Punctuation Filter Register and Table 19 Protocol Options Register RC8660 Commands Firmware v3 44 The way four digit numbers are read can now be controlled with the Punctuation Filter Registers new YM bit see Punctuation Filter Register description for more information Changes in the Proto col Options Register RTC bit s setting now take effect immediately Added support for real time control of the sinusoidal tone generator voice synthesizer 54 Specifications written in this publication are believed to be accurate but are not guaranteed to be entirely free o
76. leep 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 RC8660 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 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 m
77. lking OPERATING MODES The RC8660 has five primary operating modes and two inactive modes designed to achieve maximum functionality and flexibility 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 a CR ODh or 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 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 on
78. n enabled R R R LZS FM 7 6 5 4 3 2 1 0 Punctuation Filter Register Bits PFR 7 5 RESERVED Write to ensure future compatibility PFR 4 YEARS MODE 1 Read four digit numbers normally 0 Read four digit numbers as years 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 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 n is transmitted via 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 n 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 setti
79. ng 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 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 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 voltag
80. nous 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 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 PIOg PIO7 pins is latched in the RC8660 on the rising
81. nt 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 16 bits each low byte first Parameter Cmd Range Mode C D T 0 1 2 Text PFR register nB 0 15 Formant freq 0 99 Pitch 0 99 Speed nS 0 13 Volume TN 0 9 Tone nx 0 2 Expression 0 9 Dict loaded 247W O not loaded 1 loaded Dict status C T U O disabled 1 enabled Input buffer capacity x256 bytes Articulation 0 9 Reverb nR 0 9 TS pin control 0 3 POR register na 0 255 ACR register 0 255 memory capacity x64K bytes Sleep delay nQ 0 31 Timeout delay nY 0 15 Char mode delay nC 0 31 Text mode delay 0 15 Voice nO 0 10 ADR register 0 255 _ x256 bytes of files in recordin memory 16 bits Free recording memory is the number of empty 256 byte blocks there be up to 255 additional bytes available This number will be reported as 1 if an RC8650 ibrary is present 2 if the recording memory is corrupt Table 21 Interrogate Command voice synthesizer 36 RC Systems now youre talking voice synthesizer COMMAND SUMMARY Command Fun
82. ode 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 RC8660 s exception dictionary and stores subsequent output from the host in the RC8660 s 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 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 RC866
83. oice attributes such as volume or pitch to suit the require ments of a particular application or listener s preferences Com mands are 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 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 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 a row CTRL A CTRL A This special command allows the command character to be spoken
84. ommands be used in greeting messages and exception dictionaries 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 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 rules 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 di
85. on 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 abbreviations Acronyms and abbreviations can be defined so the words they rep resent will be spoken S K IH AH AA T S DR D ER EH L AX IH ZH IX RCS6GO 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 examp
86. or audio recording to the recording memory RCS6GOQ voice synthesizer Versatile I O 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 accuracy In systems where the power supply is very quiet AVger be connected directly to Designs incorporat ing a switching power supply or suppli
87. po high byte 0 255 The range of the tempo and Krp is 1 65 535 1 FFFFh MUSICAL TONE GENERATOR the larger the value the slower the overall speed of play The am The musical tone generator is capable of producing three tones plitude and tempo affect all three voices and stay in effect until voices simultaneously and works well in applications which re another Initialize command is issued If the command is issued be quire neither precise frequencies nor a pure low distortion output tween Voice frames to change the volume or tempo on the fly only The output is a pulse train rich in harmonic energy which sounds the Voice frames following the command will be affected more interesting than pure sinusoids in music applications RC Studio includes a music score editor and compiler which greatly Voice Frame Voice frames contain the duration and frequency pitch information Note The musical tone generator output is available only from the for each voice All Voice frames stored in an 8 KB buffer within AO pins Digital audio output from the DAOUT pin is not possible the RC8660 but are not played until the Play command is issued HM If the number of Voice frames exceeds 8 KB in length the RC8660 The musical tone generator is activated with the J command no will automatically begin playing the data Byte 0 1 2 3 Initialize command Voice frame Play command Quit command Figure 18
88. r 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 and DBs to Vcc 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 corresponding to all four control bits 0 would say please insert quarter with the following dictionary entry 0 L IY 2 IHNSERT K W OW R T ER The Timeout timer should also be activated 1Y for example in order for the message 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 a
89. re 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 Ifthings 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 built in rule which looks some thing like this S PRO P AA This rule translates a group of three characters instead of only 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 4
90. s Register Issuing real time parameter changes do not affect commands already in the input buffer they will still be executed as they 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 sep
91. same phrase produced in Text mode with Expression enabled CTRL A t CTRL A e How dare you speak to me that way Phoneme mode is also useful in applications that provide their own text to phoneme translation such as the front end of a custom text voice synthesizer Decrease volume 1 step Symbol Function Equiv Cmd nn Set pitch to nn 0 99 Increase pitch m steps Decrease pitch m steps mP Increase speed 1 step 15 Decrease speed 1 step 15 gt Increase volume 1 step 1V 1V Step size determined by nE command m 2n 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 E 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 he WH when libro Spanish Y mayo Spanish IH bit YY you IX rabbit Z 700 IY beet ZH vision J age Space variable pause K cute apostrophe Short pause KX Ski comma medium pause L long period long pause M me Normally used between words duration determined by nT command Table 6 Double
92. suspend 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 amp Playback section 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 REVISION 07 MAY 23 2011 Updated Recording amp Playback section RC8660 Commands Firmware v3 37 It is now possible to read a recording s data stream from the TXD pin while making a recording see Making a Recording section Internal erasing routines are now more intelligent and can save considerable programming time particularly in devices with larger recording capacities Commands affected are Initialize Recording Memory and Download Sound Library 53 RC Systems now youre talking REVISION 08 JUNE 27 2011 Updated Table 19 Protocol Options Register Specifications Firmware v3 40 Protocol Options Register R50 bit is now forced to 0 if the V86 bit is set to 0 Tab
93. t 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 All 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 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 in order to prevent the audio buffer from running out of data 27 RC Systems 3 3 31 66560 now youre talking voice synthesizer The RC8660 supports PCM and ADPCM audio data formats The parameter Once activated all data output to the RC8660 is directed ADPCM format is a compressed format which yields data files that to the musical tone generator are half the size of PCM files thereby reducing the required data bandwidth and storage requirements RC Systems RCStudio soft Note The RC8660 expects the tone generator data to immediately ware can convert Windows wave and MP3 files to PCM and ADPCM follow the J command therefore do not terminate the command formats for use with the RC8660 Files that have been uploaded from with a CR or NUL recording memory can also be played using this mode The musical tone generator is
94. t 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 illustrate 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 excepti
95. t 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 150 pin and TS flag are asserted at this time enabling the host to syn chronize to the playing of the tone data TS becomes inactive 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 RCS6GOQ voice synthesizer Note Note C 255 FFh D 57 39h 241 F1h 54 36h D 228 E4h E 51 33h D 215 D7h F 48 30h E 203 CBh F 45 2Dh F 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 30 1Eh C 128 80h D 28 1Ch
96. the last set value will be used and the exception dictionary will be disabled Phoneme Mode D This command disables the text to phonetics translator allowing the RC8660 s 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 CTRL A m h aw d gt eh lt uw S p My k t uw 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
97. they are never stored in the input buffer Note that changes in this bit s setting take effect immediately The commands affected by this bit are nA nF nJ nS nV and nX All other commands will always be processed in deferred mode Default 0 POR 1 RESERVED R Reserved for future use Write O 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 3 3 660 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 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
98. ticular 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 pin should be used to control the flow of serial data to the RC8660 It is not necessary to check 5 before transmitting every byte however All 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 Pin 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 r
99. tion 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 seem 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 interested 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
100. 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 0 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 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
101. 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 Low momentarily then High again Do not hold it Low too long less than 3 sec onds or the dictionary and greeting message will be cleared from memory 1 Prior to version 3 30 of the RC8660 firmware Restore mode func tioned quite differently To clear the dictionary and greeting message with pre v3 30 versions of the firmware 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 6 command The firmware restoration process is the same with all versions of the firmware 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 IC33 pin New LQFP package option functionality commands added Specifications 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 pac
102. ummarized in Table 11 Play Sound File n amp This command plays the sound file specified by the parameter 7 The setting of the TAG bit in the Protocol Options Register determines whether 7 represents the file number or tag value For example 526 plays file number 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 riV 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 3v Og 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 0 No error 1 Invalid command error Com Err 2 Communications error 0 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_Foun
103. 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 RCS6GO voice synthesizer This is an example of how 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 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 ma
104. utput will be less when operating from 3 3 V The amplifiers shutdown pin can be controlled by the 156 pin to minimize current drain when the RC8660 is inactive The resistor in series with the headphone jack provides balance between relative speaker volume and headphone volume as well as improving headphone S N ratio and providing short circuit protec tion See Typical Application Circuit for a similar circuit without a volume control Digital Audio Output The digital audio pin DAOUT delivers the RC8660 s 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 100K 0 1UF 22K VOLUME CONTROL 21 22NF 21 5 6NF 10K 150PF 33K 4 vec STEREO 6 T 5 PHONES 8 1 7 5 68 A UF 80 d SPKR PROGRAM 50 PIN 150
105. valuation Kit Windows based PC The included RCStudio software provides an integrated development environment with the following features e 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 e 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 S OUTPUT MICROPHONE C N swi 55 AUDIO OUTPUT amp JP1 ET ONTROL z 2 U1 u2 RC4651FP RC8660FP STANDBY INIT O O O 3 O 4 BAUD 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 3 3 3 RC8660 now youre talking voice synthesizer CONNECTOR PIN ASSIGNMENTS amp SCHEMATICS
106. y 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 matches 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 Effec
107. ystem 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 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 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 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 data loss RC Systems now youre talking Bus Printer Interface The RC86605 bus interface allows the RC8660 to be connected
Download Pdf Manuals
Related Search
Related Contents
子機を準備する - Brother Manual del usuario Registrador de datos para Humedad + Xilinx UG071 Virtex-4 FPGA Configuration Guide, User Guide Model No. IX410 Operation and Maintenance Manual Hexagon V1.1 PK5500/RFK5500/RFK5564 v1.3 Trekstor SurfTab xintron i 10.1 Copyright © All rights reserved.
Failed to retrieve file