Jump to content
patrick99e99

Trying to generate some TI99 speech

Recommended Posts

It turns out my problem was with js99er.net and not my TI code. :)

Share this post


Link to post
Share on other sites

The TMS5200/CD2501(both are same die inside, using TMS5200.COD tables) and TMS5220(using QV5220.COD tables) do not have the speech rate setting opcodes.

The TMS5220C(using QV5220.COD tables) and the CD2501ECD(using TMS5200.COD tables) from the 99/8 prototypes do have the speech rate setting opcodes.

Otherwise the chips behave pretty much the same.

 

Since the original 5200 coding table seems to have been lost (except perhaps as tables in the TI Portable Speech System ROMs), I created a new one based on the PROMOUT-dump and decap of the tms5200/cd2501 chip and its internal tables and called it TMS5200.COD.

 

I also have a somewhat corrected version of the QV5220.COD table which fixes a few errors in the pitch table vs the real chip and may result in slightly higher sound quality, which I've also attached.

Note the 'fixed' TMS5220.COD is based on QV5220 so it still has some inaccuracies in the coefficient tables, and I've copied the RMS Energy table to TMS5200.COD as well since I couldn't work out the factor or factors which the original ROM Energy table is multiplied by to produce the values in said RMS Energy table.

(If anyone wants to have a go at quadratic regression, etc, the ROM table is 0,1,2,3,4,6,8,11,16,23,33,47,63,85,114,0 and the other table is inconsistent between QBOX and the TMS5220 Datasheet, it is either: QBOX: 52,87,123,174,246,348,491,694,981,1385,1957,2764,3904,5514,7789,7789 or TMS5220 Datasheet: 0,52,87,123,174,246,348,491,694,981,1385,1957,2764,3904,5514,7789; Also keep in mind the first and the last entry (0 and 15) of the table are both silent with a special meaning, so it probably would be best to only run regression on the middle 14 entries)

 

LN

QBOX_CODS.zip

  • Like 7

Share this post


Link to post
Share on other sites

Nice to see you here, LN :)

 

(for the others: This is the one responsible for the tms52xx emulation in MAME)

  • Like 2

Share this post


Link to post
Share on other sites

Holy crap, that is awesome. I have wanted to do a speech demo and was discouraged by the 5220/5200 differences.

Share this post


Link to post
Share on other sites

Does anyone know if the TI Text to Speech .dsk file is floating around nearby on AtariAge? Wondering if it works with the XB256 compiler?

Share this post


Link to post
Share on other sites

Does anyone know if the TI Text to Speech .dsk file is floating around nearby on AtariAge? Wondering if it works with the XB256 compiler?

 

One copy is on the WHTech FTP site in the Lima UG library: 0344A.DSK

 

I would think it would work with the XB256 compiler, but I don't know for sure. It does take up a bit of memory, however, if memory serves.

 

...lee

Share this post


Link to post
Share on other sites

Once I've used the compiler I can't be satisfied with running anything uncompiled.

 

 

Sent from my iPhone using Tapatalk

Yep.

Share this post


Link to post
Share on other sites

Have been away from the TI for a while but read the thread here about ti speech.

 

It was something I always wanted to try my hand at and finally did, time consuming but fun.

 

Attached is a 8k cartridge file.

 

The cartridge speech data was created with Qbox.

 

It will run on win994a once it's turned into a cartridge file.

It can be burned to a eprom or loaded into a supercart.

 

Steve

 

spchdemo.bin

 

 

 

 

  • Like 1

Share this post


Link to post
Share on other sites

Popped it into the FlashROM 99 tonight and tried it out. I get some hiccups from the Speech Synth then the computer resets.

Share this post


Link to post
Share on other sites

Attached is a 8k cartridge file.

 

The cartridge speech data was created with Qbox.

 

It will run on win994a once it's turned into a cartridge file.

I was impressed with the "To infinity and beyond".

 

It says Copyright 2014. ;)

 

 

Edited by sometimes99er

Share this post


Link to post
Share on other sites

Yes, as mentioned in this thread, Qbox creates speech for the TMS5220, not for the TMS5200 used in the TI Speech Synthesizer (and emulated in MAME).

Share this post


Link to post
Share on other sites

Yes, as mentioned in this thread, Qbox creates speech for the TMS5220, not for the TMS5200 used in the TI Speech Synthesizer (and emulated in MAME).

 

Does a PDF for the TMS5200 Data Manual exist? I have not been able to find one.

 

...lee

  • Like 1

Share this post


Link to post
Share on other sites

There is a manual for the TMC0285 (aka TMS5200 aka CD2501), but they do not differ too much from the 5220. The difference is in the tables that are not shown in the manuals. The C variants have another command for setting the frame rate. See also Lord Nightmare's posting above.

  • Like 1

Share this post


Link to post
Share on other sites

The TMC0285 manual was thought to be lost for a long time, but I received a copy of it from Mike Bunyard a few years ago, so I uploaded it to WHT. As Michael noted though, the tables aren't in the manual. Lord Nightmare untangled that particular nightmare though, so all is good. :)

Share this post


Link to post
Share on other sites
On 12/12/2016 at 5:57 PM, Ksarul said:

The TMC0285 manual was thought to be lost for a long time, but I received a copy of it from Mike Bunyard a few years ago, so I uploaded it to WHT. As Michael noted though, the tables aren't in the manual. Lord Nightmare untangled that particular nightmare though, so all is good. :)

Ksarul, there is a 0 size pdf where the TMC0285 manual should be.

 

http://ftp.whtech.com/datasheets and manuals/Datasheets - TI/

 

I'm trying to determine what Pin 9 Serial Data Out was supposed to do in the TMS5200 / TMC0285. In the TMS5220 manual it is not described, but one figure mentions digital output.  The same figure appears in the 5220C preliminary manual, which goes on to document it in Section 4-5, as 10-bit serial digital output.

 

 

Share this post


Link to post
Share on other sites
25 minutes ago, FarmerPotato said:

Ksarul, there is a 0 size pdf where the TMC0285 manual should be.

 

http://ftp.whtech.com/datasheets and manuals/Datasheets - TI/

 

I'm trying to determine what Pin 9 Serial Data Out was supposed to do in the TMS5200 / TMC0285. In the TMS5220 manual it is not described, but one figure mentions digital output.  The same figure appears in the 5220C preliminary manual, which goes on to document it in Section 4-5, as 10-bit serial digital output.

 

 

I just checked-- the FTP version of the site has the document still.

ftp://whtech.com/datasheets and manuals/Hardware/Texas Instruments/PHP1500 Speech Synthesizer/TMC 0285 Speech Synthesis Processor.pdf

Share this post


Link to post
Share on other sites

I just accessed it in straight FTP mode, so it looks like the link is only broken on the HTTP side.

  • Like 1

Share this post


Link to post
Share on other sites

I found this in the SNUG FAQ prepared by Dan Eicher, http://ftp.whtech.com/datasheets and manuals/Hardware/SNUG/SNUGFAQv1.txt

 

I'm not sure what to make of it. Bugs in the CD2501/TMS5200 and therefore kludges in LPC-10 in the Speech ROMs?

 

I had poor results from running with the 5200 tables inside Blue Wizard, which surely knows nothing of any bugs in the 5200. I'm slowly trying to comprehend what's involved in producing LPC for the CD2501 (TMS5200) in the TI-99/4A speech synthesizer.

 

 

Quote
Q: Okay sports fans I ran Bruce Harrison's BINGO on the snug system.
   Everything worked as it should until the speech kicked in. The
   voice is the same male voice you hear in many of the TI games
   (likewise the woman's voice). The first problem comes when the
   program calls any "B" numbers. What happens is the "B" gets
   spoken in the "robot" voice and the number(s) gets spoken in
   the male voice. The rest of the letters and numbers are spoken
   in the male voice but there is a "whistle" in the mix. Sort of
   like the TI has a bad fitting set of dentures. ;-))))
   Any ideas Michael, Bruce?

A: AS I said, the speech of the SPVMC is only 95 percent compatible
   to TI's PHP1300: Some reasons, maybe interesting fact for all
   members of the list-serve):

   - TI did use an prototype chip of the later TMS5200, called the
     TMC 0285, marked with CD2501....(the hell knows why TI used so
     many internal names at this time).....
   - that chip had bugs.
   - for the TI 99 they corrected the bugs in the LPC-10-decoding of
     the TMC0285 inside the LPC-code..(!!!).
   - later the speech-chip became a series product, now named 
     TMS5200, later upgraded to TMS5220, then "A" and "C" (I've 
     never seen an TMS5220B)
   - these chips do not have bugs and have very good sound for 
     speech, better than the old TMC0285...
   - but these now official chips have problems with the old 
     ("crocked") LPC-code from the PHP1300


   so they produce sometimes "scratches" and "clicks", but only 
   under rare conditions. I am in work to disassemble some "old"
   LPC-code to look at it, why this happens.

   Normally one fact is valid: "LPC-10 is LPC-10", so we can use 
   every LPC-10 coded speech, independent from the processor what
   it was made for.
  
   Sorry for some "effects", this is the first time some american
   users are beta-testers too! so we ALL are learnig how to use
   speech.
  
   Tip: do not forget to select the correct bank before accessing
   voice-mem: CALL VSM0 (or DELETE VSM0 if in program) for "original"
   PHP1300 speech-data and ALL MODULES!!!!!! VSM1 for new male-voice
   and words, but different from the old set of words! VSM2 for 
   female "clock"-voice.

   :-)
   Michael
   from the snug

 

  • Like 2

Share this post


Link to post
Share on other sites
10 hours ago, FarmerPotato said:

I found this in the SNUG FAQ prepared by Dan Eicher, http://ftp.whtech.com/datasheets and manuals/Hardware/SNUG/SNUGFAQv1.txt

I'm not sure what to make of it. Bugs in the CD2501/TMS5200 and therefore kludges in LPC-10 in the Speech ROMs?

I had poor results from running with the 5200 tables inside Blue Wizard, which surely knows nothing of any bugs in the 5200. I'm slowly trying to comprehend what's involved in producing LPC for the CD2501 (TMS5200) in the TI-99/4A speech synthesizer.

I find TI history and the workarounds simply amazing. I think everybody in the market at the time had their hidden secrets.

It's the age old one still alive today: Marketing says this is the ship date - do or die ... management tells engineering to "make it happen" ... and the only constant in all of this is

brilliant software and hardware engineers doing what it took to get a 95% solution out the door. 😁

Doug

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...