Speech Adapter info thread

Hardware questions and modifications
Trixter
Posts: 720
Joined: Mon Sep 01, 2008 12:00 am
Location: Illinois, USA
Contact:

Re: Speech Adapter info thread

Post by Trixter »

Now that I've converted the scanned copies over to PDF and made them available, I want to throw the xerox pages out. Would anyone like them, or is it ok to toss them? (PDFs are superior, IMO, but if someone wants the physical pages, let me know)
You're all insane and trying to steal my magic bag!
Trixter
Posts: 720
Joined: Mon Sep 01, 2008 12:00 am
Location: Illinois, USA
Contact:

Re: Speech Adapter info thread

Post by Trixter »

If I don't hear from anyone in a week, I'll toss them, so speak up if you want the pages. I'll pay shipping.
You're all insane and trying to steal my magic bag!
Brutman
Site Admin
Posts: 1331
Joined: Sat Jun 21, 2008 5:03 pm
Contact:

Re: Speech Adapter info thread

Post by Brutman »

Trixter wrote:If I don't hear from anyone in a week, I'll toss them, so speak up if you want the pages. I'll pay shipping.
I'll take them ...
Trixter
Posts: 720
Joined: Mon Sep 01, 2008 12:00 am
Location: Illinois, USA
Contact:

Re: Speech Adapter info thread

Post by Trixter »

I've added a new high-quality scan of the tech ref: ftp://ftp.oldskool.org/pub/misc/Hardwar ... uncut).pdf

It's "uncut" because I didn't have a decent paper cutter to split the pages. If you print out the PDF double-sided, you can fold the entire thing in half and you've got a reproduction of the tech ref. Someday if/when I get a binder cutter, I'll re-scan and re-OCR this.

Unlike previous scans, the BIOS code is completely readable in this scan.
You're all insane and trying to steal my magic bag!
Brutman
Site Admin
Posts: 1331
Joined: Sat Jun 21, 2008 5:03 pm
Contact:

Re: Speech Adapter info thread

Post by Brutman »

Awesome - and thanks!
jharre
Posts: 68
Joined: Tue Jun 18, 2013 9:48 pm
Location: Placitas, New Mexico

Re: Speech Adapter info thread

Post by jharre »

Note that the link in Trixter's message isn't all there. You will need to to add the ").pdf" to that URL - without the quotes of course.

Jim
redmagehat
Posts: 28
Joined: Sun Sep 30, 2012 6:53 am

Re: Speech Adapter info thread

Post by redmagehat »

Resurrecting this old thread for some questions!

One of the forum members was kind enough to sell me his Speech Adapter, so it's on its way. I've been reading through the few documents available for it, and I also found a super-cool Mac app called "BlueWizard" that takes all the stuff QBox does and packages it down into a slick interface:

https://github.com/patrick99e99/BlueWizard

I have a Mac at home so this is potentially a lifesaver. I haven't had the chance to mess with it yet, but I'm looking forward to it.

That being said ... the information about how Cartridge BASIC interfaces with the Speech Adapter seems to be extremely limited. I'm starting to work on a PCjr BASIC game, and one thing I'd like to do is load LPC files generated from something like BlueWizard/QBox into RAM and trigger playback in BASIC. It's straightforward on doing the BIOS vocabulary and recording, but using externally-created files is a mystery. Have any of you guys come up with any routines that could theoretically do this? I'm not a programmer but I've been able to wrap my head around BASIC so far - delving into assembly code would be beyond my understanding.

Thought I'd start here and see if I can absorb any wisdom from you gents!
Trixter
Posts: 720
Joined: Mon Sep 01, 2008 12:00 am
Location: Illinois, USA
Contact:

Re: Speech Adapter info thread

Post by Trixter »

There might not be an official interface in BASIC other than loading the data into memory somewhere and then doing the base interrupt calls to fire off playing. Try grabbing all of the .zip files in the directory where the tech ref is and look at all of the .BAS files in them; there is probably an example for loading and playing back CVSD data, and the process would be similar for LPC.

Let us know if you have any success with the Mac program to do the conversion.
You're all insane and trying to steal my magic bag!
redmagehat
Posts: 28
Joined: Sun Sep 30, 2012 6:53 am

Re: Speech Adapter info thread

Post by redmagehat »

Thanks, I'll give it a go!
redmagehat
Posts: 28
Joined: Sun Sep 30, 2012 6:53 am

Re: Speech Adapter info thread

Post by redmagehat »

Got the speech adapter up and running, here's where I'm at.

BlueWizard seems to work great for converting audio files (.wav or .aif) to SPC format. There are actually a lot of parameters you can tweak to lock and shift pitch, highpass and lowpass filtering, and other stuff. It gives you some great customization and also the ability to tweak a bit for the source material you're working with. It only accepts 16-bit 8k mono audio files, so I just grabbed a few .wavs and converted them first. BlueWizard saves the LPC data either in text format (.LPC file extension) or binary format (.BIN file extension).

I looked through all the BASIC code on both the MakeTalk and the IBM Speech demo disk, and almost all the programs use the control subroutines referenced in the speech adapter how-to guide. The problem I'm running into is that on all the subroutines that use BLOAD to insert something directly into memory and then "speak" it, it seems to be using the CVSD decoding approach (straight audio instead of SPC synthesis). I tried BLOADing one of my SPC and BIN files into memory, but I get a "bad file mode" error.

From what I'm finding, all the SPC synthesis use cases in BASIC that I can find (including in the documentation) only seem to support the BIOS-based vocabulary, and nothing more. If the Busy Bee game loads custom SPC data though, it must definitely be possible, I just don't think there has been a program written to load and decode SPC yet.

Is the only way forward to delve into machine code and talk to the hardware directly, and write a decoder program that way? I may have hit a wall if so. The only other possibility I can think of is if BASIC has an undocumented parameter that switches it over to LPC decode mode instead of CVSD.
Post Reply