Author Topic: ZSpeak - Z80 Speech Synthesizer  (Read 9590 times)

0 Members and 1 Guest are viewing this topic.

Offline utz

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 161
  • Rating: +28/-0
    • View Profile
    • official hp - music, demos, and more
ZSpeak - Z80 Speech Synthesizer
« on: August 12, 2013, 06:30:45 am »
Hi folx,

Recently I made a speech synthesizer for ZX Spectrum, because I always wanted to make one. So I figured, why not make it available for TI calcs, too.
Alright, here it is. It's nothing special really, just outputs consonant and vowel samples, and sounds crap like all of them. Well, maybe someone will still find it useful. It should work on TI82/83/83+/84+.

There's just the bare bones routine, I don't think it's really worth making an interface for it. But maybe I'll include it in Houston Tracker at some point.

Download (asm source + doc + 82/83/8XP examples included)

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: ZSpeak - Z80 Speech Synthesizer
« Reply #1 on: August 12, 2013, 06:35:50 am »
Hmmm I can't understand what it says. <_< But it looks pretty cool. ;)

Offline AssemblyBandit

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 374
  • Rating: +60/-1
  • ~AssemblyBandit~
    • View Profile
    • briandm82.com
Re: ZSpeak - Z80 Speech Synthesizer
« Reply #2 on: August 12, 2013, 06:50:43 pm »
Very professional, I'll have to mod it a little to get it to work on the 84+C, would you want a copy?

*I added the 84+C.
« Last Edit: August 16, 2013, 05:47:42 pm by AssemblyBandit »

Offline thepenguin77

  • z80 Assembly Master
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1594
  • Rating: +823/-5
  • The game in my avatar is bit.ly/p0zPWu
    • View Profile
Re: ZSpeak - Z80 Speech Synthesizer
« Reply #3 on: August 12, 2013, 07:12:21 pm »
This is one of those projects I've always wanted to make but never did.

At first I was very impressed by the size of your sound samples (they are very small) but after listening to the example I feel like you could probably use a bit more data. ;D Did you ever think of trying to use actual sound samples for the letters? This would of course make the file size much bigger, but I think you could probably make a pretty nice sounding bot.
zStart v1.3.013 9-20-2013 
All of my utilities
TI-Connect Help
You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.
       -Runer112

Offline utz

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 161
  • Rating: +28/-0
    • View Profile
    • official hp - music, demos, and more
Re: ZSpeak - Z80 Speech Synthesizer
« Reply #4 on: August 13, 2013, 05:24:23 am »
Thanks guys. No doubt the "speech" is fairly unintelligible :P

@AssemblyBandit: Sure! I don't need it myself, but I'll include it with the download.

@thepenguin77: I had longer sample data before but it doesn't help much. I simply need better data ;) I have some ideas for the future though: One would be to use looped formants, which would allow for a significant decrease in size. The other one would be to implement actual formant synthesis using 3-tier pulse interleaving. This has never been done in 1-bit though, and I'll have to read some more theory on that. Not sure if it would actually work at all. Binary output simply isn't suited very well for speech synthesis. Certain letters like b,g,m,n are almost impossible to do.
Btw those are in fact actual sound samples, they're just pulse-width encoded to make playback easier.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: ZSpeak - Z80 Speech Synthesizer
« Reply #5 on: August 14, 2013, 05:35:47 pm »
How do I send the 8xp file to WabbitEmu by the way? When sent using older versions, the file is renamed to ZSPEAK\T and cannot be launched, and with newer WabbitEmu builds, it throws an error upon transfer.

Also I don't understand the syntax in the readme. Do we actually need to change the text inside the ASM source or do we just do something like "HELLO WORLD0":Asm(prgmZSPEAK ?
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline utz

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 161
  • Rating: +28/-0
    • View Profile
    • official hp - music, demos, and more
Re: ZSpeak - Z80 Speech Synthesizer
« Reply #6 on: August 15, 2013, 04:02:04 am »
Hmm, no idea why WabbitEmu can't handle this. I've given up on that emu tbh.
Btw you need DoorsCS or some other Ion compatible shell to run the 8xp version (even though no ROM/Shell routines are used iirc, so it could probably be compiled as stub also).
To use it, you need to change the message string in test.asm and recompile the thing. Sorry ;)

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: ZSpeak - Z80 Speech Synthesizer
« Reply #7 on: August 15, 2013, 04:04:53 am »
Yeah the thing however is that WabbitEmu is the most recent offline emulator and the most accurate one so far. JsTIfied is another nice alternative but I am more used to WabbitEmu so I tend to prefer it in general.

And I see, thanks for the info. A program that can actually read from a BASIC string would be nice, though (although this would prevent 82 compatibility) since it would be more user friendly to people who download things on ticalc but have no interest in programming.

Could someone record a WAV/MP3 demo of how it sounds like?
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: ZSpeak - Z80 Speech Synthesizer
« Reply #8 on: August 15, 2013, 10:32:16 am »
What's wrong with TilEm2? Also, i think you can add a different ion header that lets you run it with ion-shells and from the homescreen.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: ZSpeak - Z80 Speech Synthesizer
« Reply #9 on: August 15, 2013, 02:37:37 pm »
I thought sound support wasn't added yet in TilEm? Also I personally prefer WabbitEmu anyway, since it has more screen options (for grayscale in BASIC and Axe programs, in particular)
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline CalebHansberry

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 135
  • Rating: +14/-0
  • This is my personal text
    • View Profile
    • Skylites Computers
Re: ZSpeak - Z80 Speech Synthesizer
« Reply #10 on: August 15, 2013, 08:02:30 pm »
A speech synthesizer for z80 calcs is an excellent idea; I wish you well.
« Last Edit: August 15, 2013, 08:03:25 pm by CalebHansberry »
You should know, I am a Christian.

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: ZSpeak - Z80 Speech Synthesizer
« Reply #11 on: August 15, 2013, 08:11:53 pm »
My version of TilEm2 has sound support, maybe a Windows binary hasn't been built yet?

I'd also like to hear a demo of what the speech actually sounds like :)

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: ZSpeak - Z80 Speech Synthesizer
« Reply #12 on: August 15, 2013, 10:38:45 pm »
My version of TilEm2 has sound support, maybe a Windows binary hasn't been built yet?

I'd also like to hear a demo of what the speech actually sounds like :)
YEah that's what I think. IIRC the Windows version was still 1 or 2 versions behind.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline AssemblyBandit

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 374
  • Rating: +60/-1
  • ~AssemblyBandit~
    • View Profile
    • briandm82.com
Re: ZSpeak - Z80 Speech Synthesizer
« Reply #13 on: August 16, 2013, 05:58:29 pm »
DJ: To use the .8xp in WabbitEmu (I'm using v1.7.2.11 and the TI84+SE ROM) without recompiling it, open it up in a hex editor and where you see the value:ZSPEAK\T just change the '\' to T so it would be ZSPEAKTT. I also added the TI84+C, you might have to rename it from .8cp (TI Connect v4.0.0.218 works for me with .8cp and it recognizes it as a TIDevice file)

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: ZSpeak - Z80 Speech Synthesizer
« Reply #14 on: August 16, 2013, 07:08:01 pm »
By hex editor, do you mean like Resource hacker?
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)