Hello. I am making a project for kids and have run into some trouble.
I am trying to get the Speakjet working with the TTS256 to say something. I must have it hooked up correctly because it says ‘ready’, i am using a PIC16F84A for now and I tried the
SEROUT command code:
The good news Is that I have messed with the Speakjet chip but the bad news is that I have not used the text-to-speech chip. when I have time, I need to recap my self with the speakjet, and read up on how the text-to-speech chip is used. While the text to speech chip is nice, you don’t really need it to create words.
I would first start by using only the speakjet and try to get it talking before moving on to the TTS chip. When it says “ready” it only means the self test is complete. We need to make sure the coms are correct such as the baud rate etc…
I have not used the PIC16F84A so I am not familure with the programming of that controller. Got any pictures?
Also saying which compiler you are using would be a good idea. If you are using a 16F84 I assume it’s either PICBasic Pro by Melabs or MBasic by Basicmicro(eg me). From the T9600 I suspect you are using MeLabs compiler. You may also want to post in their forums to see if anyone else has used the Speakjet. I’d say there is probably a 99% chance some one has.
Thank you for answering. I tried their group and no luck, several times, i also tried many searches.
I tried using the N9600 inverted rate and nothing either.
I am using the PIC BASIC compiler, i also have the PicBasicPro compiler but have not used it yet?
Below is how i have it hooked up
TTS256
PIN 14 TO GND
PIN 18 TO PIC
PIN 20 TO SPEAKJET PIN 15
PIN 24 TO SPEAKJET PIN 10
PIN 28 TO 5 VDC
SPEAKJET
PIN 1 THRU 9 TO GROUND
PIN 10 TO TTS256 PIN 24
PIN 13 TO GROUND
PIN 14 TO 5VDC
PIN 15 TO TTS256 PIN 20
PIN 18 TO POT IN AMPLIFIER CIRCUIT(LM386)
I don’t understand the question. Anything in the buffer will be played. There are memory slots that can store data and called on if that is what you mean. I tried playing around with that feature but I was never able to figure out how to do it properly. My problem was that it would never play the whole word or phrase. I can program, but I was never able to get my mind wrapped around how the memory worked.
I got it talking now without using the oxod command, BUT it repeats non-stop, no matter how i write the code, i can put a pause, i can put a function call to say it once and then pause and it will repeat it non stop like it ignores all my code except the SEROUT command?
I am not familiar with the device, but note that 0x0D is the ASCII equivalent of a character. It may only be expecting you to end your text with this specific character. There are many ways to represent this character and many different forms of a command to send it over the serial line. With this, I cannot help.
On page 8 of the manual it says the SCP command of “S” stops the speakjet from speaking even if there is data in the buffer. Not sure if this is helpful or not.
I’ve got 2 Speakjets sitting in my parts pile, salvaged from earlier attempts. I had one up and working with an OoPIC R for a while, but it seemed a bit twitchy, and very particular. The next installation (soon!) will be on an ARC32, and an aux EEPROM board to store LOTS of speech data.
Yes, it has a very robotic voice, just the way I want it. The allophone system (word sounds) means you can make it say anything, and it CAN sound pretty good if you’re willing to tweak every phrase. I had problems with the ‘events’ phrases that I’m hoping to bypass with the extensive EEPROM data on the aux board. Yeah, canned, indexed responses, but I’ll be able to make LOTS of them! Five 32k units in the aux board, plenty of room.
I found the Speakjet to be very powerful, but not super-easy to use. Or use well.
You are the only one to point this out that I know of. I agree, you CAN get really good results if you play around with the sounds. In some of my words I experimented using various sounds until it was clear enough to understand. In some cases I even used a combination of sounds to form a word, and sometimes I used sounds that were completely unrelated in order to create the best result. You have to experiment.
In the video on youtube, the speakjet words were created by me, but there is a long phrase near the end that was created by Eddie, and that phrase is hard to understand. The reason it was hard to understand is a lack of pauses and tweaked sounds.
Sounds good! And you’re right, if you want to hand-assemble (by ear!) each and every word, it will sound LOTS better. You can even work on inflection and dropping tone at the end of sentences, trail the tone up for questions, etc.
All of which is alot of work. Using the “Phraselator” program and its included dictionary is a starting point. Hell, that works well enough for most uses.
But I haven’t found the Speakjet to be very user-friendly. Not incredibly complex and convoluted, but a bit tricky.
I plan on using EEPROM storage for speech data. Transmission speed shouldn’t be a problem, speech isn’t rigidly time-metered.
Hey, don’t we all miss “All your base are belong to us.”?..