Autor Tema: Proyecto de sintetizador de voz por hard  (Leído 28458 veces)

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 535
  • SYS 0
    • Ver Perfil
Proyecto de sintetizador de voz por hard
« en: Enero 11, 2016, 00:56:46 »
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.html
http://retroinvaders.com/commodoremania/foro/index.php/topic,1228.0.html

Estos 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 MSX

Ese 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.

riq

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 567
    • Ver Perfil
    • From the C64 until today, a developer's perspective
Re:Proyecto de sintetizador de voz por hard
« Respuesta #1 en: Enero 11, 2016, 02:44:32 »
muy bueno!

Maniako

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 1013
  • SYS 8*4096
    • Ver Perfil
Re:Proyecto de sintetizador de voz por hard
« Respuesta #2 en: Enero 11, 2016, 07:20:10 »
Es una pasada.
Ha habido momentos en los que me ha costado entender lo que decia, pero tambien eran las 7 de la mañana. Mi decodificador del lenguaje no.se activa hasta las 8h.
LDA #$50
STA $0400
RTS
Lloré cuando conseguí hacer esto con el monitor del FC1.

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 535
  • SYS 0
    • Ver Perfil
Re:Proyecto de sintetizador de voz por hard
« Respuesta #3 en: Enero 11, 2016, 07:52:21 »
Todavia le falta trabajo, es un poco rustico, y ademas una version de baja calidad del sintetizador que deberia ser, pero de a poco va a mejorar.
En el foro de retrocomputacion me pidieron que diga el clasico "saludos, profesor falken...", asi que hice un mp3 de eso, en mi libre interpretacion porque no encontre la version del audio en castellano para comparar.
Aclaro que el eco sale asi del chip, eso es la captura original, no esta agregado despues.
La secuencia que genera eso es esta:

(z34)(n24c07vfx1)sa-lu+do-s(v4)o-s(v2)o-s(vf) pro-feso+r(v4)o+r(vf)fo+lke-n(v4)ke-n(v2)ke-n(vf).e-kstra+nio(v4)io(vf)-ju-ego-(v4)go-(v2)go-.(vf)e-l(v4)e-l(vf)u+niko-(v4)ko-(vf)mobimie+nto-(v4)to-(vf)pa+r2a-(v4)r2a-(vf)gana+r(v4)na+r(v2)na+r(vf)es(v4)es(vf)no-(n4)no-(v2)no-(vf)juga+r(v4)ga+r(v2)ga+r.(vf)

Ahi se puede ver que el eco no es mas que repetir la ultima silaba con volumen 4 y luego otra vez con volumen 2 (el maximo es F=15). Como el cerebro no distingue si hay eco mientras habla, solo hay que simularlo en los espacios.
« última modificación: Enero 11, 2016, 07:59:20 por pastbytes »

cubelindo

  • Commodore Overlord
  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 731
    • Ver Perfil
Re:Proyecto de sintetizador de voz por hard
« Respuesta #4 en: Enero 11, 2016, 21:04:19 »
Juegos de Guerra!! Mola!

Ánimo con el trabajo, a ver qué sale!
All Your Base Society

Maniako

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 1013
  • SYS 8*4096
    • Ver Perfil
Re:Proyecto de sintetizador de voz por hard
« Respuesta #5 en: Enero 11, 2016, 21:15:02 »
Voy a pedirte un favor.
¿Podrías poner "SALUDOS DOCTOR MANIAKO , TIENE USTED UN MENSAJE" en un MP3 sin los ecos?.

Me lo pondría de avisos de mensajes del watssapp.
porfa, porfa, porfaaaaa!!!
Me encanta esa voz.

LDA #$50
STA $0400
RTS
Lloré cuando conseguí hacer esto con el monitor del FC1.

josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 11821
  • Commodoreador web
    • Ver Perfil
    • Mi blog
Re:Proyecto de sintetizador de voz por hard
« Respuesta #6 en: Enero 11, 2016, 21:21:35 »
Juasss :-D

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 535
  • SYS 0
    • Ver Perfil
Re:Proyecto de sintetizador de voz por hard
« Respuesta #7 en: Enero 11, 2016, 22:07:39 »
Algo asi? Hay dos voces distintas.

Maniako

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 1013
  • SYS 8*4096
    • Ver Perfil
Re:Proyecto de sintetizador de voz por hard
« Respuesta #8 en: Enero 11, 2016, 22:10:37 »
Algo asi? Hay dos voces distintas.

PERFECTO!!!
Muchisimas gracias!!! La aguda es perfecta. Mis colegas van a flipar  ;D ;D ;D

Eres un crack!!
LDA #$50
STA $0400
RTS
Lloré cuando conseguí hacer esto con el monitor del FC1.

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 535
  • SYS 0
    • Ver Perfil
Re:Proyecto de sintetizador de voz por hard
« Respuesta #9 en: Febrero 07, 2016, 04:29:54 »
Increiblemente hubo muchos avances rapidos con el sintetizador HD1, y digo increiblemente porque pase un mes muy ocupado con trabajo y apenas pude dedicarle unos pocos dias al proyecto. Me parece que la sintesis de voz va a quedar asi, ya no hay mucho que agregar, solo corregir detalles que puedan surgir en las pruebas. Lo que sigue es arreglar los problemas del sintetizador musical, y trabajar en la compatibilidad con el sintetizador HR4, para aprovechar el poco soft hecho.
Para celebrar el avance, volvi a probar la aventura conversacional Neutronia, pero en version Commodore 128. Tuve que mover uno de los altavoces cerca del monitor para que la camara tomara mejor el audio, porque lo que tenia a mano eran dos altavoces de los mas baratos que no suenan bien, y las entradas de audio del TV, que por el nivel de volumen muy alto del sintetizador tampoco suena bien.
La camara tambien tiene problemas cuando la pantalla es negra porque trata de enfocar la imagen basandose en las letras, y al estar eso cambiando, cada tanto pierde el foco, supongo que se arreglaria con mejor iluminacion en el lugar. Pero mas o menos algo salio, se nota un poco que la voz sale mas entendible, aunque la grabacion no sea optima.

C128: Prueba de sintetizador HD1 alfa 5

Maniako

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 1013
  • SYS 8*4096
    • Ver Perfil
Re:Proyecto de sintetizador de voz por hard
« Respuesta #10 en: Febrero 07, 2016, 09:23:26 »
Si que se entiende mejor ,la entonación de interrogación esta muy bien conseguida, las eses/ces mejor definidas.

Eres un crack.
LDA #$50
STA $0400
RTS
Lloré cuando conseguí hacer esto con el monitor del FC1.

josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 11821
  • Commodoreador web
    • Ver Perfil
    • Mi blog
Re:Proyecto de sintetizador de voz por hard
« Respuesta #11 en: Febrero 07, 2016, 12:00:21 »
"¿Que tengo que hacer?" :D


marcos64

  • Commodore Master
  • *****
  • Mensajes: 2878
    • Ver Perfil
    • http://marcos64.orgfree.com/
Re:Proyecto de sintetizador de voz por hard
« Respuesta #12 en: Febrero 07, 2016, 15:17:23 »
Y dices que la grabacion no es buena? Pues suena realmente bien. He entendido todo y SIN mirar el video.
http://marcos64.orgfree.com/
Actualizacion 22/4/2018: Actualizada Load'N'Run numero 5 con nuevos TAPs y PRGs.

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 535
  • SYS 0
    • Ver Perfil
Re:Proyecto de sintetizador de voz por hard
« Respuesta #13 en: Febrero 07, 2016, 23:25:10 »
Que bueno que se entienda, porque no hay muchas posibilidades de mejoras, ya estoy al limite de los recursos de ese chip.
En cuanto a la grabacion del video, los altavoces buenos me quedaban lejos, un C128 no es facil de ubicar fisicamente, y como se ve en el video lo tengo puesto en un lugar donde puedo ver las dos salidas de video simultaneamente (RGB en el 2002 y s-video en el TV), por lo que convenia mas acercar uno de los altavoces. La camara capta bien el audio pero es muy direccional, lo que hice fue mover uno de los altavoces hasta donde llego, pero el unico lugar libre era justo delante de la camara, por lo cual sale un poco saturado el audio, en la realidad suena un poco mas claro. Lo ideal hubiera sido reubicar el C128, cuando haga alguna prueba con el Plus/4 seguramente lo pondre en un lugar mejor.
Ya no me acuerdo si lo comente por aca, pero voy a publicar el binario del sintetizador HR4 para que cualquiera se pueda armar uno, este otro todavia tiene desarrollo por delante y muchas pruebas para asegurarme de la compatibilidad con el otro.
Alguien del foro tiene grabador de PICs?

Maniako

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 1013
  • SYS 8*4096
    • Ver Perfil
Re:Proyecto de sintetizador de voz por hard
« Respuesta #14 en: Febrero 07, 2016, 23:46:45 »
Algunos tengo. Programador de Eproms, micros y demás.
Tendría que mirar si alguno es compatible con el 16F648A .

El TL866 es compatible y lo tengo.
« última modificación: Febrero 07, 2016, 23:49:47 por Maniako »
LDA #$50
STA $0400
RTS
Lloré cuando conseguí hacer esto con el monitor del FC1.