Experimento de accesibilidad con Actionscript
7 seguidores
una persona invidente accede a una web. Sin el uso de etiquetas, con un micrófono y un archivo swf, se pretende guiar a dicha persona por dicha web.
La idea sería que con la voz y con la ayuda del micrófono la maquina podría reconocer opciones básicas, como "si","no","siguiente",etc...
Alguien tiene información sobre el tema?
Por donde empezaríais a trabajar?
tpmmds
Hola:
Como hablas de experimento no sé si lo que quieres es crear una "vía nueva", porque Flash es bastante accesible. Una persona que utilice un lector de pantalla y entre a una página web hecha íntegramente con Flash puede navegar por ella sin mayor problema. Se puede dar un nombre y descripción a cada botón, imágene, etc; asociarle un orden de tabulación, un método abreviado... vamos, lo normal en una página web que no fuese Flash. Además si has implementado deep linking (con Flex, SwfAddress...) podrá utilizar los botones del historial de navegación también.
Otra cosa es que esto no se haga casi nunca en páginas "Flash" :-(
Un saludo, y no me queda muy claro si lo que pretendes es utilizar todo esto o desarrollar tu propio sistema de Flash accesible. Si es lo segundo, ánimo :-)
cutcopy
hola tpmmds, pensaba que este "experimento" no lo iba a contestar nadie.
Ójala supiese lo que me gustaría de as para desarrollar todo lo que me ronda por la cabeza, lamentablemente he trabajado en papel mucho más que en web ( el papel le lleva 8 años de ventaja a internet en mi cabeza)...con esto no quiero decir que me haya sentido interesadisimo por el tema pero el autodidácta de as supongo que funcionará al mismo ritmo que yo. Bueno con esta introducción sobre mis conocimientos, ahora mis preguntas sobre el tema.
La idea no es que sea para gente invidente, solamente sino que sea una opción, y que sea una forma de navegación "diferente" al método de etiquetas,etc...
La idea es cargar videos (de ahí que no sea solo para invidentes) y que estos videos a traves de golpe de raton o vocal (micrófono) te lleven a otro video, de tal forma que se establezca una comunicación entre la maquina y el usuario.
no se si me he explicado con claridad esta vez.
nota: lamentablemente y lógicamente esta programación yo no la puedo hacer y no quiero que nadie me la de masticada, estoy pidiendo una opinión de si esto es viable a nivel de accesibilidad y usabilidad y como abordaríais vosotros un proyecto asi.
video+reconocimiento de voz+flash
:)
cutcopy
buenas de nuevo, estoy con la documentación del proyecto:
Por si a alguien le interesa voy poniendo info, mientras la gente se anime a contestar:
adobe video guide
juandelgado
Muy buenas,
Tengo una pregunta ¿estáis seguros que esa forma de navegar es buena para invidentes? Porque una cosa es lo que nosotros _creemos_ que les va a facilitar la vida y otra muy distinta la realidad. Ojo, que no digo que no sea buena idea y que no valga la pena contarlo, pero me gustaría saber si lo habéis comentado en foros de invidentes y tal.
Después de la duda inicial, las dudas técnicas. Que yo sepa no hay librerías para reconocer la voz en ActionScript. Una cosa es que puedas detectar que hay ruido a través del micrófono y otra muy distinta reconocer lo que dice. Si yo tuviera que empezar, buscaría algo Open Source hecho en C o Java y trataría de portarlo a AS3. Luego claro habría que ver tema de rendimiento, fiabilidad, idiomas (qué pasa si entra un invidente inglés, alemán, etc..).
Sobre si el proyecto sería viable o no... pues nada es imposible si tienes el presupuesto y el tiempo, pero desde luego no parece nada sencillo : )
Salud!
tpmmds
Hola:
Parece que no estás buscando una "página accesible" para invidentes, ya que lo que se puede conseguir es que el invidente con un lector de pantalla vaya "viendo" lo que hay en pantalla (gracias a que se lo va describiendo) y con la voz active el botón que desee en cada momento, lea el texto que le interese, oiga una descripción de una imagen, etc. Esto en principio es lo que se podria hacer implementando la accesibilidad en la aplicación Flash.
Pero a tí lo que te interesa es que el usuario diga: "Siguiente vídeo", por ejemplo, y se cargue un nuevo vídeo en Flash. Esto lo veo complicado ya que como dice Zárate tendrías que desarrollar toda una library de clases de reconocimiento de voz y en castellano. Me suena haber visto algo de reconocimiento de voz con AS2 hace tiempo, lo he estado buscando pero no lo he localizado, y creo recordar que estaba muy "verde". Sería cuestión de que buscaras algo; por experiencia, y después de buscar un rato, se suele encontrar algún proyecto de CUALQUIER COSA que se te pueda ocurrir en Flash :-)
Otra opción es que utilices alguna aplicación en C, o java, de reconocimiento de voz y ésta informe a Flash de lo que el usuario va diciendo. En java sí que hay bastantes proyectos, pero los que "funcionan" suelen estar en inglés.
Me parece un proyecto muy interesante, pero un mundo, algo bastante complicado. Generalmente a estos programas hay que "educarlos" para que reconozcan al usuario y la forma de expresarse que tiene (no es lo mismo decir "atrás" que "atrah") , y te lo dice un andaluz ;-)
Un saludo.
cutcopy
buenas compañeros
Pues estoy de acuerdo con zárate y con tpmmds voy a seguir con la documentación, en principio no es algo que corra prisa,como ya os dije es inquietudes que me rondan y que lamentablemente mis conocimientos sobre el tema me impiden desarrollarlos.
Pondré aquí todo lo que consiga sobre el tema y lo compartiré con vosotros.
tpmmds al habla otro andaluz :)
ga_rule
Yo de programación flash estoy bastante pez... pero cuando hemos hecho algun video en flash accesible para invidentes, hemos ido testeando con la ayuda de esta gente. Si te pones en contacto con ellos quizas puedan orientarte en algo :-)
ventdaval
Que yo sepa, con flash aun es imposible obtener cualquier tipo de dato del sonido del microfono, por lo que yo diria que es imposible hacerlo sólo con flash (segun se, ni siquiera se puede obtener el spectrum del micro en flash)...
La unica manera de hacer algo asi, que yo sepa, es a traves de flashcomm, red5, etc... y luego usar alguna libreria en java o C, pero aun asi, es una carga bastante chunga para el server, sobretodo si lo que se busca es una respuesta mas o menos rapida para manejar una interfaz ;)
kaax Staff
en Java hay unas apis que estan pensadas para ello, yo las estuve mirando hace unos años para un proyecto personal.
Flash solo podria actuar como intermediario con el lenguaje de servidor (por ahora) por lo que una alternativa
podria ser hacer la web en html e incorporar un applet...aunque es un buen curro, ya te lo aseguro. :)
http://java.sun.com/products/java-media/speech/forDevelopers/jsapi-doc/index.html
ventdaval
por cierto:
http://www.getmicrophone.com/
;)
juandelgado
Jajajaja, Vent, te me has adelantado, iba a postear ahora mismo. Para que quede claro y, contrario a mi idea inicial, ahora mismo seria completamente imposible hacer reconocimento de voz, precisamente porque no hay acceso a la informacion del micro.
Lo que acaba de postear Vent es una peticion para que eso cambie.
Ea!
tpmmds
Hola:
En "teoría" sí se podría acceder al espectro de un sonido en streaming y analizarlo. El problema que veo es que, partiendo de que alguien se haya dado la "pechá de trabajá" de programar toda la parte del lado del servidor, de captura de audio, filtrado, análisis de la onda, adaptación de código de reconocimiento de voz en Java o C, a AS3, etc. Se va a encontrar con un serio problema: AS3 está aún a años luz en "potencia de cálculo" con respecto a otros lenguajes que sí pueden afrontar este tipo de tareas.
Y otro tema que comenté más arriba: yo sólo me plantearía algo de este estilo si tuviese cierto control sobre el hardware y el entorno en el que se va a aplicar. Me explico, nunca lo haría para utilizarlo en una página web, NUNCA. ¿Por qué? Muy sencillo, porque te pones en manos del usuario, y con mucha suerte tendrías un 20-30% de personas que no sabrían instalar el micrófono, que tienen el cable roto, que no atinan con autorizar a Flash para que acceda al microfono (paso INELUDIBLE siempre), etc. Una pesadilla: me imagino al jefe, día sí y día también preguntando por qué fulano de tal no puede utilizar la aplicación.
Un saludo, y ánimo a los valientes ;-)
ventdaval
tpmmds
¿cómo? :S
tpmmds
Hola:
Si estás haciendo streaming con FMS (NO Flash Media Streaming Server, la gratuíta) la Clase SoundMixer sí puede acceder al espectro de un sonido emitido en streaming)
Un saludo.
ventdaval
ah vale, el tema es que si ya estas enviando el sonido al server, mejor hacer todo el analisis alli, y enviarle a flash las intrucciones ya procesadas, no?
En cualquier caso, por el momento me parece impensable depender de la latencia con el server para manejar una interfaz por voz...
tpmmds
Hola:
En "teoría" esta funcionalidad busca temas de este estilo (video vigilancia, por ejemplo, si consideramos vídeo y audio). Pero como dices, coincido que actualmente es impensable ponerlo en práctica en comparación con otras aplicaciones desarrolladas directamente, por ejemplo, en C, y para las que Flash sólo sea la interface. Eso sí lo veo más viable, sobre todo con la potencia de cálculo y estabilidad que aplicaciones en este sentido requieren.
Y vuelvo a repetir, aunque parezca algo pesado, que nunca me plantearía hacer nada de esto para la web.
Un saludo.
ventdaval
+1 :)
tpmmds
Hola:
Si me permitís hacer un poco de offtopic, y en relación al enlace anterior, me parece que está bastante complicado que desde Flash (la herramienta) se pueda tener acceso total al audio/vídeo, porque entonces... ¿quién iba a comprar FMS? Y más ahora que se avecina la tv por Internet. En el momento que con Flash (sólo, sin ningún tipo de herramienta adicional) se pudiese capturar audio y vídeo, se acabó el chollo del streaming.
No sé, si se acentúa la tendencia y Flash acaba dedicado mayoritariamente a servir contenidos de vídeo, quizá Adobe fusione en un sólo producto Flash y FMS; pero vamos, me parece que no es algo que se esté planteando Adobe.
Un saludo.
P.D.:Siempre queda la alternativa Open Source de Red5
juandelgado
Pero FMS es mucho más que eso ¿no? Para mi sí tiene sentido que te den acceso al audio y video en el cliente porque es en el cliente donde pasa, es como el teclado o el ratón. Otra cosa es que lo quieras grabar o emitir, pero tener acceso me parece algo natural. Para todo lo demás, pase usted por caja o por Red5.
¿No?
tpmmds
Hola:
No, si sentido tiene, pero me da que Adobe no está por la labor. Si con Flash pudieramos acceder a los "bytes" del audio y vídeo (al raw de las entradas de audio/vídeo, ya sea cámara web, capturadora de vídeo, FireWire, micrófono...) con AMF3, la clase Socket... sería casi inmediato hacernos un servicio de streaming con 10 líneas de código y quién pasaría por caja? De hecho, las heramientas existir, existen, ahí está Red5, pero claro, no es tan inmediato hacer un servicio de streaming.
Pero esto también dependerá de lo que los futuros compradores de la herramienta Flash exijan, claro :-). Si se empieza a dar mucho la lata por que los desarroladores quieran Flash fundamentalmente para streaming, quizá fusionen los dos productos. De hecho, con Flash MX 2004 te "regalaban" FMS (se llamaba Flash Comm Server) y componentes para hacer un video chat completamente operativo, pero eran todavía Macromedia y no tenían esta "querencia por la pela" que muestra Adobe.
Un saludo.
cutcopy
Zárate
Zárate mil perdones por mi ignorancia sobre el tema (ya me cuesta seguir el hilo) que es Red5? estoy metido en la pág y no consigo saber ni lo que es :S
juandelgado
Red5 es un servidor de streaming libre para Flash. El "espejo" Open Source de Flash Media Server para poder:
- Grabar en el servidor audio y video del cliente.
- Hacer aplicaciones multi-usuario (chats, juegos, etc).
- Servir video en streaming real que tiene sus ventajas.
- Más cosas que no me sé : D
tmmds, tienes razón con lo de AMF3 pero aun así yo creo que Adobe acabará cediendo.
Esperemos!
tpmmds
BuenAS:
Si quieres, te digo lo que no es: ActionScript. Si te aventuras a conocer Red5, estarás entrando en el apasionante mundo de java, jsp, apache tomcat, puertos, barcos... :-)Ya en serio, el problema que te vas a encontrar, después de bajarte unos cuantos megas del repositorio de red5, es que vas a tener que configurar el servidor, algo que no es precisamente inmediato. Si lo consigues, -ánimo-, lo otro viene rodado, ya que hay bastantes ejemplos de casi todo: streaming, video conferencia, chat, sharedobject (que desde un Flash un usuario pueda controlar elementos de otro Flash en tiempo real), etc.
Por cierto, Zarate, también espero. Ojalá una de las novedades de FP11 sea esta. Encomendémonos a Santa Tecla y crucemos los dedos :-)
Un saludo.
ventdaval
un inciso... desde flash 8 que se puede "capturar" el video con bitmapdata y coger su "espectro"... no asi el micro ;)
tpmmds
BuenAS:
¿Te refieres a ir capturando los frames del vídeo e ir mandándolos a un servidor con la ayuda de alguna API como AS3CoreLib y AmfPhp; o hay algo ya desarrollado para la captura de vídeo directamente?
Por cierto, me he bajado la versión 8 del servidor de Red5 y no va. La cosa es que no da ningún tipo de error, pero no hace nada, ni siquiera con un sencillo ejemplo de sharedobjects. Me he tenido que volver a la versión 7 que tenía. Las pruebas las he hecho en Windows XP64, no sé si esto tendrá algo que ver.
Un saludo.
ventdaval
tpmmds
Bueno, me refiero mas que nada a que el video lo puedes manipular, examinar y analizar en cliente (interactuar con la webcam, FLARToolKit, etc etc etc), mientras que con el microfono esto es muy limitado... que es mas o menos de lo que iba el post :P
Pero como offtopic, supongo que en as3, y más en fp10, es posible crear encoders de video y tal... ^^
cutcopy
tpmmds
A mi este post me está resultando de lo más interesante... tpmmds necesito más info sobre el tema nos ponemos en contacto?
tpmmds
Hola:
Ventd'Aval, festivamente, como decías en el anterior post, es rasterizar el vídeo dibujando los píxeles en un Bitmap. Es lo que utilizan también los VideoStreamMaterial de Papervision3D, por ejemplo. Pero claro, esto no es obtener el raw del vídeo; por ejemplo, tienes la dificultad de que deja de ser flv.
Cutcopy, Red5 es un mundo. Una cosa es lanzar el server y hacer tus experimentos de streaming y sharedobject, y otra meterse a "intentar" adaptarlo a tus necesidades. Si tienes alguna duda, en lo poco que sé, intentaré ayudarte. Aquí, en el curro teníamos un compañero que lo dominaba al 110% pero emigró a otras tierras.
Un saludo.
tpmmds
BuenAS, Cutcopy:
Siguiendo con el offtopic, y estando casi seguro que ya dominas el tema mejor que yo :-) Unas indicaciones de por dónde salpica el server de Red5:
Una vez instalado, debes lanzarlo. En la carpeta, o en el menú inicio, tienes un acceso a "Start net", o algo así. Se te abrirá una ventana de Símbolo de Sistema que NO hay que cerrar (eso es el server);
Tus aplicaciones, los swf's las debes poner en la carpeta "webapps/root" que encontrarás en la carpeta donde has instalado Red5.
Hay que utlizar la nomenclatura de apache tomcat para lanzar las aplicaciones: http://HOST:PUERTO/. Y si no has tocado nada, tendrías que ver tus aplicaciones en la ruta:
http://localhost:5080/
Según que caso, tomcat se puede llevar mal con Apache. Si tienes un servidor Apache desactivalo mientras estés con Red5, para asegurarte que no hay ningún tipo de conflicto.
Un saludo.
cutcopy
buenas de nuevo, retomo el tema ya que encontré esto:
Coding a simple Microphone Graph
se podría meter mano al sonido a través del gráfico?
Por otro lado, este ejemplo muy interesante se muestra la aplicación del sonido como herramienta para ejecutar acciones en as.
Pelotas, por no decir que cojones (perdon)