Autor Tema: Presentacion y nuevo programa para C64  (Leído 26116 veces)

josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 13630
  • Commodoreador web
    • Ver Perfil
    • Mi blog
Re:Presentacion y nuevo programa para C64
« Respuesta #15 en: Marzo 10, 2012, 18:10:39 »
pastbytes: que bueno ese ejemplo!!! :O justo hace unos días Rulas estaba intentado hacer esto mismo, aunque no sé si lo consiguió.

Recuerdo en mis inocentes tiempos intentando hacer esto mismo "a lo tonto" :D obviamente no llegué a nada... jeje
www.retroinvaders.com | www.commodoreplus.org  | josepzin.blogspot.com

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #16 en: Marzo 11, 2012, 16:53:03 »
Esa prueba fue el genesis del proyecto TAV, no pense que se pudiera hacer voz en BASIC, asi que fue como un experimento no muy serio, pero me sorprendio como sonaba, de hecho el unico problema que tiene es que el BASIC es lento y tarda como 20 milisegundos en hacer lo que deberia hacer en alrededor de 9 milisegundos. Por eso experimente un poco mas y luego pase a ensamblador, pero en BASIC creo que tengo ademas de las vocales y la L, tambien la N, S, D y no se si alguna otra. El sintetizador analogico en ensamblador no sonaba para nada metalico, pero no tenia un sonido tan contundente, por eso pase a sonido digital, la gracia era que se entendiera, no que fuera sonido de alta fidelidad.
El sintetizador de donde viene todo esto (hecho con el chip) es digital, asi que la version actual de TAV es mas fiel al original, cuando empece a experimentar en C64 no pense que con sonido digital de 4 bits se pudiera hacer bien, por eso encontre un metodo analogico totalmente diferente pero con menos carga para el procesador. No es facil encontrar los valores adecuados para colocar en el SID, por ejemplo para hacer el fonema A, en mi sitio explique como obtuve los parametros a partir de un ciclo de la onda original digitalizada a 44KHz y 16 bits:
http://www.pastbytes.com/apps/tav/historia.html
Teniendo cualquier onda se puede descomponer en 2 o 3 ondas del SID que se pueden combinar para aproximar el sonido original, yo tengo la ventaja de que pase años obteniendo los fonemas como sonido digitalizado en buena calidad, asi que lo unico que me quedaba era sintetizarlo con ondas triangulares y ruido generados por el SID.

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #17 en: Marzo 31, 2012, 07:36:18 »
Hace unos dias publicamos en retrocomputacion el TAV64 convertido a extension del BASIC, modesta pero extension al fin. Ahora hay que cargar la extension, que agrega las instrucciones TAV, BORDER, PAPER y el comando HELP.
BORDER y PAPER funcionan como en Spectrum, para cambiar el color de borde y fondo respectivamente, TAV funciona de manera similar a la instruccion SAY del SAM, admitiendo cadenas literales, variables o expresiones, siempre y cuando devuelvan texto. El comando HELP muestra los creditos y un resumen del uso.
El programa se carga (en el caso de la disketera 8 ) con LOAD"TAV64BAS",8 y luego hay que ejecutarlo para instalar la extension al BASIC, esto agrega los comandos y mueve el programa debajo de la ROM del BASIC, por lo que la extension resta alrededor de 500 bytes a la zona de programas BASIC, para la entrada a las rutinas.
En la imagen .D64 se incluyo ademas una version del famoso Eliza, adaptado para que hable, debe cargarse una vez instalada la extension anterior. Esta version originalmente se publico en un fasciculo de la enciclopedia Mi Computer.
La imagen se encuentra en este tema del foro:
http://www.retrocomputacion.com/e107_plugins/forum/forum_viewtopic.php?66985
Ahi tambien esta el codigo del programa BASIC para el que quiera modificarlo.
O$ es la cadena que se imprime, OT$ es la cadena que se habla, y en la linea 300 es donde se llama al sintetizador de voz, con la instruccion TAV.

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #18 en: Marzo 18, 2013, 07:26:26 »
Bueno, esto no esta tan relacionado a este tema, pero antes que empezar uno nuevo lo pongo aca por si a alguien le interesa.
Hace un año, despues de implementar los sintetizadores de voz por soft para varias maquinas, incluyendo Commodore 64, empece a hacer experimentos para que pudiera cantar, y antes de hacer una nueva version decidi volver al proyecto original con un microcontrolador PIC, para poder experimentar mejor y cuando estuviera funcionando poder hacer otra reimplementacion por soft en plataformas de 8 bits.
Llevo mucho tiempo pero ya esta una version casi final, me tendria que armar otra placa para conectarlo al C64, pero creo que eso va a esperar porque por aca los conectores para el puerto del usuario son dificiles de conseguir y muy caros, por lo que estoy analizando otras formas de conexion. Habia pensado conectarlo por el puerto de cartuchos, pero saldria caro porque habria que incluir una extension para seguir usando un fast load por ejemplo, y puede que de conflictos con algunos cartuchos. Hasta el momento parece ser que la mejor opcion es convertir la placa en un dispositivo IEC, para que se conecte como se haria por ejemplo con una impresora, lo que haria que fuera facil de utilizar y de armar.
Por ahora a lo unico que puede conectarse es a cualquier cosa que tenga RS232 y soporte 1200 bps, como un C64 o Plus/4 con la adaptacion a RS232. Se supone que en el futuro tambien va a tener funciones de chip de sonido, por lo que seria una expansion de voz y sonido para usar en juegos y otras aplicaciones.
Como sea, aca hay dos videos que hice probando el chip desde un PC a traves de un programa emulador de terminal:
Prueba 1:  Sintetizador de voz con PIC16F648A, version 4 (2013)
Prueba 2:  Sintetizador de voz HR4 (2013) - Parte 2

Zonacas

  • Commodoremaníaco
  • ****
  • Mensajes: 111
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #19 en: Marzo 18, 2013, 08:00:56 »
Muy Bueno :)

josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 13630
  • Commodoreador web
    • Ver Perfil
    • Mi blog
Re:Presentacion y nuevo programa para C64
« Respuesta #20 en: Marzo 18, 2013, 09:40:35 »
Se nota que te diviertes :D

La verdad es que me pierdo con el tema pero el video es muy entretenido, sobre todo la "conversación" que mantienen tus voces y cuando cantan :)

tendria que armar otra placa para conectarlo al C64, pero creo que eso va a esperar porque por aca los conectores para el puerto del usuario son dificiles de conseguir y muy caros,
¿Que conectores son esos? en España se consiguen o son mas baratos??
www.retroinvaders.com | www.commodoreplus.org  | josepzin.blogspot.com

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #21 en: Marzo 18, 2013, 09:50:41 »
No se como se llaman esos conectores, pero en el pais no hay, salvo algun que otro remanente limitado y por los que piden mas de lo que vale el PIC y el resto de los componentes. Lo mejor es que sea un dispositivo IEC, pero me complica el programa.
Para aventuras conversacionales tendria que andar muy bien, con voz por el PIC y sonido ambiental por el SID.
Me tienen que mandar uno para hacerme otra placa, pero el problema no es ese sino que cualquiera lo consiga y ese no es el caso, asi que ya descarte conectarlo al puerto del usuario.
« última modificación: Marzo 18, 2013, 09:55:36 por pastbytes »

josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 13630
  • Commodoreador web
    • Ver Perfil
    • Mi blog
Re:Presentacion y nuevo programa para C64
« Respuesta #22 en: Marzo 18, 2013, 09:55:15 »
Si los encontras por internet en España avisame y te los puedo llevar. No creo que eso ocupe mucho!
www.retroinvaders.com | www.commodoreplus.org  | josepzin.blogspot.com

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #23 en: Marzo 18, 2013, 09:56:17 »
Vas a venir a Argentina?

josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 13630
  • Commodoreador web
    • Ver Perfil
    • Mi blog
Re:Presentacion y nuevo programa para C64
« Respuesta #24 en: Marzo 18, 2013, 09:57:04 »
Si, tengo viaje en par de meses, creo
www.retroinvaders.com | www.commodoreplus.org  | josepzin.blogspot.com

josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 13630
  • Commodoreador web
    • Ver Perfil
    • Mi blog
Re:Presentacion y nuevo programa para C64
« Respuesta #25 en: Marzo 18, 2013, 09:59:24 »
Creo que podrías preguntarles a los de http://www.retrocables.es o http://amigastore.eu si tienen ese enchufe

¿Es algo asi? http://www.retrocables.es/product.php?id_product=108
www.retroinvaders.com | www.commodoreplus.org  | josepzin.blogspot.com

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #26 en: Marzo 18, 2013, 10:05:03 »
Si, ese es el conector, mas las tapas y un boton de reset, no esta mal porque ahi dentro se puede armar el circuito y queda cerrado. Yo le estoy por armar a alguien uno asi, me manda el reset y le agrego el chip adentro.

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #27 en: Marzo 18, 2013, 10:08:33 »
Yo estoy lejos de Buenos Aires pero por ahi algo se pueda coordinar para que tengas una placa para probar.

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #28 en: Marzo 18, 2013, 10:17:35 »
Me olvidaba, lo que se envia al PIC para que hable lo del primer video es esto:

Citar
(v30)(n20r06)
salu+dos,komunida+d de retrokomputasio+n.esta+n eskucha+ndo labersio+n  kua+tro delsintetisado+r debo+s  kon pi+k
diesise+i-s.
e+sta bersio+n impleme+nta un nue+bo algor2i+tmo,ke'jene+r2a labo+s  emitie+ndo u+na- o+nda ba+se, la ku+al e+s
modula+da en amplitu+d,por u+na- o+nda enbolbe+nte,defrekue+nsia- eskala+ble-.
lafrekue+nsia dela enbolbe+nte,pue+de- ajusta+rse pa+r2a koresponde+r a kualkie+r semito+no (n10r03)de+sde la no+ta
do+,de-la-okta+ba u+no,(n40r18)a+sta la no+ta do+,de-la-okta+ba  kua+tro-.
(v26)(n20r06)pode+mos proba+r ko-nla-s no+tas musika+l(n30r0c)es.
(v30)por supue+sto-;
(n10r0a)do (n12)re (n14r04)m(r0a)i (n15)fa (n17)so(r03)l (n19)l(r0a)a (n1B)si,
(n20r14)do (n22)re (n24r08)m(r14)i (n25)fa (n27)so(r06)l (n29)l(r14)a (n2B)si,
(n30r28)do (n32)re (n34r10)m(r28)i (n35)fa (n37)so(r0c)l (n39)l(r28)a (n3B)si,
(n40r50)do.
(n20r06)
(v26)inter2esa+nte,shotambie+n bo+i-a- proba+r;
(n10r0a)do (n12)re (n14r04)m(r0a)i (n15)fa (n17)so(r03)l (n19)l(r0a)a (n1B)si,
(n20r14)do (n22)re (n24r08)m(r14)i (n25)fa (n27)so(r06)l (n29)l(r14)a (n2B)si,
(n30r28)do (n32)re (n34r10)m(r28)i (n35)fa (n37)so(r0c)l (n39)l(r28)a (n3B)si,
(n40r50)do.
(n20r06)
po-rfabo+r,kontinu+a-.
(v30)
e+ste progra+ma esta+ implementa+do usa+ndo un pi+k diesise+is e+fe se+is kuar2e+ntaio+cho'a+,i resi+be los koma+ndos
a mildos'sie+ntos bi+ts po-rsegu+ndo,por me+dio de u+na koneksio+n se+r2ie-.
e-lsoni+do emiti+do es'dijita+l,ko-nu+na kalida+d'de-o+cho-bi+ts de-resolusio+n,a-u+na frekue+nsia de-muestre+o  de-o+cho
ko+ma-se+is kiloje-rts.
(v26)itambie+n se-pue+de kant(n30r0c)a+r.
(v30)(n20r06)si+,probe+mo-s.
(n26r24)O(n27r21)ID(r0c)M(n28r16)ORT(n29r4a)A(r0c)L(r34)ES
(n2ar0e)E(r0c)LGR(n2ar1d)I(n29r16)IT(n28r31)OS(n27r0f)AGR(n26r5f)A(n23r1f)AD(n22r19)O.
(v26)
(r0c)L(n23r28)IB(n26r07)ERT(n25r36)AD(r0c)L(r2d)IB(n27r07)ERT(n26r39)AD(r0c)L(n27r32)IB(n28r08)ERT(n29r44)AD.

(v26n20r06)
bie+n,do+nde-se-pue+de-enkontrar informasio+n sobre-el proshe+kt(n30r0c)o.
(v30n20r06)
pa+r2a ma+s informasio+n,ingre+sen a-l si+tio del proshe+kto,e-n
do+ble-be+ do+ble-be+ do+ble-be+  pu+nto-  pastba+its  pu+nto ko-m.
(v26)
o- al fo+r2o de- proshe+ktos en retrokomputasio+n  pu+nto ko-m./0

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #29 en: Marzo 18, 2013, 10:22:21 »
Y en el segundo video se envia esto:

Citar
(v30n20r06)
e+ste- es uneje+mplo de ko+mo- los koma+ndo-s deasentuasio+n i-de to+no- debo+s  pue+de-n kambia+r la-bo+s pa+r2a- ase+rla- masnatur2a+l  o-ma-s robo+tika-.
probe+mo-s prime+r2o- konbo+s asentua+da-.
(v26n20r06)
le+shes de-la-robo+tika-.
u-n robo+t no-pue+de a-ser da+nio a-un se+r uma+no-  o,po-r inaksio+n,permiti+r ke-un'se+r uma+no su+fra-'da+nio-.
u-n robo+t d+ebe- obedese+r la-so+rdene-s da+das po-r lo-s'se+r2e-s uma+no-s,ekse+pto si-e+sta-s o+rdene-s entra+se-n enkonfli+kto- ko-nla prime+r2a-le+i-.
u-n robo+t d+ebe proteje+r su-pro+pia- eksiste+nsia-,e-nla-medi+da- e+nke- e+sta- proteksio+n  no-e+ntre- enkonfli+kto- ko-nla prime+r2a-  o-la-segu+nda-le+i-.
.
(v30n20r06)
i-ao+r2a probe+mo-s konbo+s robo+tika-,si-n ase+nto-s i-kon to+no-sdebo+s  ma-s agu+do-s.

(v30n20r06)
leshes de la robotika.
(v36)
un robot no puede aser danio a un ser umano o,por inaksion,permitir ke un ser umano sufra danio.
(n26r09)
un robot debe obedeser las ordenes dadas por los ser2es humanos,eksepto si estas ordenes entrasen en konflikto kon la primer2a lei.
(n30r0c)
un robot debe protejer su propia eksistensia en la medida en ke esta proteksion no entre en konflikto kon la primer2a o la segunda lei.

(v30n20r06)
tambie+n pode+mos ase+r efe+ktos  deja+ndo u+na no+ta fi+ja  mie+ntras bar2ia+mos el to+no ba+se de-labo+s,
ene+ste-ka+so,emitie+ndo- lasboka+le-s.

(n20r05)
(v10)a(v11)a(v12)a(v13)a(v14)a(v15)a(v16)a(v17)a(v18)a(v19)a(v1a)a(v1b)a
(v20)a(v21)a(v22)a(v23)a(v24)a(v25)a(v26)a(v27)a(v28)a(v29)a(v2a)a(v2b)a
(v30)a(v31)a(v32)a(v33)a(v34)a(v35)a(v36)a(v37)a(v38)a(v39)a(v3a)a(v3b)a(v40)a
(v10)e(v11)e(v12)e(v13)e(v14)e(v15)e(v16)e(v17)e(v18)e(v19)e(v1a)e(v1b)e
(v20)e(v21)e(v22)e(v23)e(v24)e(v25)e(v26)e(v27)e(v28)e(v29)e(v2a)e(v2b)e
(v30)e(v31)e(v32)e(v33)e(v34)e(v35)e(v36)e(v37)e(v38)e(v39)e(v3a)e(v3b)e(v40)e
(v10)i(v11)i(v12)i(v13)i(v14)i(v15)i(v16)i(v17)i(v18)i(v19)i(v1a)i(v1b)i
(v20)i(v21)i(v22)i(v23)i(v24)i(v25)i(v26)i(v27)i(v28)i(v29)i(v2a)i(v2b)i
(v30)i(v31)i(v32)i(v33)i(v34)i(v35)i(v36)i(v37)i(v38)i(v39)i(v3a)i(v3b)i(v40)i
(v10)o(v11)o(v12)o(v13)o(v14)o(v15)o(v16)o(v17)o(v18)o(v19)o(v1a)o(v1b)o
(v20)o(v21)o(v22)o(v23)o(v24)o(v25)o(v26)o(v27)o(v28)o(v29)o(v2a)o(v2b)o
(v30)o(v31)o(v32)o(v33)o(v34)o(v35)o(v36)o(v37)o(v38)o(v39)o(v3a)o(v3b)o(v40)o
(v10)u(v11)u(v12)u(v13)u(v14)u(v15)u(v16)u(v17)u(v18)u(v19)u(v1a)u(v1b)u
(v20)u(v21)u(v22)u(v23)u(v24)u(v25)u(v26)u(v27)u(v28)u(v29)u(v2a)u(v2b)u
(v30)u(v31)u(v32)u(v33)u(v34)u(v35)u(v36)u(v37)u(v38)u(v39)u(v3a)u(v3b)u(v40)u
.