Login
TAV16
Title:TAV16
Category:Utility/Music
Release Date:
Language:Spanish
Size:16K
Machine:PAL & NTSC
Code Type:Machine code
Distribution:Freeware
 Play Online!
Code by:pastbytes
Notes:TAV is acronym for "Texto a voz" ("Text to speech"). Available on several other platforms too. A multiformat X3 V1.1 file has been released on 2023-02-09, needs to be loaded with DLOAD.
  External links:
    Official site
    YouTube Video

User Rating: 9/10 (2 votes)
TAV16 Screenshot


Description
The TAV (Text to Speech) project originated in 2011 as a conversion from the microSint project to the Commodore 64, then the HR2 version, and continued as a cross-platform experiment that ended with versions for the Sinclair ZX81, Sinclair Spectrum (48K and 128K), Timex Sinclair 2068 and MSX1.
The program code is quite portable, maintaining a similar structure in both 6502 and Z80, but the version for Commodore 64 is the most accurate, since it is my only experience in programming in assembler of Z80 and that machines with Z80 did not use have the timing hardware that the Commodore 64 does have.
In the same way as the PIC project, the synthesizer works on the basis of phonemes, generated by wave tables stored in the program, algorithms, or a combination of both methods. The resulting emitted sound is digitized 4-bit audio, with a sampling frequency that varies depending on the platform and the generation method, but is around 8KHz.


Instructions
The synthesizer is designed to be used from BASIC, in the versions for Sinclair computers, you must load the text to be spoken in the variable Z $ and then call the synthesizer with the USR command corresponding to the version of the program. In the version for C64, you must use the variable ZZ $ and call the program with the SYS command, while in the MSX version the same USR command is used to send the text to speak in the call itself.
The text that is sent to the synthesizer must have a specific format, each sound being represented by a combination of letters and symbols, which we will call command. Below we have a table of the allowed commands for phonemes. In the COMMAND column you can see the text that must be sent to emit the corresponding phoneme.

A a
E e
I i
O o
U u
A+ á Accented vowel
E+ é Accented vowel
I+ í Accented vowel
O+ ó Accented vowela
U+ ú Accented vowel
A- a. Last syllable of the phrase
E- e. Last syllable of the phrase
I- i. Last syllable of the phrase
O- o. Last syllable of the phrase
U- u. Last syllable of the phrase
B b
CH ch
D d
F f
G g/gu (jueGo / aGuila / Gato / GUitarra)
J j (Juego / Gente)
K k
L l
M m
N n
P p
R rr (alaRRma / peRRo / RRoca / RRaíz)
R2 r (caRa / aRena)
S s
T t
SH sh (LLamada / faLLa / aYer)
' Pause 32ms
(Space) Pause 50ms
, Pause 256ms
; Pause 400ms
. Pause 1s
/0 Plays a tone (beep 1) with fixed volume
/1 Plays a tone (beep 2) with decreasing volume
/2 Plays an alert or error sound
< Changes the voice to the minor key for the text that follows
> Changes the voice to the higher pitch (default) for the text that follows

Copyright © Plus/4 World Team, 2001-2024