EMIC-2 and speech synthesis styles

in BASIC Stamp
Hello!
I bought one a while ago from Micro Center in Brooklyn. Interesting gadget. And not surprisingly enough, back in April I was at the VCF East. It's a gathering of computers from our past in a building who's also part of the past, radio was perfected there.
One chap brought his DEC Talk gadget along, now I freely admit having seen one before, back when the library here in Queens was using a better method of managing books. It assisted visually impaired readers in their efforts.
At the show the gadget demonstrated itself and the host. However.... Here the EMIC-2 sounds decidedly close to that style.
This fragment is from code fragments from the attending PDF
Oh and no robots were involved in this activity nor did any apply.
I bought one a while ago from Micro Center in Brooklyn. Interesting gadget. And not surprisingly enough, back in April I was at the VCF East. It's a gathering of computers from our past in a building who's also part of the past, radio was perfected there.
One chap brought his DEC Talk gadget along, now I freely admit having seen one before, back when the library here in Queens was using a better method of managing books. It assisted visually impaired readers in their efforts.
At the show the gadget demonstrated itself and the host. However.... Here the EMIC-2 sounds decidedly close to that style.
This fragment is from code fragments from the attending PDF
' {$STAMP BS2}
' {$PBASIC 2.5}
EMIC_TX PIN 0 ' Serial output (connects to Emic 2 SIN)
EMIC_RX PIN 1 ' Serial input (connects to Emic 2 SOUT)
T9600 CON 84
EmicBaud CON T9600
'BS2 Example:
' Send command and the text string to convert to speech
SEROUT EMIC_TX, EmicBaud, ["N2", CR]
SEROUT EMIC_TX, EmicBaud, ["V4", CR]
SEROUT EMIC_TX, EmicBaud, ["P0", CR]
SEROUT EMIC_TX, EmicBaud, ["S", "Hello! My name is Emic 2. Nice TO meet you.", CR]
' Wait until the command is completed
SERIN EMIC_RX, EmicBaud, [WAIT(":")]
I suggest that those of us who have one try that out. I'm using mine on a BOE Board wearing the BS2 target.Oh and no robots were involved in this activity nor did any apply.
Comments
Mike
You should be able to get the same sound using the Propeller. Just use the same settings Buck Rodgers uses.
I haven't played with the settings much myself and I'm interested to hear what sort of voice these suggested settings produce.
CON _clkmode = xtal1 + pll16x 'using 5 MHz crystal in pll16x mode _xinfreq = 5_000_000 'to achieve 80 Mhz clock frequency EMIC_TX_PIN = 0 EMIC_RX_PIN = 1 DEBUG_BAUD = 115200 EMIC_BAUD = 9600 EMIC_REPLY_TIMEOUT = 2000 OBJ Pst : "Parallax Serial Terminal" ' uses one cog Emic : "Parallax Serial Terminal" ' uses one cog PUB Setup Pst.Start(DEBUG_BAUD) Emic.StartRxTx(EMIC_RX_PIN, EMIC_TX_PIN, 0, EMIC_BAUD) repeat result := Pst.RxCount Pst.Str(string(11, 13, "Press any key to begin.")) waitcnt(clkfreq / 2 + cnt) until result Pst.RxFlush Emic.Char("N") Emic.Char("2") Emic.Char(13) Emic.Char("V") Emic.Char("4") Emic.Char(13) Emic.Char("P") Emic.Char("0") Emic.Char(13) Emic.RxFlush MainLoop PUB MainLoop repeat Say(@message0) result := RxCharacterTime(":", EMIC_REPLY_TIMEOUT) if result == -1 Pst.Str(string(11, 13, "No reply from Emic2.")) elseif result == ":" Pst.Str(string(11, 13, "OK")) else Pst.Str(string(11, 13, "Error! Reply from Emic2 = ")) SafeTx(result) Emic.RxFlush Pst.Str(string(11, 13, "Press any key to continue.")) result := Pst.CharIn PUB Say(stringToSay) Emic.Char("S") Emic.Str(stringToSay) Emic.Char(13) PUB RxCharacterTime(character, timeToWait) | startWait '' "timeToWait" in milliseconds '' returns "character" if the character is found. '' if the desired character isn't found the method '' will return either -1 or the last non-matching character received timeToWait *= clkfreq / 1000 startWait := cnt repeat repeat result := Emic.RxCount until result or cnt - startWait > timeToWait if result result := Emic.CharIn else result := -1 until result == character or cnt - startWait > timeToWait PUB SafeTx(character) case character " ".."~": Pst.Char(character) other: Pst.Char("<") Pst.Char("$") Pst.Hex(character, 2) Pst.Char(">") DAT message0 byte "Hello! My name is Emic 2. Nice TO meet you.",0 'test string
The "RxCharacterTime" method lets one watch for a specific character within a specified time interval.
Here's the output from the program.
Press any key to begin. Press any key to begin. Press any key to begin. Press any key to begin. OK Press any key to continue. OK Press any key to continue.
The program requires input from a terminal to begin and continue.
Mike
Mike
There's 25 years of tech innovation between the BS-2 and the Emic-2.
I agree.
That's why I revisited the speech synthesizer that General Instruments made before setting it aside for the EMIC-2 board,
Oh and no robots were involved in this activity nor did any apply.
Just for the heck of it , I searched eBay for the SPO512 and this came up.
erco, you can have all the memories on compact disc, and listen to it whenever you want.
http://m.ebay.com/itm/Bruno-Lauzi-Bruno-Lauzi-SPO-512-LP-/231964730989?hash=item36022ce66d:g:p6QAAOSwxndXT2Df
See http://www.speechchips.com/shop/item.aspx?itemid=13 which is Ken's website. Not much for sale there anymore. But that free emulator download lets you play with SP0256-style speech phonemes if you are so inclined.
Chip Talk and the Propeller Activity Bot might be a good solution for me. I can get the sound I want, without any extra overhead. Spelling can take a hard hit to get close pronunciation.
I'm interested in seeing how to have the board recite the numbers returned in the BS2 program for the TI TI83Plus to communicate with the stamp.
http://forums.parallax.com/discussion/141536/zip-file-of-emic-2-songs