Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.
|
Forum Index : Microcontroller and PC projects : Did you know S.A.M.? (text to speech)
Page 1 of 8 | |||||
Author | Message | ||||
Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 813 |
Hi to anybody! I am looking for a long time for a text to speech (TTS) system like S.A.M. in the 80's. Did you know S.A.M. ? It was a very impressive TTS on the C64 in the 80's. A guy has converted this code to a PIC24FJ64GA002 on this site . Unfortunately I get the PIC-code in the moment not to run! My PIC24FJ64GA002 did absolutely nothing! I think there are any settings wrong or I have the wrong compiler version! Is there a way to implement this code as C-function to our Micromite??? ...or can anybody help me with a proper hex-file? I think it would be a great effort to teach our Micromite to speech... I am unfortunately not able to program in C! Merry Christmas and a happy new year to all "Thebacksheders"! Frank |
||||
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9063 |
OH yes, I remember that! I had SAM for the Atari 800XL back in the day, and it was AMAZING that you could make a home computer talk like that. Now days, very high quality speech synthesisers are available even as on-line ones like Natural Reader. The thing I remember most about SAM on the Atari, was in making it say various swear words. I still have the SAM disk, and also an image of that disk I can load into an emulator, but the emulated Atari does not emulate the SAM voice, so it was nice to hear "Him" again! Smoke makes things work. When the smoke gets out, it stops! |
||||
Cherokeecruiser Newbie Joined: 25/02/2015 Location: AustraliaPosts: 25 |
Hi Don't know if this will be any use to you, but I have Used The Emic-2 in several projects and is really easy to use. It sounds just like the automated voice system airservices used to provide pilot weather briefings in the mid 1990's (DEKTALK) Just send it some serial text and it generates the speech from that. I have it connected to a GSM module to provide a dial in weather reporting system. It has a small amplifier built in on board to drive a speaker I got mine from sparkfun (https://www.sparkfun.com/products/11711) |
||||
MOBI Guru Joined: 02/12/2012 Location: AustraliaPosts: 819 |
I had (have?) One for the Apple 11 called Simulated Automatic Mouth. It came with a floppy. It had a chip and speaker on board. Didn't use it much though. Was never able to get any data on it for analysis. I'll have a scrounge and see if I still have it. David M. |
||||
Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 813 |
@Grogster: I have SAM for a C64 emulator and it works very fine @Cherokeecruiser: The Sparkfun-board costs 59$!!! ...a empty PIC costs 3.5$ and I like the idea to let different robots to speak (not only one)... @Mobi: That's the same program! I think Apple had a better quality with the separate chip... Frank |
||||
Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 813 |
Have anybody experience with the Microchip C30 Compiler and can help me to compile this SAM-code to compile for a PIC24FJ64GA002? Thanks a lot!!! Frank |
||||
cicciocb Regular Member Joined: 29/04/2014 Location: FrancePosts: 70 |
Hi Frank, the free time available during the Christmas holidays, gave me enough time to port the SAM code to run inside a pic32mx150. I didn't yet tested but it should also works on the pic32mx170. The sound quality is very nice, identical to the site http://simulationcorner.net/index.php?page=sam. You just need a serial connection and a loudspeaker, as the sound is generated with a PWM. If you (or someone else) are interested, I will provide the .hex file. Happy new year. Cicciocb |
||||
Chris Roper Senior Member Joined: 19/05/2015 Location: South AfricaPosts: 280 |
That sounds great Cicciocb. But you should have a demo of it singing "La Marseillaise" rather than "The Star Spangled Banner" :) I would very much like a copy of that hex file. Cheers, and Happy New Year everyone, Chris http://caroper.blogspot.com/ |
||||
kiiid Guru Joined: 11/05/2013 Location: United KingdomPosts: 671 |
@cicciocb, this is amazing news! Are you planning to release it to the public at some stage so others can enjoy too? http://rittle.org -------------- |
||||
cicciocb Regular Member Joined: 29/04/2014 Location: FrancePosts: 70 |
Hi all, please find here the .hex for the pic32mx150F128B; it should run also on the 170 as it share the same structure of the 150. It needs to be wired as a micromite (including the 47uF capacitor) and uses the following pins : RS232 9600 8 bits No parity TX : RB10 (pin 21) RX : RB11 (pin 22) BUSY_PIN : RB2 (pin 6) OUT : RB15 (pin 26) You can just type the text followed by return (or Line Feed or both) and the voice will be generated. During the speech, the BUSY_PIN goes to HI and it return back to LOW at the end; it can be used to sync with the controller without be obliged to parse the serial data. There are some commands available, type @HELP for the list. For the output you can simply connect a loudspeaker between the PIN26 and the ground; I suggest to put a capacitor (I use a 100uF) in series between the output and the loudspeaker. Enjoy. 2016-01-03_155408_PIC32_SAM_beta.production.zip Cicciocb |
||||
Chris Roper Senior Member Joined: 19/05/2015 Location: South AfricaPosts: 280 |
Thanks, I have a few MX150's in my parts draws and will build one up. It is a bit late this evening but a great project for tomorrow. merci beaucoup, Chris http://caroper.blogspot.com/ |
||||
Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 813 |
Hi Cicciocb, thank you very much! These are very good news! I have SAM working in the meantime (since this morning ) on a PIC24FJ64GA002. The sound is really good after little adjustments on speed, pitch, frequency and so one.. - I am really happy!!! The PIC24FJ64GA002 is very similar to the PIC32MX150/170 in hardware so I have it running on my Microchip Microstick with a low-pass filter (like in the Raspberry Pi One with 2 resistors and 2 capacitors) and an active loadspeaker. I changed the RS232 parameters to 9600,8,N,1 and it works like a charm! I must try it to use only a 100µF capacitor like you. I think it could be possible to get a much more better sound quality with a better filter... - have somebody experience which audio filters??? Is anybody interested on the modified code or the hex-file? Did you think it would be possible to modify your code as a C-function plug-in for a Micromite? It would be great to have this feature within our MMBasic... Thanks a lot!!! Serious SAM for ever!!! (...oh, this was another game! ) Frank |
||||
CircuitGizmos Guru Joined: 08/09/2011 Location: United StatesPosts: 1421 |
I programmed this really quickly ( I just dropped a '150 in place on the CGMICROKIT board ) and it works great! @TEXT : Activate the Text mode @PHONEME : Activate the Phoneme mode DEBUG_ON : shows the phonemes generated DEBUG_OFF : obvious meaning @SPEED= : change the speed (0-255) default=72 @PITCH= : change the pitch (0-255) default=64 @MOUTH= : change the mouth (0-255) default=128 @THROAT= : change the throat(0-255) default=128 @HELP The DEBUG commands should have @ before them. If you turn on debug, then the next typed line loses the first character. Backspace is ignored. If anyone wants a programmed chip, please let me know. Micromites and Maximites! - Beginning Maximite |
||||
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9063 |
@ cicciocb - Who's a clever newbie then?!(rhetorical) I could rustle up a PCB for anyone interested, based on cicciocb's pinout etc, and post the Gerbers here. PCB would be small 50x50, ten of which can be had for about US$10..... I still have several DIL 150's left, so I might have to try this thing out myself! Smoke makes things work. When the smoke gets out, it stops! |
||||
OA47 Guru Joined: 11/04/2012 Location: AustraliaPosts: 899 |
I thought I would have a play with the speech generation and flashed a 150 chip with the hex file. The unit gives the programmed speech on start up but I don't seem to be able to communicate with it via the comm port. Am I right to assume that I can connect Tera Term at 9600,n,1 to the com1 port (pins 21,22) and get an echo of the characters sent? |
||||
cicciocb Regular Member Joined: 29/04/2014 Location: FrancePosts: 70 |
Yes, it should works with 9600, No parity 8 bits. Have you tried to reverse the TX and RX pins ? |
||||
OA47 Guru Joined: 11/04/2012 Location: AustraliaPosts: 899 |
Thanks for the quick reply cicciocb. I did try swapping the tx and rx with no result. I am using a usb-ttl converter, do I need and inversion of the data polarity? |
||||
OA47 Guru Joined: 11/04/2012 Location: AustraliaPosts: 899 |
Replaced with a fresh usb-ttl converter all is working as expected. (Hope this is not one of those bricking episodes with the converter chip) |
||||
OA47 Guru Joined: 11/04/2012 Location: AustraliaPosts: 899 |
I must admit EXTERMINATE EXTERMINATE did give me a smile. (for all you DR WHO fans) GM |
||||
Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 813 |
Hi Cicciocb, did you share your C-code with us? ...I try to learn C... Thank you very much! Frank |
||||
Page 1 of 8 |
Print this page |