Jump to content
IGNORED

AtariVox and Retron77


Albert

Recommended Posts

Nope. I have no AtariVox and the SaveKey is emulated directly by Stella. 

 

The AtariVox Speakjet portion cannot be emulated by Stella, instead Stella is able to directly communicate with the device. There is no reason why this should not work for the R77 via USB, because that's just another computer running Stella.

 

You need a 2600-daptor flashed to AVox support (or anything similar which allows connecting the AVox to a computer) and a way to attach a 1st controller for playing the games. Whether that makes sense, I don't know.

Edited by Thomas Jentzsch
Link to comment
Share on other sites

19 minutes ago, Thomas Jentzsch said:

Nope. I have no AtariVox and the SaveKey is emulated directly by Stella. 

 

The AtariVox Speakjet portion cannot be emulated by Stella, instead Stella is able to directly communicate with the device. There is no reason why this should not work for the R77 via USB, because that's just another computer running Stella.

 

You need a 2600-daptor flashed to AVox support (or anything similar which allows connecting the AVox to a computer) and a way to attach a 1st controller for playing the games. Whether that makes sense, I don't know.

will try

Link to comment
Share on other sites

5 hours ago, Thomas Jentzsch said:

The AtariVox Speakjet portion cannot be emulated by Stella, instead Stella is able to directly communicate with the device. There is no reason why this should not work for the R77 via USB, because that's just another computer running Stella.

There needs to be support in the OS itself to treat the USB device as a virtual serial port, as that's how Stella actually 'talks' to the device (serially).  This typically needs to be either compiled into the OS (ie, Linux), or drivers installed separately (Windows, MacOS).  These are the so-called 'FTDI' serial port drivers.  We would have to speak to @DirtyHairy about this, since the R77 stuff was mostly done by him.  But I can't say for sure if R77 currently supports it.  It shouldn't be too hard to add, though.

Link to comment
Share on other sites

On 12/24/2019 at 2:49 PM, stephena said:

We would have to speak to @DirtyHairy about this, since the R77 stuff was mostly done by him.  But I can't say for sure if R77 currently supports it.  It shouldn't be too hard to add, though.

I see no fundamental issue that prevents adding FTDI serial support. On the kernel side, it should just be a matter of enabling the driver. Userspace might be trickier as there is no udev running on the R77, it is just a busybox / mdev userland. The catch is that I don't have an Atarivox to test with. I have been planning to get one anyway, though ;)

  • Like 1
Link to comment
Share on other sites

  • 1 month later...
On 12/27/2019 at 11:16 AM, DirtyHairy said:

I see no fundamental issue that prevents adding FTDI serial support. On the kernel side, it should just be a matter of enabling the driver. Userspace might be trickier as there is no udev running on the R77, it is just a busybox / mdev userland. The catch is that I don't have an Atarivox to test with. I have been planning to get one anyway, though ;)

I'd be glad to send you an AtariVox, if you're still interested in trying to add FTDI support. :) 

  • Like 2
Link to comment
Share on other sites

  • 2 months later...

Sorry if this is off topic, but this seems to be the closest thread I can find which is actually open to post to (rather than the closed "topics" you need an invite to post into)...

 

I got interested in the Atarivox's speech and sound capabilities yesterday, and I tried to read up on them to find out as much as possible...

 

Basically, the Atarivox (and the Atarivox+) is a wrapper for the Speakjet chip, which in turn contains a SP0256 core, the SP0256 being an old chip by General Instruments which was already used in devices back in the early 80's.

The Speakjet claims to have an internal 5-voice synthesizer which is also used to put out speech by using a complex mathematical model. However, I doubt if all of this can be true...

 

My main goal was to find out what sounds you can get out of the Atarivox without using the built-in allophone logic. Can you get out speech, maybe even more natural speech than with the built-in allophones? With the speech synthesizer of the TI-99 you could do that if you knew how to generate LPC data because that's what the synth operated on. Sadly, back in the day this wasn't well documented at all. But some of TI's own cartridges did that since the knowledge and encoding software was present at TI. TI Extended BASIC allowed sending in short bursts of LPC data, but no one knew how to generate it. There also was a TI PC which contained a speech synthesizer (or had one as an accessory), and there you could record your own speech which got converted to LPC. But that PC didn't sell in large numbers apparently... however, with today's knowledge it's possible to encode LPC youself at least if you understand the topic. I've successfully created a program in Visual Basic 5 which is able to convert audio to LPC suitable for the TI speech synth. On the TI-99 itself, however, there was only the possibility to use a TTS engine like the one built into the Terminal Emulator II cartridge which put out a pretty robotic sounding voice similar to the voices now appearing in the Atarivox enhanced cartridges.

 

The question is if it's possible to do better with the Atarivox as well. It is possible to freely program the synthesizer part build into the SpeakJet to generate sounds. As far as I can tell, each of the voices is able to create a sine wave, and then the sine waves get mixed together. There's a bit more with distortion being able to be added to some voices and modulation by the 6th oscillator. However, the user manual claims that MSA (Mathematical Sound Architecture) gets used to get speech out of those voices, and at this point something doesn't quite add up for me. According to this, the speech would be supposed to be generated by 6 sine wave oscillators and a bit of trickery. However, the SP0256 actually uses a 12-pole LPC filter to generate speech, which is similar to the TI synth mentioned above (which uses a 10-pole LPC filter). However, this technology is nothing like 5 or 6 sine voices, though it might produce similar results, but it needs completely different data to do so. The question, then, is if they actually still use LPC to put out speech and at some points, or for some sounds, switch to the 5-voice synthesizer to generate those. The next question, then, would be if it's possible to send in LPC data (compatible to the SP0256) to the SpeakJet (and in turn to the AtariVox) or if only the allophone engine is able to do that while the user is restricted to send data to the 5-voice synthesizer. In this case, the allophone engine would be able to do things you can't reproduce by sending in data bypassing that engine.

 

Has anyone attempted to send in sound data directly like it's written in the user guide, or was the Atarivox only ever used to output speech and its pre-defined sounds?

 

Link to comment
Share on other sites

On 4/13/2020 at 9:03 AM, Kurt_Woloch said:

Sorry if this is off topic, but this seems to be the closest thread I can find which is actually open to post to (rather than the closed "topics" you need an invite to post into)...

I think you may have more luck with your analysis and questions in the AtariVox club: 

 

  • Like 1
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...