• Cuando termines de leer podes pedir a tu kioskero amigo que te entregue tu premio TL;DR (Too Long; Didn't Read - Muy largo; no lo leí) a cambio de 2 tapitas de Crush y la esquina de la tapa del album de figuritas 'El cuerpo humano'. biglaugh

    imagen

    (http://imgur.com/dKORK) por si no aparece la imagen.
     

  • Cuando termines de leer podes pedir a tu kioskero amigo que te entregue tu premio TL;DR (Too Long; Didn't Read - Muy largo; no lo leí) a cambio de 2 tapitas de Crush y la esquina de la tapa del album de figuritas 'El cuerpo humano'. biglaugh

    the woz
    biglaugh.png Igual tampoco quiero dar a entender que tiene que resumirse, ni nada, de hecho ya lo lei y es muy interesante todo el thread, lo de las muchas letritas es mas o menos un chiste wink.png.
    Pasa que a veces uno deja para despues las cosas que parecen mas interesantes, en una lista de PICs (o la de robotica?) hay un thread de un chabon que esta armando un segway y me parece tan interesante que no lo leo, dejo que se acumulen los mails (decenas!) para leerlos en un momento mas adecuado (cuando?). Es una mala costumbre que a veces cuando ando medio vago aparece. Las veces que me fue bien en algo es cuando hice lo contrario.
    Saludos
    MARCOS
    PD: De todas formas un punto aparte cada varias oraciones, una linea en blanco cada tanto no molestaria, digo, para que no hayan tantas letritas juntas wink.png
     

  • Loco...es fantástico como pronuncia RETRO, o sea, no le patina la R ni un poco, en general lo que escuche sintetizado justamente "patina" en ese asunto. Muy bueno !

    Beamrider
    Bueno, eso de la R es porque casi todo lo que hay son sintetizadores en ingles, que pronuncian la R suave. Este por el contrario pronuncia demasiado la R, ahora esta razonable pero al principio parecia un aleman.
    Cuando este terminado va a quedar mas chico que un cartucho para la C64, porque iria al puerto del usuario pero no necesitaria el MAX232 y los capacitores que adaptan a los +-12V del RS232, seria un conector para el puerto del usuario, el PIC, el cristal, 3 capacitores, una resistencia, y el conector para miniplug, bien minimalista la placa. En la C64 se manejaria por RS232, con OPEN y PRINT# para enviar el texto, y lo voy a armar en una placa especifica, en las otras maquinas lo voy a probar como modulo RS232 con su propia alimentacion.
     

  • Expectacular!  amazed.png

    Hace un tiempo que tengo este thread separado para mirarlo con detalle porque me interesa mucho el tema, pero habia que dedicarle un tiempo (hay muchas letritas!)
    Recien hoy empece a leerlo, baje el programa y lo corri en la C64.....No puedo creer que este escrito en basic!! Un programa Basic me dijo HOLA!
    Te felicito, muy buen tu laburo, y por ahora solo lei los 2 primeros mensajes y corri el programita Basic, despues miro el resto (hay muchisimas letritas veo!).
    Saludos
    MARCOS
    PD: La presentacion del programita esta muy linda, los titulos, los colores, etc!

    marcosjl
    Por las dudas para que no te ilusiones con que el "sintetizador" de la C64 mejore mucho mas a lo largo de este tema, todo lo ultimo se trata mas que nada del sintetizador original con PIC, lo de la C64 y MSX fue como una divagacion en medio de eso.
    Habia cancelado los planes para retomar el sintetizador en la C64, pero despues decidi que en el futuro iba a experimentar con dos metodos de sintesis de voz en el PIC, uno totalmente digital, en el sentido de que seria todo con sonido almacenado, y otro con sonido generado totalmente mediante algoritmos, esto es que cada fonema tenga un codigo asociado que genere las ondas, las mezcle, distorsione, etc. El motor de sintesis que uso actualmente es un hibrido de esos dos metodos.
    Por eso cuando investigue la sintesis por programa me va a venir muy bien hacer pruebas en la C64, asi que hay alguna posibilidad de que termine haciendo un sintetizador por soft para esa maquina, en assembler por supuesto.
     

  • Se me ocurrio hacer un experimento, y resulto que ahora el sintetizador puede hablar cordobes. biglaugh.pngbiglaugh.pngbiglaugh.png
    En realidad no tiene nada modificado, simplemente es colocar los acentos en los lugares correctos y se logra otra entonacion. Hice 3 pruebas, las capture en un solo mp3, la primera es mas sutil y las otras van cada vez mas pronunciadas, lo que dice es "SINTETIZADOR DE VOZ CORDOBES", y lo que se envia al sintetizador es:

    Prueba 1: SINTETISAA+DOR DE VOS KORDOO+BE+S
    Prueba 2: SINTETISAAA+DOR DE VOS KORDOOO+BE+S
    Prueba 3: SINTETISA-AA+DOR DE VOS KORDO-OO+BE+S

    Para que se entienda, el sintetizador para lograr las entonaciones correctas necesita 3 sonidos por vocal, por ejemplo si decimos CASA, necesita una A con acento (A+) y una A comun (A), pero si la palabra esta al final de la oracion, la segunda A es una vocal de fin de oracion, que tiene un tono menor (A-). Esto se usa para que la voz no sea robotica, es decir sin entonacion, con tono unico para todo. Aprovechando estos sonidos que ya estan incluidos en el sintetizador logre esa entonacion, subiendo el tono de las vocales, la primera prueba tiene una vocal comun y luego una acentuada (aá), la segunda alarga la vocal comun (aaá), y la tercera empieza de un tono mas bajo de lo normal, pasa por el sonido normal, y luego un sonido acentuado (a.aá, siendo a. la vocal de fin de oracion).
    El uso de S en vez de Z y de K en vez de C, es porque la Z y la C son letras redundantes, aunque en algunas partes se use el sonido Z. La C se reemplaza con S o K segun el caso.

    ]test_cordobes.zip[/file]
     

  • En esta prueba salio mejor, mantiene el acento pronunciado de la ultima prueba pero lo acorta 1/3, ya que lo que se hace es bajar el tono a la silaba anterior, por lo cual en la silaba que debe acentuarse solo se usan una vocal normal y luego una acentuada. De esa manera se sube de tono dos veces pero no se usan 3 sonidos sino 2.

    La secuencia que se envia es: SINTETI-SAA+DO-R DEE+ VOS KO-RDOO+BE+S
    Que seria algo como: sinteti.zaádor. deé voz cor.doóbés

    Asi la A de SINTETIZADOR, la E de DE y la segunda O de CORDOBES estan acentuadas, y tienen la vocal de la silaba anterior con tono mas bajo de lo normal, para "acentuar" el acento.
    El archivo adjunto es un mp3 comprimido, igual que el anterior.
    El mensaje esta grabado dos veces, una vez como esta capturado y la segunda aplicandole un filtro pasabajos de 4KHz.

    ]test_cordobes2.zip[/file]
     

  • Por si a alguien le interesa un poco mas de detalle tecnico, acabo de hacer la primera actualizacion a mi sitio pastbytes.com en 5 años! (como pasa el tiempo)
    Pensaba recopilar algunas pruebas como el sintetizador en BASIC, algunas otras en assembler en C64, tambien agregue los videos que no aportan nada nuevo a lo que ya esta escrito en este tema, y escribi una "breve?" introduccion que en realidad es lo unico que hay nuevo por el momento. wink.png
    La pagina en cuestion esta en LINK
     

  • ¡Buenisimo!
    Ya tengo algo para leer despues de almorzar wink
     

  • Actualice la pagina con la distribucion de pines del PIC, la tabla de fonemas aceptados con los comandos equivalentes en ASCII, y la descripcion del control en modo CPU y RS232.
    Lo nuevo esta al final de la pagina, despues de los videos en Sintetizador de voz programable
    >>> LINK
     

  • Esto es una breve actualizacion del proyecto, tuve curiosidad de saber cuanto audio real se necesita para el futuro motor de sintesis basado en sonido almacenado, asi que capture todos los sonidos generados por el sintetizador, obviando alteraciones como los acentos, que se pueden generar por programa escalando en tiempo real el sonido almacenado. El resultado fue que el PIC genera el equivalente a 1,518 segundos de sonido, que en la realidad debe ser calculando a ojo algo asi de la decima parte o menos, es decir lo que realmente esta almacenado en el programa y se usa como ondas base para la sintesis.
    Basado en estos 1,518 segundos, a la calidad actual de reproduccion de sonido me da un poco menos de 11Kbytes, demasiado para un PIC16 que llega hasta los 8K (de 14 bits), pero manejable por ejemplo para un PIC18F2520 de 16K (de 16 bits), que gracias a la arquitectura de 16 bits ademas me duplica la capacidad de almacenamiento de sonido, ya que puedo almacenar 2 bytes por palabra en vez de 1 que podia en la serie 16.
    Es decir que en un PIC18F2520, usando unicamente sonido almacenado mas un par de alteraciones al sonido por programa para los acentos de las vocales, estaria usando el 33 o 34% de la memoria del PIC para sonido, y el motor quedaria mucho mas simple ya que practicamente tendria que concatenar sonido de la ROM interna. Me atreveria a decir que en ese PIC se podria tener dos voces almacenadas, idealmente masculina y femenina, mas el otro tercio de la memoria dedicada al programa de sonido y a la comunicacion con el exterior.
    Por el momento estoy recapturando el sonido original y remplazando las capturas generadas por el PIC por su equivalente en sonido real, con mismo tono y duracion (un trabajo de locos), pero hasta ahora va muy bien, ya tengo las vocales que las hice en un par de horas de edicion de sonido. Los sonidos mas complejos son los mas faciles de capturar, los que parecen mas simples son los dificiles, como la L, M, N, vocales, que es dificil pronunciarlas en el tono correcto si no es en una palabra, y al estar en una palabra el sonido se pega con los otros, pero ya tengo años de experiencia en esto. biglaugh.png
    No veo la hora de probarlo aunque sea en una simulacion concatenando los sonidos en la misma calidad exacta con que estaran almacenados en el PIC, con suerte en uno o dos dias, o antes si la locura sigue conmigo, podre tener una idea de como suena.
     

Moderador (s): homecomputer, Selandari, ArielP, pastbytes, Durandal