TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: JCCAtec en 14 de Agosto de 2008, 23:35:09
-
:(
Hola geniales, una vez más me permito molestar su atención y pedir una ayudita.
Alguien a trabajado en algún proyecto controlado por la vos...?
la idea es poder realizar a modo explicativo un sistema controlado por vos, aunque me conformo con algo de información solamente. Es para un trabajo en mi escuelita, y lo básico sería poder encender una ampolleta con tan solo decir "luz", logicamente utilizando microcontrolador o igual con electrónica convencional.
Fácil para algunos pero por ahora es un gran reto para mi.
Desde ya muchas gracias.
atte.:
JCCAtec.
-
Hola JCCAtec. Me he permitido modificar el título de tu mensaje ya que tenía una falta de ortografía que impedía la utilidad del buscador.
Tendrías que aclarar si quieres activar el dispositivo por la voz, o por la palabra. Me explico: no es lo mismo que el dispositivo se encienda y apague cada vez que escuche cualquier cosa, o que interprete las palabras y obedezca los comandos hablados.
Si se trata del primer caso, es obviamente mucho más fácil, y podrás encontrar algo que te sirva en el proyecto PIC-Tengu que encontrarás en el foro.
Del segundo caso no puedo ayudarte.
-
Hola:
Bien, si quieres reconoser "Audio" para que te distinga de cualquier palabra, por ejemplo, cada frase letra o palabre tendrá un tipo de "gráfica" por lo tanto la palabra "luz" con tu voz y la mia no será la misma, para ello o tendrías que hacer filtros y podrías usar un DSpic para ese fin, o una solución más sencilla y utilizar un HM2007
(http://www.imagesco.com/speech/SR1.GIF)
Este dispositivo es capaz de reconocer audio, tiene un 95% de presición, te dejo un link para que lo leas:
http://www.imagesco.com/articles/hm2007/SpeechRecognitionTutorial02.html
Si gustas, tambien venden kits armados y para armar, yo tengo uno de esos, lo compré no hace mucho en unos USD$ 32 aquí en Ecuador, lo malo?, aún no loo he probado :D, pero puedes comprarlo y probar:
http://www.imagesco.com/speech/speech-recognition-technology.html
Existe un libro de John Iovine:
(http://www.melabs.com/images/PIC_Robotics.jpg)
En el cual te enseña como utilizar ese dispositivo para reconocer voz, el lenguaje utilizado es PicBasic PRO y es muy entendible, te dejo un link al libro:
http://www.melabs.com/products/books/prbook.htm
Suerte.
-
:-)
Muchas gracias por vuestra coperación, me a sido de mucha utilidad, quede muy claro con el tema.
Un cordial saludo a todos y cada uno de ustedes.
Atte.:
JCCAtec, Chile.
-
Gracias LordLafebre, es lo que yo también estaba buscando, ahora veo como lo consigo y si lo tengo que comprar al extranjero, cuanto me duele en la aduana Argentina.
Ya me descargue el datasheet (y está tachado por el autor John Panaco, unas cuantas partes) Y en el datasheet, figura el circuito que has citado.
-
Hola:
Lee bien el datasheet, pues te tocará tambien adquirir la memoria RAM, no solo el HM2007. Aún no pruebo nada, pero yo compré las dos cosas, en USD $37 me parece, la memoria y el otro chip.
-
Saludos gente todopic!
Después de unos meses de ausencia por ciertos problemas de salud (estuve enfermo de un virus llamado "mononucleosis") estoy de vuelta, y estoy con un pequeño proyecto de reconocimiento de voz, aunque de forma sencilla porque no dispongo de los conocimientos que requiere este complejo y grande campo de la electrónica.
Y adicionalmente, ese chip, el HM2007, no se consigue en mi país y no dispongo de tiempo para hacer todas las diligencias para importarlo...
En fin, la idea que tengo es hacer algo muy sencillo, digamos un aparataje tipo sistema de seguridad, una persona dice su nombre y el sistema compara con algo previamente grabado (estaba pensando con usar un IS1420 que sí se consigue acá) y pues si es la persona que debe ser, se abre una puerta o algo así... y si no, pues emite una alarma o algo parecido...
He estado buscando en el foro pero no consigo mucho, todos hacen referencia al HM2007 del cual no dispongo. Y en internet hay mucha información, pero demasiado compleja para lo que yo puedo hacer.
¿Qué dicen, hay alguna idea? Yo pensaba en grabar una palabra corta y hacer conversión A/D a alta velocidad (una conversión tras otra) y así escanear toda la señal de la voz.. y luego hacer el mismo trabajo con la señal previamente grabada en el ISD1420, y entonces comparar si las señales son iguales. ¿Qué les parece? ¿creen que sea viable?
De antemano les agradezco lo que me puedan ayudar, saludos y nos leemos! :mrgreen:
-
Hola Javier.
Que bueno tenerte de vuelta ( ya decia yo que algo te habia pasado porque hace rato no andabas por aca ) y que bueno que te hayas recuperado.
Pues mira, si quires digitalizar la voz vas a tener que muestrear al doble de la maxima frecuencia audible como minimo (Teorema de Nyquis), por lo que se deberia usar un dsPIC.
Tiene que ser por voz obligatoriamente? porque hay modulos de lectura de senales biometricas que se pueden adquirir en el mercado y que se manejan con serial.
Saludos
-
Gracias por tu respuesta Miguel! :)
Pues sí, estuve fuertemente enfermo, y pues nada... tuve que guardar un reposo prolongado y dejar de trabajar con la electrónica y demás...
Vaya, había estado pensando en eso que me dices, acabas de confirmar mi presentimiento de que no podré hacero con los 16F o 18F que se consiguen aquí en Venezuela, yo pensaba en que de alguna forma podría tratar la señal electrónica de la voz y leerla, pero parece que es imposible. Si no consigo un HM2007 pues no es tan fácil conseguir un dsPIC. Acabo de ver en una tienda que es la que trae más cosas de electrónica, y sólo tienen el DSPIC30F3011, pero te digo, tengo poco tiempo y ponerme a aprender a programar dsPIC no se me hace muy viable. El proyecto me pareció interesante y por eso acepté, pero creo que me ha quedado grande desde muchos ángulos.
Creo que me quedará decir humildemente que no podré hacer el proyecto. Aunque si te soy sincero me parece interesantísimo eso del reconocimiento de voz... tu has realizado proyectos en este campo?
Ok muchos saludos, y nos leemos! :mrgreen:
-
Hola.
Pues, hice un delay para mi guitarra electrica hace tiempo ya, pero no abarcaba todas las notas del diapason, por lo de la frecuencia -el sampleo no dio para las frecuencias de las notas mas agudas-. Claro esta que lo hice siguiendo el libro Microcontroladores Avanzados de Usategui et. al.. Pero solo fue el tratamiento de la señal y se la retrasaba cierta cantidad de tiempo. Ya para tu aplicacion tocaria comparar todo el muestreo en un tiempo determinado, lo que involucra bastante informacion.
Cuando intente hacerlo con el PCD del CCS no me dio resultado ya que el compilador toma recursos que gastan tiempo que en este caso es valioso. No he probado con C30, y creo que no podre hacerlo :( ya que ando hasta el cuello!!!! jeje.
Saludos
-
Me parece muy interesante eso que hiciste, te felicito!
Nuevamente te agradezco tus respuestas, te cuidas y saludos! :mrgreen:
-
Sí es medianamente posible hacerlo incluso con un 16F877 pero necesitarás una memoria RAM externa algo mediana (arriba de unos 32K estaría bien) y un convertidor A/D de preferencia externo. Claro, sólo te servirá para palabras cortas. Y obviamente no se tratará de un dispositivo "reconocedor de voz", más bien de un simple comparador de muestras significativas. Para el acondicionamiento de la señal de entrada bastarán uno o dos opamp single-supply de +5v (Microchip MCP602X).
Pues, hice un delay para mi guitarra electrica hace tiempo ya, pero no abarcaba todas las notas del diapason, por lo de la frecuencia -el sampleo no dio para las frecuencias de las notas mas agudas-.
Me extraña, ya que yo he hecho delays, reverbs, chorus y flangers usando un 16F877 y alcanza perfectamente el rango de frecuencias de toda la guitarra.
-
Hola gente, por lo que yo tenia entendido el reconocimiento de voz es altamente complejo, sobre todo si queremos realizar algo independiente del interlocutor o de su estado de salud.
Jacrmr obtuviste buenos resultados con tu metodo ?
Saludos !
-
Definitivamente que es algo sumamente complejo, tal como dice Richi. Ahora bien, lo que quiero hacer es que el dispositivo reconozca una única palabra de una única persona, así que no estoy hablando realmente de "reconocimiento de voz". Jacrmr, me parece muy interesante lo que propones, posiblemente ese método de "comparador de muestras significativas" me sea útil, muchas gracias por el comentario.
Entonces sería cuestión de introducir la señal de voz al micro, y tomar la cantidad de muestras posibles una tras otra hasta alcanzar el tiempo que tarda el pronunciar la palabra, digamos unos 3 o 4 segundos...
Ahora bien, el siguiente paso sería sencillamente comparar una a una la muestra tomada con el patrón deseado?
De antemano agradezco sus respuestas!
Un cordial saludo, nos leemos!
-
Lo que a ti te conviene hacer es un reconocedor por tono.
-
Hola FirePic, me parece barbaro ponerle limitaciones, el problema de este metodo es como reconocer si la persona dice la palabra mas lento o más rápido o que pasa si ese dia la persona esta disfónica. Habia leido ( y pongo un link a una nota que encontre, viejita pero esta buena ) sobre que las mejores tecnicas de sampleo son ADPCM ( Adaptive Diferential PCM ) donde se obtiene muestras de calidad considerable a un rate mas bajo que las tecnicas estandares.
http://members.tripod.com/werdav/adpcm.html
http://datasheet.digchip.com/000/000-1-MSM6679.pdf
El tema es muy intersante y la vez complejo.
Saludos !
-
Me extraña, ya que yo he hecho delays, reverbs, chorus y flangers usando un 16F877 y alcanza perfectamente el rango de frecuencias de toda la guitarra.
Vea pues!!!!
Seria interesante verlo!!!! Claro esta que la forma como lo hice fue con filtros FIR. Tu como haces en el 16F?? me da mucha curiosidad, ya que el delay no tiene mucho problema, pero un chorus y un flanger ya involucra modificacion de la senal adquirida.
Saludos
-
Vea pues!!!!
Seria interesante verlo!!!!
Más bien escucharlo porque el cliente al que se le diseñó ya se quedó con él. Voy a tratar de subir una muestra de audio. En realidad el PIC16 sólo hace la administración del buffer de memoria externo, gestionando y llevando cuenta de los apuntadores de memoria de los osciladores de baja frecuencia (en el caso de chorus y flanger), y haciendo un buffer circular cuando es delay o reverb; es decir no es un procesamiento digital real. Obviamente cuando se usa chorus y flanger se llega a escuchar aunque levemente una muy ligera distorsión debido a que no se está haciendo interpolación entre dos muestras sucesivas. El sistema funciona a 12 bits y 16.5 KHz de muestreo.
Respecto a la aplicación de firepic el comparar muestras significativas funciona sólo y sólo si es la misma persona la que grabó la voz previamente y que la pronunciación sea al mismo tono y velocidad que la muestra de audio guardada. Microchip tiene una librería para dsPIC de reconocimiento pero es sólo para el idioma inglés por el momento.
Creo que me quedará decir humildemente que no podré hacer el proyecto.
Si lo decides así explícales a quienes te lo encargaron que no te están pidiendo cualquier cosa, y que si en realidad lo quieren te tardarás en realizarlo y además así les costará. Hay veces que algunas personas piden cada cosa que ni siquiera saben lo que cuesta (en valor intelectual y económico). Yo en lo personal jamás encararía un proyecto de estos con un microcontrolador, y tal vez incluso ni con un DSP. Aquí lo más viable es buscar en el mercado alguna solución ASIC.
-
Interesantes todos sus comentarios.
Richi, muy bueno los links... ese MSM6679 se ve como más complejo que el HM2007. Y pues tienes razón, es horrible tener que estar colocándole limitaciones a un proyecto, es como estar pirateando y no da nota...
Les explico, es que el proyecto realmente es de unos estudiantes que me pidieron que les ayudara con la programación... yo les dije que les podía enseñar a programar con C para que ellos mismos lo hicieran... y yo los podía ir guiando con la programación... pero los chamos ni siquiera saben inglés, son de bajos recursos, y no saben buscar mucho en internet porque se limitan sólo a lo que se consigue en español... así que me dió lástima por ellos y quise ayudarles un poco más, y por eso me puse a investigar a ver si de verdad estaban haciendo bien la parte del hardware, yo nunca he trabajado con este tópico de voz, y menos reconocimiento de voz... y pues en base a lo que leí y sobretodo a sus comentarios, les dije que la cuestión no era tan fácil como ellos creían... cuando jacrmr mencionó la cuestión del comparador de muestras significativas, pues me animé a pensar que de repente los chicos podrían hacer algo para cumplir con la materia y presentar el proyecto. En realidad ellos están estudiando telecomunicaciones, pero el profesor de una materia que están viendo les pide un proyecto complejo como evaluación final, aunque ellos no tengan idea de cómo hacerlo ni tengan los conocimientos necesarios.
Lo cierto es que ya les dije que no podrían hacer lo que pensaban, así que les recomendé cambiar de proyecto, y así lo han hecho. Les agradezco de nuevo sus comentarios y ayuda... es en estos momentos en que me desanimo de trabajar con electrónica acá en Venezuela, es muy difícil conseguir componentes avanzados... así que hay que limitarse mucho.
Espero estén muy bien, un cordial saludo y ya saben... nos leemos! :mrgreen:
-
El sistema funciona a 12 bits y 16.5 KHz de muestreo.
Ah, ya. Lastima. No sirve para los TH ya que se quedaria mudo :D. Muy interesante. Yo lo trabaje directo con el dsPIC y por eso me vi limitado (la verdad queria imitar a mi BOSS pero ni modo :D ).
Saludos