El proyecto TAV (Texto a voz) se
originó como una conversión del proyecto PICSYNTH a la
Commodore 64, primero en versiones especiales usando sonido
"analógico", es decir combinando ondas triangulares y de ruido
generadas por el chip SID, y más tarde emitiendo sonido digital de 4
bits. Si bien en principio era sólo un experimento, un mes y medio más
tarde tenía un programa que sonaba mucho mejor de lo que esperaba al
iniciar la conversión. Una vez terminada esta versión, se me ocurrió
intentar una conversión a MSX, plataforma para la cual si bien había
hecho algunos programas en BASIC en los 80s, nunca había programado en
ensamblador, es más, nunca había hecho nada para Z80 más allá de un par
de ejercicios en papel en la secundaria. La arquitectura de la MSX
resultó ser bastante compleja, esto sumado al hecho de estar
aprendiendo Z80 y de las complicaciones de encontrar algún ensamblador
moderno con el cual desarrollar el programa, hicieron que esta versión
se retrasara. Mientras continuaba mi investigación sobre el Z80 y la
MSX, empecé a investigar la Spectrum 48K, para la cual también había
hecho programas en BASIC en los 80s. La Spectrum resultó ser una
plataforma mucho más accesible, con un sistema operativo bien diseñado,
y más importante aún, con excelente documentación y soporte en
emuladores, lo que permitió convertir rapidamente el programa a Z80. El
problema lo presentaba el audio, consistente en una salida que
solamente puede tener dos valores, activada o desactivada, esto es,
sonido digital de 1 bit. Dado que la versión para PIC emite el sonido
usando modulación de ancho de pulso, decidí utilizar este método para
simular 16 niveles de voltaje (sonido de 4 bits), lo cual resultó
bastante bien. Teniendo escrito ya el programa en código Z80 y adaptado
para el beeper, decidí intentar la emisión de sonido digital utilizando
el chip AY-3-8192 de la Spectrum 128K, también con buenos resultados.
Pude entonces hacer versiones del programa para Timex Sinclair 2068
(utilizando el chip de sonido), MSX1 (también usando el PSG), e incluso
ZX81, emitiendo el sonido por la salida MIC y señal de video, programa
basado en la version Spectrum 48K (para beeper). La última variación
desarrollada es para ZX81 con módulo Zon X, el cual contiene un PSG
AY-3-8912, por lo que se hizo una mezcla entre la versión ZX81 y la
versión para Spectrum 128K.
Historia del desarrollo Videos de las distintas pruebas y
versiones Descargas (programas y manuales)