El mes pasado empece un nuevo sintetizador de voz, que aunque ya tiene una minima funcionalidad, aun tiene mucho camino por delante antes de estar terminado. Ya habia publicado algunos videos de los otros dos sintetizadores que pude probar con Commodore (ademas de con otros 8 y 16 bits), para el que no los vio, son estos hilos:
http://retroinvaders.com/commodoremania/foro/index.php/topic,1170.0.htmlhttp://retroinvaders.com/commodoremania/foro/index.php/topic,1228.0.htmlEstos sintetizadores estan implementados usando microcontroladores PIC, un 16F648A en el caso del HR4, y un 16F886 en el caso del HR5. Reciben los comandos en modo texto a 1200, 4800, 9600 o 19200 bps, en los C64, C128 y Plus/4 se lo conecta al puerto del usuario, y se usan los comandos del BASIC para abrir el puerto RS232, en C64 hay que usar 1200 bps porque al estar implementado por soft no es conveniente usar una velocidad mas alta. En el Plus/4, que tiene un puerto RS232 por hard, se puede usar 19200 bps sin problemas.
El nuevo sintetizador HD1 mejora drasticamente la inteligibilidad de la voz, se entiende mucho mas sin tener que mostrar el texto en pantalla, y por ahora esta hecho con el PIC y la placa de un HR5, por lo que es compatible con el soft que utilizar los HR4 y HR5, pero esto no sera asi por mucho tiempo.
Mi intencion es que este sintetizador se conecte directamente al puerto de cartuchos, y funcione como un chip de sonido, con 3 canales de sonido musicales y 1 canal de voz. Tambien es probable que le agregue un zocalo para manejar una tarjeta SD, donde se pueda precargar audio de 8 bits para que el chip lo reproduzca, o wavs de instrumentos, ya que el chip esta basado en tablas de ondas. Vendria a ser algo intermedio entre un SID y Paula.
Como ademas el PIC tiene hard extra que va a estar ahi sin usar, y varios pines libres, seguramente voy a agregar algunas funciones mas en el futuro.
El problema importante que voy a tener, es que hay que hacer versiones para cada sistema, ya que los buses de expansion son distintos en C64, C128, Plus/4, etc. Si bien en C128 es compatible con C64, yo me estoy refiriendo especificamente al modo 128. Por todo esto, dudo que este proyecto este terminado antes de 1 año.
Pero todo empieza en alguna parte, y por ahora hice las primeras pruebas de sintesis de voz, enviandole textos desde PC por RS232, enviando un texto con la descripcion tecnica del sintetizador (para probar el nivel de inteligibilidad de la voz), y luego dos textos para probar la entonacion, para darle mas naturalidad a la voz, un fragmento del Martin Fierro, y el texto de apertura de la serie Star Trek:
Sintetizador de voz HD1 (2016)Tambien reemplace el chip HR5 por el HD1 y pude probar la aventura conversacional Neutronia en C128, aunque hice un video solo de la version MSX, que es la ultima y tiene el texto mejor pronunciado (la version para C128 fue la primera), ademas de otro juego tambien adaptado para los sintetizadores HR:
Prueba de sintetizador HD1 en MSXEse es el estado actual del proyecto, ahora sigue mejorar la voz, y despues rehacer la parte del sintetizador musical. Tambien el chip va a aceptar directamente castellano escrito (ahora hay que escribirlo foneticamente), como primer paso para que en el futuro se pueda adaptar algun motor de aventuras conversacionales para que lea el texto de la pantalla, y asi no tener que almacenar el texto para el sintetizador aparte del texto de pantalla.
Por un tiempo va a estar controlado por RS232, pero cuando ya este usable el sintetizador musical, voy a empezar a probarlo directamente en el puerto de expansion del C64.