Ahora si la segunda parte, que es lo de los planes para el futuro:
Mi decision entonces fue comenzar un nuevo sintetizador experimental, para ir probando nuevos metodos, tanto de generacion de voz como de sintesis musical multicanal, y en esa planificacion estaba cuando "descubri" un sintetizador que habia diseñado en 2011 y al que nunca le dedique tiempo para evaluarlo. Este sintetizador estaba basado completamente en sonido digitalizado, y los sonidos que tenia capturados entonces (en la epoca del sintetizador HR2), si bien le daban gran realismo a la voz, no terminaban de convencerme. Hace unas semanas se me ocurrio regrabar algunos fonemas fundamentales, pero hasta ahora no habia tenido tiempo de procesar ese sonido, y resulto que esas nuevas capturas mejoraron drasticamente al sintetizador, haciendolo muy inteligible. Indudablemente, los 4 años de experiencia transcurridos no pasaron en vano.
El problema fundamental de este sintetizador, es que requiere una cantidad muy grande de memoria, de alrededor de los 22K para sonido de 15Khz, que solo podia implementarse en un PIC18 ocupando 11K de la memoria (11K palabras de 16 bits), ya que un PIC16 soporta como maximo 8K de memoria de programa. Por esta razon quedo archivado por años esperando el momento en que pudiera implementarlo en un PIC18.
Y llegamos a estos ultimos dias, en los que analizando si se podia reducir de alguna manera los requerimientos de memoria de este sintetizador, se me ocurrio probar distintos metodos, entre ellos reducir la frecuencia de muestreo de emision de sonido y/o de las ondas almacenadas (no tienen por que ser iguales), llegando a la conclusion de que se conserva la inteligibilidad aun a 7812Hz y con una resolucion de 3 bits.
Esto haria posible incluso implementar este sintetizador por soft en una Commodore Plus/4, que puede generar sonido digitalizado alterando el volumen, precisamente con una resolucion de 3 bits (4 bits en la Commodore 64).
Por ultimo, se me ocurrio hacer otra prueba, ver que pasaria si no necesitara todos los sonidos capturados y en lugar de eso usara solo los mas importantes, y conservara los fonemas generados por programa de los sintetizadores existentes. Las pruebas preliminares parecen indicar que es totalmente posible, y reducen las ondas necesarias de 11K (palabras de 16 bits) a alrededor de 3K. Esto hace posible modificar un sintetizador HR5 para contener en sus modestos 8K parte del antiguo sintetizador y parte del nuevo, lo que da origen a otro sintetizador hibrido, que va a llamarse HD1.
Para implementar este nuevo sintetizador HD1, tome la decision de abandonar la compatibilidad con los comandos de ajuste de tono/nota de la voz y los de la generacion musical de los sintetizadores HRx. El HD1 tendra al menos un canal de voz, y tantos canales musicales como pueda implementar, que no creo que sean mas de 3. La frecuencia de muestreo de salida sera de 15625 Hz, igual que la del HR5, y tendra dos salidas de audio independientes. Es probable que la version final solo se conecte directamente al bus de un 65xx o Z80 y que no haya version para RS232, pero si resulta factible manejar 3 o 4 canales con una sola conexion serie, puede que haga tambien una version RS232.
El sintetizador va a correr en un PIC16F886, pero la version final requerira un PIC18. La implementacion en un PIC16 requiere sacrificar parte de las ondas y reducir levemente la calidad, pero se va a tener algo de compatibilidad con los HRx, al menos en lo que respecta a la voz. Sin embargo, por el metodo de sintesis utilizado, es probable que el rango del tono de la voz no pase de las 2 octavas, y ya no se podra ajustar la nota. Este es un proyecto diferente que apunta a tener un sintetizador de voz con mayor realismo pero menos flexibilidad, y un sintetizador musical mucho mas completo.
Con un poco de suerte, en poco tiempo tal vez pueda hacer algunas pruebas.
Resumen para el que no tiene ganas de leer mucho
:
- Buscando un reemplazo para el sintetizador HR5, empece un nuevo sintetizador experimental, y ordenando archivos y notas encontre un proyecto de sintetizador basado en sonido digitalizado, que diseñe en 2011 pero que nunca implemente.
- Investigue este viejo proyecto y pude mejorarlo rapidamente rehaciendo algunos sonidos, logrando una buena calidad de voz.
- Una vez determinado que cumple con el nivel de inteligibilidad que buscaba, tenia que ver como reducir los requerimientos de memoria, ya que usa 22K solo de sonido, sin contar el programa.
- Despues de varias pruebas y unas cuantas optimizaciones, llegue a la conclusion de que se podia combinar algunos sonidos de este sintetizador, con otros del HR5, y que entre todo en los 8K del PIC.
- De esta mezcla sale un nuevo sintetizador, llamado HD1, que no va a ser tan flexible con los parametros de voz como los HRx, pero mejora la calidad, y va a incorporar un mejor sintetizador musical.