Sign in

username:

password:



Not a member?

Search basicx



Search tips

Subscribe to basicx



basicx by Keywords

Accelerometer | ADC | ADXL | Adxl20 | AVR | BasicStamp | BX-35 | BX28 | BX35 | COM3 | Compiler | Downloader | EEPROM | Electromagnet | GetADC | GP2D1 | GPS | I2C | IDE | Keypad | LCD | LCD+ | MIDI | Motors | Multitasking | Netmedia | Networking | PCB | PID | PlaySound | PWM | Relays | RTC | Servo | ShiftOut | SitePlayer | SPI | Stack | Timer | USB

Ads

Discussion Groups

Discussion Groups | BasicX | Re: ascci speech from BX24

Discussion forum for the BasicX family of microcontroller chips.

Re: ascci speech from BX24 - Ron A. Nucci - Apr 26 9:46:00 2000

BasicX group

On one of my robots I have an old ASCII text to speech converter board using
the GI Sp0256a-al2 Voice Synthesizer chip and a GI cts256a-al2 cpu (old PIC
cpu). These to chips together accept any ASCII text string and convert them
speech. The SP0256 generates the 64 allophones required to say any word.

I would like to do this with the BX24. I could play each allophone from the
SP0256 and record it into the EEPROM on the BX24. Then using the PlaySound
command you could play the allophone sounds in sequence required for the
words you wish the BX24 to speak.

Has anyone done anything like this ?

Thank you

Ron A. Nucci
-----Original Message-----
From: Ron A. Nucci <>
To: <>
Date: Wednesday, April 26, 2000 7:22 AM
Subject: [BasicX] BasicX] PlaySound command Basicx people

I would like anyone’s thoughts on using the BX24 sound record and play
capabilities. Specifically how do you get it to record a sound to its EEPROM
then play it back out a pin (I assume using the PlaySound command).

Chris Harriman from NetMedia said "This is what our ADCTOSERIAL and
SERIALTODAC functions are all about. " The closest command I could find
listed in the "System Library" manual is ADCtoCom1 and Com1toDAC I assume
these are the commands he is referring to ? These commands appear to send
data in and out of the serial port, perhaps this would be used for recording
and playing sounds from your PC’s harddrive ? The PlaySound command itself looks very straight forward to use and I assume
I just take the assigned output pin and run it to an audio amp like a LM386
to a speaker?

But how do you get the data into the EEPROM in the first place in the
correct format? I would think you would connect a microphone and op-amp to
an input pin then use some code like GetADC to sample the incoming sound and
write it to the EEPROM ?

Thank you Ron A. Nucci
[Non-text portions of this message have been removed] ------------------------------------------------------------------------
IT Professionals: Match your unique skills with the best IT projects at
http://click.egroups.com/1/3381/4/_/565855/_/956758955/
------------------------------------------------------------------------






(You need to be a member of basicx -- send a blank email to basicx-subscribe@yahoogroups.com )


Re: ascci speech from BX24 - Gordon McComb - Apr 26 11:33:00 2000

The SPO256 does not generate speech simply by stringing phonemes together.
There are mix and pitch algorithms built into the chip. You would need to
replicate these. I think you'll find that merely splicing sounds together
will yield speech that is hard to understand.

-- Gordon At 07:46 AM 4/26/2000 -0700, you wrote:
>BasicX group
>
>On one of my robots I have an old ASCII text to speech converter board using
>the GI Sp0256a-al2 Voice Synthesizer chip and a GI cts256a-al2 cpu (old PIC
>cpu). These to chips together accept any ASCII text string and convert them
>speech. The SP0256 generates the 64 allophones required to say any word.
>
>I would like to do this with the BX24. I could play each allophone from the
>SP0256 and record it into the EEPROM on the BX24. Then using the PlaySound
>command you could play the allophone sounds in sequence required for the
>words you wish the BX24 to speak.
>
>Has anyone done anything like this ?




(You need to be a member of basicx -- send a blank email to basicx-subscribe@yahoogroups.com )

Re: ascci speech from BX24 - Ron A. Nucci - Apr 26 11:43:00 2000

Gordon

Its an honor to exchange email with you I'm a big fan of your robotic
writings.

I could be wrong but I believe the CPU that is the companion to the SP0256
handles the allophone transitions. It is an old PIC7041 (GI CTS256AL2) and
it is programmed with the Naval Research Labs text to speech algorithm. I
also have a robot that just uses the SP0256-AL2 alone without the companion
PIC text to speech processor and I have to write the allophone sequences
myself and if I'm not careful with the sequence I choose it sounds very bad.
This leads me to believe that the SP0256 by itself just speaks the
allophones in a canned fashion with no regard for transitions (but please
correct me if I'm wrong).

Thank you

Ron A. Nucci
-----Original Message-----
From: Gordon McComb <>
To: <>
Date: Wednesday, April 26, 2000 9:33 AM
Subject: Re: [BasicX] ascci speech from BX24 >The SPO256 does not generate speech simply by stringing phonemes together.
>There are mix and pitch algorithms built into the chip. You would need to
>replicate these. I think you'll find that merely splicing sounds together
>will yield speech that is hard to understand.
>
>-- Gordon >At 07:46 AM 4/26/2000 -0700, you wrote:
>>BasicX group
>>
>>On one of my robots I have an old ASCII text to speech converter board
using
>>the GI Sp0256a-al2 Voice Synthesizer chip and a GI cts256a-al2 cpu (old
PIC
>>cpu). These to chips together accept any ASCII text string and convert
them
>>speech. The SP0256 generates the 64 allophones required to say any word.
>>
>>I would like to do this with the BX24. I could play each allophone from
the
>>SP0256 and record it into the EEPROM on the BX24. Then using the PlaySound
>>command you could play the allophone sounds in sequence required for the
>>words you wish the BX24 to speak.
>>
>>Has anyone done anything like this ? >
>------------------------------------------------------------------------
>IT Professionals: Match your unique skills with the best IT projects at
>http://click.egroups.com/1/3381/4/_/565855/_/956766805/
>------------------------------------------------------------------------






(You need to be a member of basicx -- send a blank email to basicx-subscribe@yahoogroups.com )

Re: ascci speech from BX24 - Gordon McComb - Apr 26 12:55:00 2000

First, thanks for the nice comments, though I hope you didn't mean my
writing was robotic! <g>

It's been a while since I used the SPO256, but I recall that it includes
provisions for setting pitch if you're not using the text-to-speech chip.
The pitch of the specific sound was independent of the sound, or any sound
transitions.

The text-to-speech chip did a lot of the work for programmers, but as you
noted didn't do anything the SPO256 could not do on its own (recall the
SPO256 just has an eight-bit port, which can be controlled either via some
external bus, like a parallel port, or the text-to-speech chip).

The blending of phonemes would be done in the SPO256, quite possibly
(though who knows) through some predictive algorithm. Without the blending
it becomes just a staccato of sounds. I tried this very thing some time ago
using WAV files I collected and simply strung together, and it the speech
was extremely poor.

That said, if anyone can make this work in a reasonable fashion it would be
welcome. There really isn't an inexpensive speech synthesizer on the market.

-- Gordon At 09:43 AM 4/26/2000 -0700, you wrote:
>Its an honor to exchange email with you I'm a big fan of your robotic
>writings.
>
>I could be wrong but I believe the CPU that is the companion to the SP0256
>handles the allophone transitions. It is an old PIC7041 (GI CTS256AL2) and
>it is programmed with the Naval Research Labs text to speech algorithm. I
>also have a robot that just uses the SP0256-AL2 alone without the companion
>PIC text to speech processor and I have to write the allophone sequences
>myself and if I'm not careful with the sequence I choose it sounds very bad.
>This leads me to believe that the SP0256 by itself just speaks the
>allophones in a canned fashion with no regard for transitions (but please
>correct me if I'm wrong).




(You need to be a member of basicx -- send a blank email to basicx-subscribe@yahoogroups.com )

Re: ascci speech from BX24 - David Emrich - Apr 26 20:29:00 2000

----- Original Message -----
From: Gordon McComb <>
To: <>
Sent: Thursday, 27 April 2000 00:33
Subject: Re: [BasicX] ascci speech from BX24 > The SPO256 does not generate speech simply by stringing phonemes together.
> There are mix and pitch algorithms built into the chip. You would need to
> replicate these. I think you'll find that merely splicing sounds together
> will yield speech that is hard to understand. Actually it's not too bad. At least on par with, if not better than, the
Votrax phoneme stringing sounded. The mix and pitch codes were pre-computed
AFAIK, and stored in the word dictionary in the internal ROM. Finding out
which words were in the ROM was easy, you could tell when the cts was
guessing as it went along and ended up almost spelling words out that it
couldn't make fit the internal rules.

The trick is to play with it on a PC for a while, where you can make quick
changes and test them. (There was a PC-parallel port to SPO256 schematic
around somewhere, anyone capable of connecting one to a BX24 ought to be
able to figure it out for a PC themselves though). > >On one of my robots I have an old ASCII text to speech converter board
using
> >the GI Sp0256a-al2 Voice Synthesizer chip and a GI cts256a-al2 cpu (old
PIC

PIC? I don't think so. The cts256 was around ages before Microchip PIC's
and the architecture isn't anything like them.

> >cpu). These to chips together accept any ASCII text string and convert
them
> >speech.

To the best of their limited vocabulary, yes.

> > The SP0256 generates the 64 allophones required to say any word.

In English, or English-like languages. You should try getting them to speak
another language, Spanish or French or Italian sound funny, but still
moderately understandable with some work. Slavic languages are pretty
bad...

> >I would like to do this with the BX24. I could play each allophone from
the
> >SP0256 and record it into the EEPROM on the BX24. Then using the PlaySoun
d
> >command you could play the allophone sounds in sequence required for the
> >words you wish the BX24 to speak.
> >
> >Has anyone done anything like this ?

Not with a BX-24, but I did have a spo256 connected to a PC parallel port.
The only thing I can recommend is that you play each of the 64 allophones
about a second apart, displaying the byte-code as the spo "says" them. Then
play with the pitch controls and repeat. Build up an idea in your mind
about how the pitch controls affect th eway that individual allophones can
be strung together. Then write your "dictionary" of words along with the
pitch controls and off you go.

While the results might not be as good as you expect, it can still be a lot
of fun!

David.




(You need to be a member of basicx -- send a blank email to basicx-subscribe@yahoogroups.com )