Post by hydrophilic on Dec 27, 2015 12:37:14 GMT
- English text-to-speech (Reciter... fixed Western American accent)
- Phonetic text-to-speech (SAM... any accent for many West/European languages)
- Easy (but not automatic) adjustment for NTSC/PAL and 1-or-2 MHz CPU
- Four 'demo' programs in BASIC
- Complete source code (in ASCII, not PETSCII)
- Reciter (+SAM) uses slightly less than 16K of Bank 1 (47K free for variables)
- SAM uses slightly less than 10K of Bank 1 (53K free for variables)
- Bank 0 is not used at all, except for small stub at $130 (possible cassette problems)
On the D64 file you will find the following files:
- DEMO -- BASIC example of Reciter (with pitch/speed changes)
- FAST-SLOW -- BASIC example of settings for 2MHz / 1MHz
- NTSC-PAL -- BASIC example of settings for NTSC / PAL
- KNOBS -- BASIC example of changing various 'voice' settings...
- SAM128.BIN -- phonetic ML program... use alone, or with BASIC
- RECITER128.BIN -- English ML program... use alone, or with BASIC
- SOURCE.ASC -- Complete 6502 source code
This is the "complete" (English) text-to-speech program for the C128. The default settings are for NTSC/1MHz. You can change many settings of SAM/Reciter... in particular, adjust for PAL and/or 2MHz. See the included BASIC programs for real-life examples ("FAST-SLOW" and "NTSC-PAL").
On a real NTSC machine (or VICE @ NTSC speed), it is very hard for me to distinguish between the NTSC and PAL settings. To be specific, I can hear a minor difference, but if you asked me if SAM/Reciter was using PAL or NTSC settings, I could not give a reliable answer!
On VICE @ PAL speed (I do not own PAL C128 for testing), it is very easy to distinguish between the NTSC and PAL settings.
In my opinion, the NTSC/PAL difference is not important. You can adjust SAM/Reciter for NTSC/PAL if you want... but it is not worth the effort (again, my opinion).
More important (hope we all agree), is the difference between SLOW (1MHz) and FAST (2MHz) CPU speed. No matter what options I tried, the C64 (C128 Alpha) version would never sound good at 2MHz (FAST speed). However, I discovered/invented a new variable which I call "Fundamental Wavelength" (FunWL). This new version (C128 Beta) allows you to change this value. Now you can make SAM/Reciter sound "identical" regardless if CPU is running at 1 or 2 MHz.
Note: With the right settings (see example program "FAST-SLOW"), SAM/Reciter sounds about the same to me, regardless of CPU speed. On a technical level, there are minor differences... if you have a good ear, you might actually hear the difference. However, the minor difference(s) makes no impact on sound quality (my opinion... flame away).
This is a Beta release because two important issues remain:
- No BASIC wedge (wouldn't it be nice to type SAY"HELLO" in BASIC?)
- No automatic FAST/NTSC/PAL/SLOW correction
In regards to #1, I plan to release a final version with a BASIC wedge... so no worries (just have some patience)!
Issue #2 is the main problem. Right now (Beta version) the user has full control of speech parameters. I could force automatic settings (based on FAST/NTSC/PAL/SLOW), but if I did that, it would destroy any user customization. (One of the cool things about SAM is your ability to customize the speech.) So I really don't know how to proceed... What do you folks think? Should I code automatic adjustments, or should I leave it with default NTSC/1MHz and let the user do the work?
Oh yeah, source code is included on the D64... and I am working on a more human-readable documentation on my website.
Thanks for feedback from forum members on my old/Alpha version. And if you have any questions/comments, post it/them here and now!
The documentation on my website is now mostly complete... I hope you find it informative, and if you have some time, please discuss any/all flaws you see... thanks!
Oh yeah, flame away about issues with the actual software too