Jump to content
IGNORED

Atari Speech Synth


Richard H.

Recommended Posts

It didn't come with a cable - I am assuming a standard passthrough DB9 connector is required (I have a nice shielded one).

 

Yes, a good quality straight through connected serial cable is what you need.

 

 

Also, where can I get the info on your PC cable and software? I did a quick browse of your website at work today and I didn't see anything.

 

It will be available soon.

 

I was going to wait untill sales of the AtariVox picked up (now that enabled games are released) and then judge the demand for the interface, which I would imagine, would be mainly bought by developers.

 

Here's the prelim interface software (inc my EEPROM manager)

 

www.vectrex.biz/AtariVox_Utility.zip

 

(BTW the makers of the SpeakJet gave me permission to incorporate their PhraseAlator software into the package).

 

 

BTW - the build quality on this thing is excellent

 

Thankyou - I always try to use good quality components

Link to comment
Share on other sites

Take a look at Alex's driver notes, it should give you enough info to code a driver for another system -

757794[/snapback]

 

If I might make a few suggestions, I've done some flash file system stuff and I really don't think the proposed file system is too good.

You might be looking at an old document. This has already been thrashed out months ago on the Stella list and via many emails.

 

It requires a lot of searching for an application to find its data,

Not a lot. Simple loop. The memory is quite small, searching is fast - it happens in the blink of an eye.

 

and there's no defined way for applications to avoid picking identical file names.

I don't see a problem here.

 

I know it was a preliminary idea, but it would be good to nail something down before people code stuff that would be incompatible with something better.

 

My personal thinking would be that file system usage should be standardized to the point that someone could use an Atarivox Manager cartridge

Hold it right there!

 

No! There is no need for an memory manager cart. There is no need to put that additional cost on the end user. We do not want this.

 

as well as to try to repair a corrupted file system.

This would only be required if the file system can be corrupted to the point where it no longer works. That would be a bad file system for this application.

 

-1- All new applications after some cutoff point, and all applications which save data in the file system (instead of the application-specific area) would be expected to have the first byte of their private space be a pointer to their first file [0 if none], and have that be followed by a null-terminated application name of up to twelve characters in length.  All such applications would have private storage addresses which are higher than any storage addresses for applications not meeting these criteria.

 

-2- Each allocated file block would start with the following information:


  •  
  • ID of owning application (1 byte; application base address/64)
     
  • Address of first block of next file (1 byte; 128+[address-$4000]/128, or 0 if none)
     
  • File index (1 byte; defined by owning application)
     
  • Address of next block within file
     
  • Block index within file (0=first block; 1=second; etc.)
     
  • For first block of file, a null-terminated filename up to 12 characters, or a 0 byte if none.
     

Unallocated blocks of memory would be kept in a linked list; the system would maintain a pointer to the first such block.  An application wishing to create a file would retrieve this pointer, check to ensure the block was actually free, retrieve the "next" pointer, rewrite the "first free block" pointer to equal the next pointer, and then write its block of data.

Way too complicated for what we need.

 

The format is:

 

Each 128 byte block starts will 11 character filename (7 bit character codes), 3 char file type, 8 char filename. Bit 7 of ther first byte is 1 of the block is free, 0 if the block is in use. The remaining bytes in each block are for user data.

 

ID bytes are a bad move since they are not human readable. A list of IDs needs to be maintained and it's more finite than what we already have. To make them human readable, any application which shows the directory would need to know the meaning of all IDs. What happens when new IDs are added? Does everyone have to send their memory manager cart or games back to be updated?

 

Linked lists are bad because they are corruptable and can break the file system.

 

BTW, What are the RAM requirements of your proposed system? This is something that is critical to those who are already working on projects which use the file system.

 

How does the memory get formatted for use in the first place? The existing system does not require any formatting. A blank EEPROM (full of 1s) will just show all blocks empty.

 

The page-write limit of the EEPROM pretty much prevents mass curruption of data. Any blocks that do get corrupted can just be overwritten/deleted by the application software.

 

Doing this sort of test before the application starts would avoid any risk of frustration from a user being unable to save his work.

This shouldn't happen. Any program that uses the file system should be able to save data to any block, whether previously used or not. Simple.

 

Any of those concepts seem interesting?

To be frank, no, sorry. I fail to see how it cures any problems, but it creates new ones.

 

Search the Stella archives for "AtariVox EEPROM File Format" to see some of the talk about this.

Link to comment
Share on other sites

It requires a lot of searching for an application to find its data,

Not a lot. Simple loop. The memory is quite small, searching is fast - it happens in the blink of an eye.

 

How many pages per frame can you read headers from while showing a display? Obviously if you screen-blank you can read stuff much faster, but screen blanking is ugly.

 

ID bytes are a bad move since they are not human readable.  A list of IDs needs to be maintained and it's more finite than what we already have.  To make them human readable, any application which shows the directory would need to know the meaning of all IDs.  What happens when new IDs are added?  Does everyone have to send their memory manager cart or games back to be updated?

That's why I'd suggested that the first part of the flashcart memory contain the name of each game. This would allow a lookup based on application ID.

 

Linked lists are bad because they are corruptable and can break the file system.

 

How are files over 117 bytes handled?

 

BTW, What are the RAM requirements of your proposed system?  This is something that is critical to those who are already working on projects which use the file system.

 

Not much. Whatever scratchpad is needed by the I2C routines, plus a 2-3 bytes, and maybe 4-6 bytes of stack (all but 2 of which could safely be used by the display kernel).

 

How does the memory get formatted for use in the first place?  The existing system does not require any formatting.  A blank EEPROM (full of 1s) will just show all blocks empty.

 

Fair advantage.

 

This shouldn't happen.  Any program that uses the file system should be able to save data to any block, whether previously used or not.  Simple.

Well, then you need a way to let users decide what they want to delete.

 

Any of those concepts seem interesting?

To be frank, no, sorry. I fail to see how it cures any problems, but it creates new ones.

 

You may be right. I sometimes have good ideas and sometimes bad ones. Only way to know is to put 'em out and see what happens. :)

 

Search the Stella archives for "AtariVox EEPROM File Format" to see some of the talk about this.

884242[/snapback]

 

I'll look into that. Thanks.

Link to comment
Share on other sites

How many pages per frame can you read headers from while showing a display?

I don't know. Haven't tried.

 

Obviously if you screen-blank you can read stuff much faster, but screen blanking is ugly.

Originally we didn't have the Static Allocation Area, just 256 blocks of file system (so it could take twice as long when the file is in located last block). I asked people how they felt about the screen blanking - no one had noticed. Just a few frames, at a time when there was a screen transition anyway.

 

BTW, did you notice the screen blank when the high scores are saved/loaded in MGD? Ok, it's quicker than a full search would be, but still, it's pretty unobtrusive.

 

That's why I'd suggested that the first part of the flashcart memory contain the name of each game.  This would allow a lookup based on application ID.

Ok, I misunderstood what you were saying there. But it's still more complicated and uses more resorces (ROM, RAM) than what people wanted. (Me included.)

 

How are files over 117 bytes handled?

They are not. The AtariVox was designed pimarily for the 2600 which as you know only has 128 bytes RAM. So simplicity was chosen over the need for bigger files. If being used with say the 7800 and more than 117 bytes are required, then multiple files is the solution. Systems that would require bigger files have more resorces to cope with this, but yes it does make things more messy in this instance. There is the situation were one file of a set could be overwritten, and it would have to be down to those applications to deal with that.

 

Not perfect I know, but the most important factor is that it must be as simple as possible for the 2600.

 

Not much.  Whatever scratchpad is needed by the I2C routines, plus a 2-3 bytes, and maybe 4-6 bytes of stack (all but 2 of which could safely be used by the display kernel).

From talking to people who actually wanted to use the file area, that would be too much.

 

Well, then you need a way to let users decide what they want to delete.

In the same way in which you'd need to let the user choose what they want to load. The ability to either overwrite or delete files is necessary to avoid having a separate memory manager cart.

 

You may be right.  I sometimes have good ideas and sometimes bad ones.  Only way to know is to put 'em out and see what happens.  :)

Sorry if I sounded rude - didn't mean to. A couple of people are already developing programs which will use the file area, and we've done our best to cater for their needs.

Edited by Alex H
Link to comment
Share on other sites

  • 2 weeks later...
Here's another pretty cool demonstration (by Craig Iannello) -

 

 

www.vectrex.biz/Daisy.mp3

891033[/snapback]

 

Awesome. Any chance of getting the raw data for these sound clips?

 

P.S.

Any ETA on the PC interface? I managed to get my AtariVox hooked up, but had to use my 800XL. I need to find / make a cable that will fit the 130XE case (I don't want to cut the 130XE case at all). Can't wait to start making this thing speak.

 

Stephen Anderson

Link to comment
Share on other sites

Awesome. Any chance of getting the raw data for these sound clips?

Yes

 

 

Here's the code for the first line of Daisy -

 

20, 51, 21, 114, 22, 88, 23, 5, 21, 114, 22, 147, 174, 21, 22, 154, 21, 114, 22, 123, 6, 167, 21, 5, 128, 21, 114, 2, 1, 22, 98, 174, 21, 22, 154, 21, 114, 6, 22, 73, 167, 21, 5, 128, 21, 114, 2, 1, 22, 82, 178, 129, 166, 0, 22, 87, 140, 128, 0, 6, 22, 98, 158, 153, 0, 22, 82, 132, 142, 2, 2, 22, 98, 188, 150, 0, 22, 73, 175, 21, 2, 162, 21, 114, 2, 1

 

P.S. Any ETA on the PC interface?

I'm having more PCB's made this week, I'll have them built in less than a Month

 

 

I managed to get my AtariVox hooked up, but had to use my 800XL.

Nice :)

Edited by Richard H.
Link to comment
Share on other sites

  • 4 weeks later...
Re "Richard H."`s avatar graphic:

 

What is that wierd pic of a guy (looks like he`s sitting in a blue jumpsuit)?

 

Is that from some TV show from the 1980's? If so, which one?  Far out!

906274[/snapback]

 

Bruce Dern with a two legged robot in the sci-fi movie, Silent Running. 1974? worth watching at least once!

 

Rob Mitchell, Atlanta, GA

Link to comment
Share on other sites

worth watching at least once!

I've seen it 9 times :love:

906638[/snapback]

 

I saw it in the '70s .. and then I found the VCS tape in a thrift store and nabbed it!

 

Silent Running: Weird, spooky, dark, futuristic, environmental sci-fi flick .. which features an earthy song by Joan Baez.

 

Rob Mitchell, Atlanta, GA

Link to comment
Share on other sites

  • 1 month later...
P.S. Any ETA on the PC interface?

I'm having more PCB's made this week, I'll have them built in less than a Month

 

 

BUMP

 

Just a bump to ask if the PC interface boards are for sale yet. I'm hoping to have my 130XE back up & running again soon. Thanks.

 

Stephen Anderson

Link to comment
Share on other sites

Just a bump to ask if the PC interface boards are for sale yet.  I'm hoping to have my 130XE back up & running again soon.  Thanks.

 

Yes, I have a few built, not cased though (haven't got around to ordering them yet)

 

The case that fits it is available in the US from Pactec, and is model CNS-0404

 

http://www.pactecenclosures.com/Plastic-En...04-drawing.html

 

 

Let me know if you want to wait, or case it yourself (you only need to drill one hole for the PSU plug)

 

post-2630-1127738028_thumb.jpg

 

 

PM me

Link to comment
Share on other sites

  • 2 months later...
Sort of like a Gorf or Berzerk machine getting into the Christmas spirit.

:grin:

 

If anyone wants to use them, here are the codes -

 

'Jingle Bells'

20, 96, 21, 114, 22, 88, 23, 5, 21, 95, 22, 82, 165, 7, 129, 143, 159, 170, 130, 145, 187, 6, 165, 7, 129, 143, 159, 170, 130, 145, 187, 21, 100, 165, 7, 129, 141, 7, 22, 98, 143, 159, 22, 65, 8, 135, 8, 146, 7, 22, 73, 190, 131, 7, 22, 82, 185, 130, 21, 80, 154, 6, 22, 87, 6, 21, 110, 164, 185, 8, 136, 191, 186, 8, 134, 141, 8, 129, 8, 191, 8, 129, 167, 22, 82, 8, 191, 162, 148, 155, 174, 154, 128, 22, 98, 147, 14, 136, 8, 141, 184, 153, 187, 6, 22, 87, 164, 22, 73, 198, 131, 141, 21, 110, 22, 65, 187, 145, 21, 80, 154


'God Rest Ye Merry Gentlemen'

20, 96, 21, 114, 22, 88, 23, 5, 21, 100, 22, 55, 179, 137, 175, 148, 131, 187, 191, 22, 82, 128, 140, 130, 22, 73, 148, 128, 8, 128, 22, 65, 165, 7, 131, 141, 22, 62, 191, 145, 22, 55, 140, 131, 8, 141, 22, 49, 145, 131, 191, 22, 55, 142, 136, 190, 22, 62, 128, 143, 22, 65, 8, 160, 22, 73, 174, 129, 187, 22, 82, 21, 90, 140, 154, 6, 21, 100, 22, 55, 148, 128, 7, 140, 131, 140, 22, 82, 172, 7, 151, 21, 114, 182, 148, 155, 187, 191, 22, 73, 152, 21, 100, 22, 65, 187, 7, 154, 7, 128, 8, 166, 22, 62, 128, 22, 55, 150, 22, 49, 147, 134, 167, 21, 110, 22, 55, 171, 153, 141, 21, 114, 22, 62, 136, 136, 142, 22, 65, 194, 148, 129, 187, 21, 100, 22, 73, 140, 132, 187, 22, 82, 21, 70, 174, 154, 21, 110, 22, 82, 8, 191, 162, 22, 87, 187, 7, 154, 7, 128, 8, 166, 22, 73, 8, 134, 187, 22, 82, 8, 135, 8, 146, 22, 87, 186, 148, 134, 8, 140, 22, 98, 187, 7, 130, 154, 22, 110, 191, 132, 141, 187, 22, 82, 199, 163, 133, 22, 73, 185, 8, 131, 8, 141, 22, 65, 147, 8, 128, 22, 55, 147, 150, 22, 62, 179, 136, 141, 6, 22, 65, 21, 105, 154, 22, 73, 187, 191, 148, 21, 90, 154, 21, 95, 22, 65, 137, 137, 22, 73, 164, 21, 110, 22, 82, 191, 155, 22, 87, 174, 128, 143, 187, 7, 22, 82, 8, 134, 166, 7, 194, 8, 134, 140, 22, 73, 7, 22, 65, 186, 153, 191, 22, 62, 8, 132, 8, 141, 177, 21, 110, 7, 22, 55, 165, 156, 21, 125, 22, 65, 194, 8, 134, 140, 7, 22, 62, 186, 153, 191, 22, 55, 8, 132, 8, 141, 177, 21, 90, 22, 73, 165, 156, 6, 21, 95, 22, 65, 137, 137, 22, 73, 164, 21, 110, 22, 82, 191, 155, 22, 87, 22, 98, 174, 128, 8, 143, 187, 21, 100, 22, 110, 8, 134, 166, 7, 22, 82, 194, 8, 134, 140, 22, 73, 22, 65, 186, 153, 191, 22, 62, 7, 8, 132, 8, 141, 177, 21, 50, 22, 55, 165, 156


'Holly and the Ivy'

20, 96, 21, 114, 22, 88, 23, 5, 21, 110, 22, 98, 190, 134, 184, 137, 145, 128, 8, 132, 8, 141, 177, 22, 165, 8, 169, 8, 128, 22, 147, 155, 22, 123, 166, 128, 22, 98, 185, 8, 131, 8, 141, 8, 169, 154, 7, 152, 171, 164, 190, 22, 165, 186, 15, 138, 15, 138, 146, 22, 147, 178, 148, 164, 8, 144, 22, 131, 8, 134, 166, 22, 123, 8, 135, 8, 146, 22, 98, 190, 134, 191, 148, 128, 187, 21, 114, 22, 123, 169, 8, 132, 8, 191, 152, 22, 82, 8, 129, 8, 141, 190, 134, 22, 73, 147, 8, 138, 177, 187, 22, 98, 21, 100, 190, 134, 22, 123, 184, 137, 145, 22, 131, 128, 22, 123, 170, 150, 187, 22, 110, 190, 134, 21, 70, 22, 98, 194, 7, 148, 163, 141


'We Wish You A Merry Christmas'

20, 96, 21, 114, 22, 88, 23, 5, 21, 115, 22, 73, 147, 8, 128, 22, 98, 7, 147, 129, 8, 189, 7, 8, 160, 22, 110, 135, 22, 98, 140, 130, 148, 7, 22, 87, 148, 128, 22, 82, 194, 148, 129, 187, 140, 132, 187, 147, 8, 128, 22, 110, 7, 147, 129, 8, 189, 7, 8, 160, 22, 123, 135, 22, 110, 140, 130, 148, 7, 22, 98, 148, 128, 22, 87, 194, 148, 129, 187, 22, 73, 140, 132, 187, 147, 8, 128, 22, 123, 7, 147, 129, 8, 189, 7, 8, 160, 22, 131, 135, 22, 123, 140, 130, 148, 7, 22, 110, 148, 128, 22, 98, 194, 148, 129, 187, 22, 82, 140, 132, 187, 22, 73, 8, 132, 8, 141, 177, 135, 21, 114, 22, 82, 183, 132, 198, 22, 110, 198, 128, 128, 21, 105, 22, 87, 141, 160, 22, 98, 143, 8, 149, 21, 115, 22, 73, 8, 8, 179, 138, 138, 177, 6, 22, 98, 191, 157, 174, 129, 143, 187, 147, 8, 128, 22, 87, 170, 148, 129, 143, 6, 8, 191, 162, 22, 98, 8, 160, 22, 87, 7, 8, 132, 8, 141, 177, 22, 82, 7, 128, 153, 22, 73, 194, 128, 141, 30, 40, 22, 110, 7, 147, 8, 128, 22, 123, 7, 147, 129, 8, 189, 22, 110, 7, 8, 160, 135, 22, 98, 140, 130, 148, 22, 110, 148, 128, 22, 147, 194, 148, 129, 187, 22, 73, 140, 132, 187, 21, 110, 8, 132, 8, 141, 177, 133, 21, 114, 22, 82, 183, 132, 198, 22, 110, 198, 198, 128, 128, 21, 105, 22, 87, 141, 160, 22, 98, 143, 149

'Frosty The Snowman'

20, 47, 21, 114, 22, 88, 23, 5, 23, 0, 21, 100, 22, 98, 186, 148, 137, 137, 187, 22, 82, 191, 128, 21, 113, 22, 87, 190, 131, 22, 98, 188, 7, 142, 137, 7, 164, 22, 131, 140, 8, 132, 8, 141, 22, 123, 6, 147, 134, 167, 22, 131, 130, 22, 147, 165, 136, 145, 22, 131, 145, 128, 22, 123, 183, 132, 198, 22, 110, 198, 128, 22, 98, 188, 21, 95, 164, 145, 6, 21, 113, 22, 123, 147, 129, 8, 8, 190, 22, 131, 130, 22, 147, 195, 137, 141, 22, 131, 195, 136, 170, 22, 123, 198, 157, 198, 22, 110, 8, 132, 8, 141, 177, 130, 22, 98, 171, 138, 22, 131, 191, 136, 141, 22, 82, 142, 164, 167, 22, 98, 6, 21, 118, 8, 132, 8, 141, 177, 22, 110, 8, 191, 162, 22, 98, 157, 187, 22, 87, 140, 154, 174, 21, 102, 22, 82, 163, 191, 22, 87, 8, 134, 166, 22, 98, 195, 164, 145, 30, 60, 21, 100, 22, 98, 186, 148, 137, 137, 187, 22, 82, 191, 128, 21, 113, 22, 87, 190, 131, 22, 98, 188, 7, 142, 137, 7, 164, 22, 131, 140, 8, 132, 8, 141, 6, 22, 123, 8, 129, 167, 22, 131, 131, 22, 147, 186, 130, 148, 22, 131, 128, 22, 123, 8, 192, 154, 146, 22, 110, 8, 169, 154, 22, 98, 8, 187, 7, 130, 154, 6, 22, 123, 183, 128, 22, 131, 147, 134, 167, 22, 147, 140, 154, 174, 22, 131, 8, 134, 166, 22, 123, 188, 7, 142, 137, 7, 164, 22, 110, 171, 134, 191, 8, 169, 8, 128, 22, 98, 182, 130, 145, 22, 131, 174, 148, 131, 141, 22, 82, 142, 137, 164, 22, 98, 184, 8, 163, 22, 110, 183, 128, 22, 98, 194, 154, 140, 22, 87, 21, 105, 8, 191, 162, 22, 82, 145, 157, 186, 22, 73, 147, 14, 136, 8, 141, 22, 65, 174, 154, 30, 70, 21, 110, 22, 65, 8, 169, 150, 22, 110, 140, 134, 187, 191, 183, 8, 132, 166, 22, 131, 170, 128, 141, 8, 187, 134, 140, 22, 123, 140, 132, 178, 22, 110, 128, 194, 22, 98, 8, 129, 8, 141, 22, 82, 169, 8, 132, 8, 191, 22, 87, 137, 146, 175, 21, 110, 22, 110, 187, 129, 146, 195, 22, 98, 183, 8, 132, 191, 22, 87, 8, 169, 154, 22, 82, 186, 163, 141, 174, 6, 21, 114, 186, 153, 22, 73, 185, 8, 131, 8, 141, 8, 169, 154, 22, 98, 198, 145, 154, 187, 191, 8, 129, 8, 191, 22, 123, 136, 136, 142, 183, 129, 167, 22, 73, 183, 8, 131, 174, 6, 183, 128, 22, 123, 6, 170, 128, 22, 147, 178, 132, 143, 22, 131, 8, 191, 162, 22, 123, 174, 8, 132, 141, 8, 187, 21, 90, 22, 110, 131, 22, 98, 148, 163, 142, 177

Link to comment
Share on other sites

Definitely cool! I have been messing with mine, but haven't come up with anything too cool yet.

 

It's been interesting comparing the speech from the VoiceJet to that of the software package SAM. I have always had a fascination with this stuff.

 

Stephen Anderson

Link to comment
Share on other sites

I have been messing with mine

Do you have the PC interface ?

 

It's pretty hard / frustrating to do anything without it.

 

It's been interesting comparing the speech from the VoiceJet to that of the software package SAM.

To my ears the voice sounds the same, perhaps they modelled the SpeakJet allophone set on Sam or something.

Link to comment
Share on other sites

I have been messing with mine

Do you have the PC interface ?

 

It's pretty hard / frustrating to do anything without it.

 

It's been interesting comparing the speech from the VoiceJet to that of the software package SAM.

To my ears the voice sounds the same, perhaps they modelled the SpeakJet allophone set on Sam or something.

976855[/snapback]

 

Yeah - I got the interace from you a while back. Sadly I haven't had the time to put it in a case or even test it out yet. I've been spending most of my (limited) free time reliving my BBS days via telnet on my 130XE. I did get the chip talking on my Atari though - mostly just messing with the different allophones and speed settings.

 

I am trying to come up with a custom computer desk that will allow me to have all my systems out and hooked up side by side. As it is now, I am constantly having to shuffle gear around.

 

Stephen Anderson

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...