Jump to content
IGNORED

Atari 7800 speech?!


Ecernosoft

Recommended Posts

Hi!

If any of you had the same experience as me, being blown away that the frenzybeserk cartridge could SPEAK...

I wanted to play 4-bit samples of voice clips too. 

Here is the code:Voices (1).a

 

If you set CTRL to %01000000 then you can string multiple voice clips together. 

Basically this is how it works:

1. "length" determines how long the sample is.

2. "location" is the word that points to the sample.

3. Samples are played at 15,720 KHZ (1 sample per WSYNC)

4. Samples can be anywhere from one byte (2 smp) or 256 bytes (512 smp)

 

When setting CTRL to %01000000 it triggers an interupt which does this:

1. Each frame, a new sample location is fetched.

2. "Where" holds the low bytes for every sample location

3. "WhereH" holds the high bytes form every sample location

4. "Lengths" holds the lengths of each sample. 

 

So, at the cost of ~60 HZ and some audio quality, you can instead of storing one huge sample saying "Hello world!"..

You can instead store a sample for H, e, l, o, W, r, and d.

 

The bad side of doing this is it makes a pluck noise whenever the IRQ happens because the last 4 it sample plays for an extended (More than a WSYNC) period of time. 

 

 

Have fun with it! And, can someone record all the letters of the alphabet and numbers 0-9 using this method please? Thanks, because I wanted ICT to say "Ecerno" and then "Have you played atari today" at the begining on startup. (The second phrase might not be posible)

 

Voices.a

  • Like 1
Link to comment
Share on other sites

1 hour ago, Ecernosoft said:

<snip>

Have fun with it! And, can someone record all the letters of the alphabet and numbers 0-9 using this method please? Thanks, because I wanted ICT to say "Ecerno" and then "Have you played atari today" at the begining on startup. (The second phrase might not be posible)

 

Voices.a 7.82 kB · 1 download

Even if you had every letter of the alphabet recorded, you wouldn't be able to combine them to say "Have you played atari today" because that's not how speech is formed. You need phenomes to form the words. You would end up with something that sounds like "HaichAyeVeeEee" instead of "have". 

 

If you want to have speech, take a look at the AtariVox. It can be easily supported by the 7800, 2600 and I believe Vectrex. You can use AtariVox to form more complex speech sounds but of course you do need to have an AtariVox plugged into your 7800

  • Like 2
Link to comment
Share on other sites

On 7/30/2022 at 9:58 AM, Ecernosoft said:

If any of you had the same experience as me, being blown away that the frenzybeserk cartridge could SPEAK...

I wanted to play 4-bit samples of voice clips too.

If the Atari 2600 can do it in a 4K binary using the TIA chip I'm sure it can be adapted for the 7800! Video below...

 

SOURCE CODE: https://github.com/rossumur/SAM2600

DISCUSSION: https://atariage.com/forums/topic/309689-software-speech-synthesizer-for-the-2600/

 

- James

 

(START AT 22:46)

 

 

  • Like 2
Link to comment
Share on other sites

On 7/30/2022 at 3:30 PM, Muddyfunster said:

Even if you had every letter of the alphabet recorded, you wouldn't be able to combine them to say "Have you played atari today" because that's not how speech is formed. You need phenomes to form the words. You would end up with something that sounds like "HaichAyeVeeEee" instead of "have". 

 

If you want to have speech, take a look at the AtariVox. It can be easily supported by the 7800, 2600 and I believe Vectrex. You can use AtariVox to form more complex speech sounds but of course you do need to have an AtariVox plugged into your 7800

Suppose you could map out all the phenomes you'd need for your phrases, and record just them and string them together ...

 

Have = "h" + "ä" (apple) + "v"

 

You = "y" + "u"

 

Played = "p" "l" "a" "i" (as in "mi") "d"

 

etc.

 

I agree though, Atarivox is more economical.  For one thing, hitting the POKEY chip eats a lot of CPU time.

 

Link to comment
Share on other sites

On 8/5/2022 at 6:24 AM, Ecernosoft said:

Uhm.......... wow. I bet the 7800 would sound better than that! But still Wow!

If sound goes through the TIA or a stock POKEY chip, 7800 speech will likely sound worse than the 2600. The Maria's DMA halts the Sally and this prevents exact control of the sample rate. However, using a custom sound chip that works independently of the Sally, you can produce high-quality sound on the 7800.

Link to comment
Share on other sites

Welp, you can manage DMA. Make sure your DMA doesn't get too high. And before writing to AUDC0, you do a WSYNC to ensure you write in HBLANK. 

10 hours ago, batari said:

If sound goes through the TIA or a stock POKEY chip, 7800 speech will likely sound worse than the 2600. The Maria's DMA halts the Sally and this prevents exact control of the sample rate. However, using a custom sound chip that works independently of the Sally, you can produce high-quality sound on the 7800.

 

Link to comment
Share on other sites

On 7/31/2022 at 2:30 PM, Eagle said:

@gambler172 I know is not A8 forum but open this file with Altira and press 1 :) 

 

sound_engine_speak.obx 2.43 kB · 9 downloads

Who cares? As long as it's atari, then we're all good. 😃

 

*see, I said the Atari had more options than NES. It was more powerful on it's own and it's enhancements still beat the NES's enhancements. 4mb of ROM!*

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