Hace muchos años empezaba a experimentar con sintesis de voz, tratando de lograr un chip que pudiera hablar castellano y que fuera barato y simple de usar. Para poder lograr estas dos ultimas condiciones, siempre le di prioridad al ahorro de recursos antes que a la calidad del sonido, y a medida que los microcontroladores se fueron abaratando, la razon para mantener bajo el uso de recursos empezo a ser otra: cuanto menos proceso y memoria consumiera la generacion de sonido, mas canales simultaneos se podrian reproducir en el futuro.
Pero el futuro no llega todo lo rapido que queremos, en particular si es un proyecto que depende del poco tiempo que puedo dedicarle, por eso es que despues de tantos años mis sintetizadores de voz solo disponen de un canal de sonido.
En 2011, cuando estaba desarrollando el segundo sintetizador, HR2, decidi que iba a empezar a programar en ordenadores para los que nunca habia desarrollado hard o soft, ya que tenia una coleccion de equipos que estaban guardados y no habia usado mas que para probarlos. Esto me llevo a decidir intentar portar la sintesis de voz a ordenadores de 8 bits, lo que servia para lograr varias cosas en un solo proyecto: programar en ordenadores de 8 bits que no tuve en los 80s, programar en asm de Z80, y saber que tan bien podria sonar la voz con las limitaciones de esos equipos. Para no hacer larga la historia, de este experimento dentro del experimento salieron los sintetizadores de voz TAV, como el TAVMSX. Lamentablemente para ese mini proyecto, una vez que logre emitir voz por soft en MSX, Spectrum 48K, Spectrum 128K, Timex Sinclair 2068, Commodore 64 y ZX81, perdi el interes y ahi se quedaron sin llegar a versiones finales, salvo la de Commodore 64. Pero volvi al desarrollo del sintetizador HR2.
Intentando que el chip pudiera cantar, fui probando varios algoritmos para cambiar la nota y tipo de la voz, lo cual me llevo a descartar metodos de sintesis, se cancelo el HR2, aparecio el HR3, se cancelo tambien ese y llegamos al HR4.
A partir del sintetizador HR4 surgieron proyectos paralelos, y decidi que el HR4 seria el que estaria disponible publicamente, quedando los otros para desarrollo interno. Tambien el HR4 seria el estandar minimo, y los siguientes tendrian como minimo las mismas funciones y serian intercambiables para el usuario, de forma que se pudiera tener un HR4 y luego cambiarlo por uno superior sin modificar el soft que lo controla.
Si bien el sintetizador esta diseñado para conectarse a una variedad de dispositivos, queria que fueran usables desde ordenadores de 8 bits, y esto me llevo a probar con una conexion RS232. Para conectarlo al MSX mi intencion era usar el puerto de impresora, pero me dijeron que no todos los MSX tenian uno, por lo que termine usando el puerto de joystick, y una rutina que simula la transmision por RS232 a 19200 bps.
Aqui se puede ver como se conecta al MSX:
Este es el circuito armado en una placa experimental:
Unos videos mostrando el funcionamiento del sintetizador:
Esta es una prueba controlandolo desde el BASIC del Spectrum 48K, a traves del puerto RS232 de la Interface 1, es una prueba antigua, el sonido actual del sintetizador es mas claro:
https://www.youtube.com/watch?v=Au8V4iX4EPg
Esta es una prueba controlandolo desde un MSX, enviando secuencias en modo directo desde BASIC:
https://www.youtube.com/watch?v=LiVwDyXdBpE
Por ultimo, en este se prueba el sintetizador mas avanzado, HD1, con el MSX corriendo la aventura conversacional Neutronia, escrita en BASIC, y luego el juego REC, de DamianWorf:
https://www.youtube.com/watch?v=bVWhbYiDAgs
Ya comentare despues algunas cosas mas, por el momento con esto se puede saber de que se trata. Si alguno tiene interes en armarse una placa para probarlo, me puede contactar y le envio el binario para grabar el PIC, esto va a ser publico pero como esta en beta prefiero que por ahora lo tengan los que realmente vayan a probarlo.
De todas maneras probablemente esta sea la version final, y ni bien me haga un tiempo para reescribir el manual incluyendo los agregados desde la v1.0, seguramente voy a publicar todo junto.