Autor Tema: Reconocimiento de voz con PIC  (Leído 7408 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Reconocimiento de voz con PIC
« en: 22 de Diciembre de 2012, 17:40:23 »
HM2007
Esta $45 aqui: http://www.imagesco.com/speech/speech-recognition-technology.html
mas info: http://www.todopic.com.ar/foros/index.php?topic=10758.0

RSC-4X de Sensory (RSC-4128 y RSC-464)
http://www.sensoryinc.com/products/RSC-4x_series.html
Por aqui dicen que esta 14€: http://blog.bricogeek.com/noticias/electronica/rsc4128-microcontrolador-con-reconocimiento-de-voz/
y por aqui ya lo tienen en una pcb: http://www.veear.eu/products/

...entre otros.

Y por software, con Nuance Dragon NaturallySpeaking, el de windows vista o 7, entre otros.

Bueno, las primeras alternativas, aunque muy tentadoras, no me son posible obtenerlas porque no hacen envió a Perù y porque considero muy caras, ademas de excesivo hardware para algo mas básico.

Bueno, luego encontre un pdf (en ingles) que hacen reconocimieno de voz simple (lo que quiero) con un controlador de 8bit de Motorola (68HC-705J1A) sin adc y me llamo la atencion. Esta adjuntado el pdf.

Estoy intentando hacer y ya hice la parte de amplificacion y todo pero no entiendo bien como debo interpretar lo que llega al puerto. Estoy usando ahorita un 18f2550 pero tranquilamente se puede hacer con uno mucho mas simple.

Aquí esta el diagrama, ojala puedan entenderlo mejor que yo.



Otro que no me deja avanzar es que el programa del uC esta en asm  :P  Bueno, igual lo dejo adjuntado.


Espero que con esto pueda llegar a buen puerto, que opinan?


Saludos.
« Última modificación: 22 de Diciembre de 2012, 18:11:27 por jeremylf »

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Reconocimiento de voz con PIC
« Respuesta #1 en: 22 de Diciembre de 2012, 18:22:24 »
Haber por lo que voy entendiendo leyendo y leyendo el pdf con mi poco conocimiento en ingles y viendo en osciloscopio y por mis conocimientos es...

Primero, se conecta un microfono electret de dos pines a la entrada. Luego, este es alimentando a travez de una R de 2.2k a 5V.

Despues, el condensador de 0.01uf (103) se usa para no dejar pasar dc y solo la señal de voz. Luego están R6 y R3 que son usadas para amplificar la señal con el opamp lm358 en modo inversor (con una ganancia G = 330k/10k = 33). C1 no entiendo bien para que sirve  :mrgreen:  Esta señal amplificada esta puesto con un "offset" de 2.5V gracias a R9 y R12 que hacen un divisor resistivo y C4 de 1uf para eliminar ruidos asegurando los 2.5V.

Vamos bien?  :lol: :lol:
« Última modificación: 22 de Diciembre de 2012, 18:24:33 por jeremylf »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Reconocimiento de voz con PIC
« Respuesta #2 en: 22 de Diciembre de 2012, 19:08:52 »
Si no lo entiendo mal, C1 sirve para hacer un filtro que dejará pasar sólo las frecuencias de la voz.
El segundo operacional monta la señal amplificada sobre un nivel de continua (offset) para que esté situada en el rango de 0V a 5V y así poder ingresar al pin del micro.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Reconocimiento de voz con PIC
« Respuesta #3 en: 23 de Diciembre de 2012, 21:08:00 »
Gracias Nocturno por la intervención. El segundo operacional esta funcionando como comparador? Lo que pasa que no entiendo bien en función a que tengo señales de 1 y 0...

Desconectado Darkman_A

  • PIC18
  • ****
  • Mensajes: 288
Re: Reconocimiento de voz con PIC
« Respuesta #4 en: 23 de Diciembre de 2012, 22:33:01 »
Hola a todos.
Estuve leyendo y por lo que entiendo dice que con los filtros "genera" (una especie de) analizador de frecuencia de 2 canales. Uno de los canales analiza las frecuencia por debajo de 1500 Hz y el otro las que se encuentran en el rango de 1500 Hz to 5kHz. A estos rangos de bajas y altas frecuencias las llama F1 y F2 y parece que son bien conocidas en el "ambiente" (aca hay algo http://sail.usc.edu/~lgoldste/General_Phonetics/Source_Filter/SFc.html). Tambien dice que estas frecuencias, para un determinado locutor (por ejemplo, yo) se mantienen (o aparecen) en todas las vocales .Si digo "a", "i", "o", etc....,en mi caso siempre son las mismas F1 y F2 y aparecen en todas. Otra persona tendra diferentes F1 y F2 que las mias, pero apareceran en todas las vocales que pronuncie.
Por lo que se ve en la figura 1 pareceria que sube los picos de alta frecuencia (F2)por sobre el valor de cero.
Creo que la señal cuadrada representa "cuanto hay" (no quiero poner espectro porque estaria diciendo cualquier cosa, creo) de las frecuencias F1 y F2.
Hasta ahora es lo que entendi. Tengo algunas ideas mas pero no las tengo claras aun como para explicar algo. Si alguien tiene otra opinion con respecto del articulo o cree que me equivoque en algo, es bien venido a corregirme o explicar lo que ha interpretado.
Lo sigo "masticando" y si entiendo algo mas lo comento.
Saludos.
« Última modificación: 23 de Diciembre de 2012, 22:35:03 por Darkman_A »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Reconocimiento de voz con PIC
« Respuesta #5 en: 24 de Diciembre de 2012, 03:11:03 »
Gracias Nocturno por la intervención. El segundo operacional esta funcionando como comparador? Lo que pasa que no entiendo bien en función a que tengo señales de 1 y 0...
Como comparador no, porque tiene feedback a través de R11. Está configurado como amplificador.

Desconectado claydergc

  • PIC10
  • *
  • Mensajes: 7
Re: Reconocimiento de voz con PIC
« Respuesta #6 en: 30 de Octubre de 2013, 01:59:53 »
Podrías programar el reconocimiento de un numero limitado de comandos de voz en un dsPIC. Yo hice algo parecido con un dsPIC30F4013, con el cual logré reconocer hasta 7 comandos de voz, aparte creo que si usas el dsPIC33 o el PIC24 correcto podrías ampliar el número de comandos de voz.

Saludos.