Talking X16 Speech Synthisizer

All aspects of programming on the Commander X16.
Post Reply
User avatar
schristis
Posts: 46
Joined: Sat Apr 08, 2023 6:28 am

Talking X16 Speech Synthisizer

Post by schristis »

I would like to make a program for the X16 to easily arrange a library of allophones so you can have the X16 say what you want.

I have the 64 allophones on the SD card, that are about 1 or 2 KB each; and send it to Audio register location $9F3D (AUDIO_DATA)
in the order I choose for it to say something.

I can get the X16 to talk, and I have a video of it in the link below.....
https://www.youtube.com/watch?v=xOnJ_n-c57U

Ummm... I can have it speak allot more clearly on my windows computer..... and is allot more harsh on the X16.. and must not have it correct... as you can see from the video link... the X16 is quite harsh...

I actually found pretty good allophones, and have gone through each with a tooth-comb changing them from .WAV to .RAW... (Which is just the WAV file without the information)...(I think)

I don't know whether this is the PCM I'm putting into $9F3D, and somehow managing managing to have the X16 say something very scratchily....

The link to the allophones both WAV & RAW are below.... (DropBox)
https://www.dropbox.com/scl/fo/mbcumt66 ... v4sh6&dl=0

How do I get better audio from the X16? because what I did was, remove the unused information from the WAV file, and renamed it RAW... and I did this, verry cleanly.... is there a converter I should use to change a WAV file to go into $9F3D ?

Anyway, anyone can use these allophones, if you want to download them for your use if you want to make your own X16 talk...

But any information you can give me would be appreciated to have it speaking clearer .... Otherwize, I wont make my little program..

Best Regards
Shaun
Allophone list.PNG
Allophone list.PNG (186.11 KiB) Viewed 1624 times
SP0256A-AL2.pdf
(15.13 MiB) Downloaded 51 times
User avatar
ahenry3068
Posts: 1083
Joined: Tue Apr 04, 2023 9:57 pm

Re: Talking X16 Speech Synthisizer

Post by ahenry3068 »

schristis wrote: Sun Jul 07, 2024 7:28 am I would like to make a program for the X16 to easily arrange a library of allophones so you can have the X16 say what you want.

I have the 64 allophones on the SD card, that are about 1 or 2 KB each; and send it to Audio register location $9F3D (AUDIO_DATA)
in the order I choose for it to say something.

I can get the X16 to talk, and I have a video of it in the link below.....
https://www.youtube.com/watch?v=xOnJ_n-c57U

Ummm... I can have it speak allot more clearly on my windows computer..... and is allot more harsh on the X16.. and must not have it correct... as you can see from the video link... the X16 is quite harsh...

I actually found pretty good allophones, and have gone through each with a tooth-comb changing them from .WAV to .RAW... (Which is just the WAV file without the information)...(I think)

I don't know whether this is the PCM I'm putting into $9F3D, and somehow managing managing to have the X16 say something very scratchily....

The link to the allophones both WAV & RAW are below.... (DropBox)
https://www.dropbox.com/scl/fo/mbcumt66 ... v4sh6&dl=0

How do I get better audio from the X16? because what I did was, remove the unused information from the WAV file, and renamed it RAW... and I did this, verry cleanly.... is there a converter I should use to change a WAV file to go into $9F3D ?

Anyway, anyone can use these allophones, if you want to download them for your use if you want to make your own X16 talk...

But any information you can give me would be appreciated to have it speaking clearer .... Otherwize, I wont make my little program..

Best Regards
Shaun
Allophone list.PNG
SP0256A-AL2.pdf

Look at my WAV Player code here in Downloads/Audio apps. Also if your on Discord look at basic-dev. I've been posting stuff I've been working on. To avoid the "scratchiness" you can't let the Audio FIFO go empty. You can tell when it's down to 1/4 full by checking the AFLOW bit. Pure BASIC is not quite fast enough all the time. I'm doing my "feeding with a compiled module now. (see basic-dev on Discord). My module work is not quite complete. When it is I'll be posting it here.
User avatar
ahenry3068
Posts: 1083
Joined: Tue Apr 04, 2023 9:57 pm

Re: Talking X16 Speech Synthisizer

Post by ahenry3068 »

Ok. I've never looked at Speech synthesis before. I think your best bet would be to create a temporary file with the Allophones you are using. Then feed that file to the FIFO using my Algorithm .... Hopefully all the allophones are the same sample rate (I didn't check that but seems like they should be.).
User avatar
schristis
Posts: 46
Joined: Sat Apr 08, 2023 6:28 am

Re: Talking X16 Speech Synthisizer

Post by schristis »

Hi Ahenry, thankyou...

Yes, I have been checking bit 6 for the FIFO to be empty; not bit 7 for the FIFO to be full... that should help...
Also I do know a bit of assembly... lol..... But I just end up using DATA statements in Basic lol....
(Its a habit lol)
I don't know whether Basic will keep up with the fifo if its too slow ???? I can give it a go lol...

Ill do a bit more research from your reply....
I have seen your WAV player in download/apps... and had a small play with it, I will definitely give it a closer look....

and yes they are all the same sample rate...

Thank-you A-lot

Best Regards
Shaun
User avatar
ahenry3068
Posts: 1083
Joined: Tue Apr 04, 2023 9:57 pm

Re: Talking X16 Speech Synthisizer

Post by ahenry3068 »

schristis wrote: Sun Jul 07, 2024 9:56 am Hi Ahenry, thankyou...

Yes, I have been checking bit 6 for the FIFO to be empty; not bit 7 for the FIFO to be full... that should help...
Also I do know a bit of assembly... lol..... But I just end up using DATA statements in Basic lol....
(Its a habit lol)
I don't know whether Basic will keep up with the fifo if its too slow ???? I can give it a go lol...

Ill do a bit more research from your reply....
I have seen your WAV player in download/apps... and had a small play with it, I will definitely give it a closer look....

and yes they are all the same sample rate...

Thank-you A-lot

Best Regards
Shaun
I really want to see your project work. I'll give you any help I can
User avatar
ahenry3068
Posts: 1083
Joined: Tue Apr 04, 2023 9:57 pm

Re: Talking X16 Speech Synthisizer

Post by ahenry3068 »

I've also rethought the approach seeing as all the sound files are pretty small. Convert them to ZCM. Load them all into HiRam and use ZSMKIT to play them
User avatar
ahenry3068
Posts: 1083
Joined: Tue Apr 04, 2023 9:57 pm

Re: Talking X16 Speech Synthisizer

Post by ahenry3068 »

Your WAV's were 8 bit unsigned which is a type of PCM that VERA does not do. (It want's 8 bit or 16 bit signed). I've got a whole set of 16 bit signed wav's now. I'm going to convert them to ZCM and write a little program that loads them ALL into High RAM while keeping pointers to them in an Array. And a little ZSMKIT app that you can call to play each one. This will probably be AFTER VCFSE (19-21 July). I'm not going to try to write a speech APP. But I bet if you've got all of them loaded in RAM then ZSMKIT will play them quickly enough for your algorithm. Nice thing about using ZSMKIT is you only have to write to the API. MooingLemur's code takes care of all the gory hardware details.
Wavicle
Posts: 277
Joined: Sun Feb 21, 2021 2:40 am

Re: Talking X16 Speech Synthisizer

Post by Wavicle »

If the current allophones are 8-bit unsigned, they can be converted to signed by adding $80 to each sample before pushing it to the FIFO (or convert the raw files with this same arithmetic).
User avatar
schristis
Posts: 46
Joined: Sat Apr 08, 2023 6:28 am

Re: Talking X16 Speech Synthisizer

Post by schristis »

I Actually uploaded the wrong (older) WAV files I had.... They played badly as they had spikes and timing was out... sorry
I replaced with the newer WAV files I had in dropbox..... and The new WAV.Zip File here (Same format and sampling Rate)

Sorry.... Got to go to sleep and work again tomorrow....

Best regards
Shaun

CORRECT ONES \/
Attachments
WAV.zip
(70.99 KiB) Downloaded 58 times
User avatar
schristis
Posts: 46
Joined: Sat Apr 08, 2023 6:28 am

Re: Talking X16 Speech Synthisizer

Post by schristis »

OK... I've done some research... I'm sure I can get X16 speaking clearer... I'll messing with it in the next couple of weeks...
What I'm going to try and do is use the allophones in a program to choose them in order for the X16 to say what you want... and might even have a small dictionary of really basic words...
It wont be any sort of amazing algorithm or large database.... it will just be something so you can get it to say, what you want...
thus --- a speech Synthisizer----- Its going to be, what it is lol....
Once I have good set of allophones and that it can talk clearly, that I have shown from youtube I put up....
Then I can also finish my little program... and thats all its going to be lol.....
What it wont be is type and speak....
But, put together and speak...

Ummmm If anyone wants the allopones to use in whatever format... then they will be available to use....

I'm not as well-versed the as the community in discord... I do try and read and make scene of it...
for me lol .... It's a learning experience lol....

Best regards Shaun
Post Reply