Esta entrada es para contaros el trabajo que está haciendo Pastbytes, uno de los usuarios de CommodoreManía/Retrocomputación) con un sintetizador de voz para los Commodores.
Reproduzco aquí su última entrada en el foro:
Desde hace tiempo queria concretar algunas cosas independientes que ahora con este proyecto se logran todas juntas.
Hace bastante que deje de comprar ordenadores porque habia conseguido unos cuantos y nunca tuve tiempo de usarlos, asi que en cierto momento decidi que trataria de usarlos, en la medida de lo posible programandolos en asm, sino en BASIC, o por lo menos probando soft o hard. Esa es la razon por la que entre otras cosas porte mi sintetizador de voz por soft a varias plataformas para las que no habia programado nunca.
Y en este caso son varias las cosas que queria realizar, primero queria conectar el Commodore 128 por RGBI para ver 80 columnas en colores, ya tenia un cable armado para verlas por video compuesto, pero no era lo mismo. Otra cosa que queria probar era lo de controlar los dos chips de video a la vez, tambien por supuesto programar algo en el BASIC del C128, que tendria que funcionar en 80 columnas para que fuera algo que no pareciera un programa de C64. Y la ultima cosa que queria hacer era adaptar una aventura conversacional para que usara mi chip de voz.
Si bien ya hace unos meses vengo preparando textos, armando placas, investigando cosas, nunca tuve tiempo para ponerme manos a la obra, y en los ultimos dias decidi dedicarme a esto para que no pasara mas tiempo.
Lo que hice fue adaptar una aventura conversacional que a su vez fue adaptada antes para MSX-BASIC, "La nave espacial condenada", hacerle unos cambios para que funcionara en el C128 en 80 columnas, darle un poco de color y formato, y agregarle luego los comandos de voz.
Lo primero fue armar de nuevo una placa para el modulo de voz, y probarla en el C128:
Despues me arme el cable RGBI para conectar el monitor Commodore 2002 y ver las 80 columnas como corresponde:
Como siguiente paso adapte la aventura editando el programa en un editor de texto y pegando el codigo en VICE para tener un entorno de desarrollo mas comodo, pero con el problema de que no podia probar los comandos de voz, por lo que aproveche para experimentar con doble pantalla. Use la pantalla de 80 columnas para mostrar el texto normal de la aventura, y la pantalla de 40 columnas para imprimir los comandos foneticos que irian al modulo de voz, como puede verse aqui:
Pantalla con el texto final de la aventura: |
Pantalla con el texto fonetico para el modulo de voz: |
Video de la prueba con monitor dual:
https://www.youtube.com/watch?v=9teOgTBrx28
Una vez probado todo eso, solo quedaba adaptar la aventura reemplazando los comandos del segundo monitor por los que envian el texto al modulo de voz, y aqui se ve el resultado final, primero corriendo el programa para ver el funcionamiento de la placa, y luego un poco de la partida con la camara fija apuntando al monitor:
https://www.youtube.com/watch?v=XyTJEdFo6Z8
Como comente en mi sitio, falta agregar algunos textos, pero la modificacion del programa, a pesar de estar basado en variables y lineas DATA, resulto ser mas simple de lo que esperaba. Tal vez algun dia lo complete, pero dudo que haya muchos interesados en aventuras conversacionales que tengan C128, monitor para 80 columnas y modulo de voz HR4 o HR5, asi que es un mercado mas que reducido.
Seguir el tema desde el foro de Commodore Manía.
7 Comentarios
Que bueno! Aparte de toda la tarea de programación que no pretendo ni entender, ¿cómo funciona ese sintetizador? Has montado tú un aparato que tiene un interprete de comandos y un generador de ondas, o ¿¿¿como va eso??? No tengo ni pajolera y si me dieras así una explicación por encima estaría más que agradecido! ; )
ResponderEliminarLe digo a Pastbytes que se pase por aquí asi te responde él mismo :P
ResponderEliminarFunciona como la mayoria de los chips sintetizadores de voz, recibe comandos por una entrada y emite audio, en este caso recibe texto por RS232, no en Español escrito sino en un lenguaje fonetico, "hola, que tal" habria que enviarlo como "ola,ke tal", se usa un microcontrolador PIC que habla en tiempo real apenas recibe el texto. En este tema se puede ver un poco mas: http://retroinvaders.com/commodoremania/foro/index.php/topic,576.msg10123.html#msg10123
ResponderEliminarTambien aqui: http://retroinvaders.com/commodoremania/foro/index.php/topic,1170.0.html
En ese se pueden ver fotos de las distintas versiones y algunos videos de prueba.
Esos videos y otros donde se muestran las primeras versiones los encuentras en mi canal de youtube, abre cualquiera de los videos en youtube y ahi entras a mi canal. Tambien hay algo de informacion en mi sitio, aunque un poco desactualizada: www.pastbytes.com/apps/picsynth
Ok ; )
ResponderEliminarQuizás me faltó hacer una presentación del proyecto! :D
ResponderEliminarMe interesaba el tema porque estoy metido últimamente en algo de síntesis musical, y siempre se puede rascar algo nuevo viendo cosas similares, o es posible al menos... En breve visitaré esos links que me has dejado
ResponderEliminarGracias por la atención!
Hay dos versiones actualmente, la HR4 que ya esta en v1.0, hecha con un PIC16F648A de solo 4K de memoria de programa, y la nueva HR5 que recien empieza el desarrollo, con 8K de programa y dos salidas de audio (estereo). Las dos versiones emiten audio digital de 8 bits con una frecuencia de muestreo fija, 8680 Hz en la HR4 y 15625 Hz en la HR5, soportan la mayoria de los fonemas del Español pero tambien tienen un generador de ruido y sonido, con 3 instrumentos musicales digitalizados y un cuarto que el usuario puede cargar en RAM, ademas de varias opciones de envolventes. Los instrumentos se definen como un "wav" de 66 muestras (HR4) o 119 muestras (HR5). Por el momento las funciones de los dos sintetizadores son las mismas, si lo quieres ver mas en profundidad, aqui descargas el manual del HR4: www.pastbytes.com/apps/picsynth/ManualHR4.zip
ResponderEliminar