Sampling of speech

Started by MIRKOSOFT, January 06, 2010, 04:54 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

MIRKOSOFT

Hi!

I'm trying to find a program which can sample speech for Commodore 128. Only what I record with microphone.
But this program must let me to use sampling in my own programs - so no create full program, only data for SID registers which I can use in my programs.
Of course sampling English.

Thank you all for every help.

Miro
MIRKOSOFT of megabytes

Commodore 64 was great, Commodore 128 is bigger, better, faster and more!!!

http://www.mirkosoft.sk

Hydrophilic

You can not plug a microphone directly into C128 and record speech... unless you plug into Joystick port and use PotX or PotY line, but this would give very low resolution of about 2 KHz.

Below I summarize some info that can be found in another thread

Usually a special device is connected to the C128, and these devices have software to record and playback.  Two of these I know about are Covox Voice Master and Covox Voice Master Jr.  Maybe you can find them on eBay.

Also Mark Smith says there is a project you can build that attaches to UserPort to record audio, described in the book Electronic Projects for Your C64 and C128.  Lance has that book available here.  There are many good chapters from a quick look, but Chapter 5 starting on page 55, "Digital Audio Recording and Playback" may be what you need.

Another way is to record sound on a modern computer as raw PCM data (like .wav) or other popular format (like .mp3) and then use software to convert to simpler format for your Commodore machine.  Is this what you need?

I don't know of any such program, but RobertB said he is trying to contact an author who wrote a really nice program to do this, called Digimaster.  He says it is for C64, but the audio files it makes should be easy to play on C128.

I also wrote a BASIC program to convert 8-bit .wav file to 4-bit raw data for C64/128.  It is not a good program, just proof of concept.  For better program solutions, you can try Commodore Scene Database and maybe you can find something for C64 there.  Most anything that runs on C64 is easy to do on C128 also.

I hope some of that was helpful.
I'm kupo for kupo nuts!

MIRKOSOFT

#2
Hi!

Thank you for help.
Yes, I want to record sound on PC and convert to data for C128 SID.
Or I don't want to record speech, I need program which samples written text.
If you think that your program is not so good or is good, I want to try it - maybe it will be what I need...
It's only about one sentence: "Asta la vista, baby!"
I want to have data to use with SID, not full program. I want to use this sentence in one intro.
But if you can, I want to try your program too...


Thank you very much.


Miro
MIRKOSOFT of megabytes

Commodore 64 was great, Commodore 128 is bigger, better, faster and more!!!

http://www.mirkosoft.sk

airship

You can download that quote from the web, then downsample it for SID  playback.
Serving up content-free posts on the Interwebs since 1983.
History of INFO Magazine

MIRKOSOFT

?!?! don't understand ?!?!
MIRKOSOFT of megabytes

Commodore 64 was great, Commodore 128 is bigger, better, faster and more!!!

http://www.mirkosoft.sk

RobertB

Quote from: Hydrophilic on January 11, 2010, 03:36 PM...RobertB said he is trying to contact an author who wrote a really nice program to do this, called Digimaster.  He says it is for C64, but the audio files it makes should be easy to play on C128.
I already contacted the author, Chris Brenner, and he has made Digimaster donationware.  What I am slowly doing now is preparing a "package", i.e., instruction manual .pdf (almost finished by another FCUG member) and .d64s of the disks.

I forgot to mention in the other thread that Digimaster requires a 1351 or compatible mouse.

I had an idea... who here can look at Digimaster and try to modify it to be a Commodore 128 program?!?  As a C64 program, its audio samples are limited in size by the amount of C64 RAM available.  As a C128 40-column program, it would have another bank of 60k for which to store audio samples.  If anyone is interested, I can send you the .d64s for your analysis.

Truly,
Robert Bernardo
Fresno Commodore User Group
http://videocam.net.au/fcug
The Other Group of Amigoids
http://www.calweb.com/~rabel1/
Southern California Commodore & Amiga Network
http://www.sccaners.org 

Hydrophilic

#6
Yes,  very interested!

Edit
I was so excited about RobertB's post, I forgot to respond to
Quote from: MIRKOSOFT
Or I don't want to record speech, I need program which samples written text.
If you think that your program is not so good or is good, I want to try it - maybe it will be what I need...
It's only about one sentence: "Asta la vista, baby!"
I want to have data to use with SID, not full program.

A program that will play English text on the C64 is called SAM which stands for "Software Automatic Mouth".  Note that starting with Windows 2000 (and thus XP, Vista, 7, etc.) that windows has "SAM" which I enjoy to no end (for humor)!

Anyway, a C64 SAM, I found disk image here.  This has SAM + Reciter.  SAM speaks an artificial phonetic language.  Reciter will translate many English words into SAM phonetic language.  Thus it can speak some English text with BASIC command
SAY"some text"Some English words are not known by Reciter.  For example when it tries to say "foot" it is very funny!

I know this is not what you are asking for, you want the raw SID data and not a program...

But I've been thinking about a C128 version of SAM for a long time... anyone have interest or ideas on this topic?

It sounds like you just need to record your voice into .WAV file then convert to SID data.  Then use program like Digimaster (when available).  My program is just a demo, it is very very very slow!  For a 1 or 2 minute .WAV file (8 bit, 8Khz, mono) it takes several minutes for VICE at warp speed (about 10x speed of C128) to convert to raw SID data (4-bit, 8KHz, mono).

The main reason for slow speed of my program (WAVE TO 4BIT) is because it reads only 1 byte a time!  So it does: read byte from device A, write two nibbles (into one byte) to device B, repeat until end of file A.  Thus it constantly switches from device A to device B.  Much better would be to create a buffer.  Then read 254 (or 256) bytes from file A, followed by writing to file B.  This would increase the speed a lot, even if standard BASIC.  Of course, using ML or compiled BASIC would make it even better.

To play 4-bit sounds with my software, do this:

1. BLOAD"PLAY4BIT",B0 (only needed once)
2. BLOAD"4bit audio file",B1,P1024
3. BANK 0:SYS 4864
/Edit
I'm kupo for kupo nuts!