Esto no aporta nada nuevo, pero ya que un amigo queria probar la aventura conversacional y solo podia usar la placa RS232, adapte el programa a GW-BASIC desde la version para C128 para aprovechar las 80 columnas, pensaba de paso correrla en mi PoqetPC Plus pero no pude encontrar el cable serie por ninguna parte, asi que tuve que pasarla a diskette y correrla en una IBM. Un problema de la version RS232 es que no puede detectar cuando el PIC termina de hablar, eso ahora lo estandarice conectando el led de reproduccion de sonido a la señal Ring Indicator del RS232, pero esto requeriria agregar otro MAX232 a la placa. Como no tengo ganas de hacer otra placa, opte por enviar el texto todo junto porque para sincronizar lo impreso con lo hablado no quedaria otra que agregar una pausa en cada linea enviada de acuerdo a la duracion de la voz. Tampoco use colores para que pueda funcionar en cualquier PC, y por supuesto el programa no queda muy vistoso, es incluso mas interesante en MSX con 40 columnas y sin colores, pero la PC no me interesa lo suficiente como para ponerme a arreglarlo, por ahi alguien mas lo hace.
Solo por probar quise sintetizar el ringtone de la linea presidencial de la pelicula Our man Flint, usando como referencia este video:
No se si el video esta en la velocidad correcta, se me hace que era un poco mas rapido, pero es lo que habia a mano, asi que los tonos y tiempos son mas o menos esos. Como el sintetizador no tiene comandos para ajustar frecuencias sino semitonos, esta todo corrido a la nota mas cercana, ademas medi a ojo un ciclo promedio de cada tono para calcular la frecuencia, y lo mismo con los tiempos. Para que sonara parecida la forma de onda, tambien busque un ciclo de onda promedio, lo capture y se lo envio al sintetizador con el comando I (instrumento). La onda que use es esta, en la imagen esta repetida 4 veces para que se note mejor:
Esto se traduce en comandos del sintetizador a esta secuencia:
La primera linea solo hace falta enviarla una vez, no es mas que el comando I seguido de la secuencia en hexadecimal de las 66 muestras que forman la onda, con este comando se puede cargar cualquier onda que uno quiera. El resto son las 5 secuencias de 2 tonos cortos y uno largo que forman el ringtone. Todo esta tocado con el instrumento /7, que es el definido por el usuario, y que en el arranque tiene cargada una onda cuadrada, luego de la ejecucion del comando I se convierte en la onda que muestro mas arriba. Adjunto el audio capturado del sintetizador.
Hice una prueba con una nueva placa para MSX que acabo de armar, Para los interesados en armarse una, puse algunas fotos mas detalladas de la placa en este tema: LINK Aca se ve la placa conectada, es mas compacta que las anteriores:
Para variar un poco y de paso que se viera como se usa el sintetizador desde el BASIC, esta vez la prueba la hice en modo directo, tipeando los comandos necesarios para enviar los datos al chip. Este es el video:
Hace un mes hice una modificacion a las vocales y otros fonemas del sintetizador HR5, lo que hice fue filtrar algunas componentes de baja frecuencia de las ondas que generaban una ligera interferencia, y reducian el volumen del sonido, perdiendo resolucion en la salida final. No fue una modificacion drastica pero mejoraba un poco la claridad de la voz. Ademas de eso, reduje el volumen del fonema i, que se notaba demasiado en comparacion con las otras vocales. Para probar que tal sonaba me parecio que podia usar otra vez la aventura Neutronia, aprovechando que Master Po la porto al BASIC de la Spectrum. Estuve ajustando algunos textos de la aventura a la pantalla de la Spectrum, pero como se puede ver en el video, todavia falta arreglar otros. Con los colores no tuve suerte, probe varias combinaciones de fondo, borde y tinta, y la que mejor se lee es la de tinta negra y fondo blanco, para que quedara un poco de color le puse el borde amarillo, ya que al salir por video compuesto y ser tan finas las letras, no se lee bien el texto del INPUT si las letras son blancas (con amarillo la tinta se vuelve negra).
En diciembre empece un nuevo sintetizador de voz que hacia años estaba diseñado pero nunca me dedique a implementarlo en un PIC, porque requeria un chip mas grande que los que suelo usar. Como descubri la manera de hacer una version intermedia mezclando los nuevos fonemas mas inteligibles, con otros fonemas existentes en el sintetizador HR5, hice una version de prueba que resulto bastante bien, aunque todavia le falta mucho desarrollo. Corregidos unos problemas iniciales, hoy pude hacer unas pruebas en video, ya unos pocos habian escuchado algunas pruebas en audio. Hice dos videos, uno probandolo desde una terminal enviandole textos mas elaborados por RS232 desde la PC, y otro donde pruebo los programas que ya tenia adaptados en MSX, este video es justamente ese, se prueba la aventura Neutronia (con unos cambios en el tono de la voz, el resto es igual), despues se envian unas palabras desde BASIC, y por ultimo se juega una partida al juego REC de DamianWorf. El otro video lo puse en proyectos porque tiene mas que ver con eso que con este hilo. Para el que le interese, esta aca: LINK
Como ya tengo una version bastante avanzada del sintetizador HD1, volvi a probarlo con la aventura conversacional Neutronia, pero esta vez le toco el turno a la Commodore 128. Tuve que mover uno de los parlantes cerca del monitor para que la camara tomara mejor el audio, porque lo que tenia a mano eran dos parlantes 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. Tambien la camara 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.