<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comentarios en: Reconocimiento de voz en SAMSA</title>
	<atom:link href="http://www.pablogindel.com/2010/03/reconocimiento-de-voz-novedades-de-samsa-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pablogindel.com/2010/03/reconocimiento-de-voz-novedades-de-samsa-2/</link>
	<description>robots, música, cosas raras con electricidad</description>
	<lastBuildDate>Fri, 03 Sep 2010 23:22:37 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Por: josealfredo</title>
		<link>http://www.pablogindel.com/2010/03/reconocimiento-de-voz-novedades-de-samsa-2/comment-page-1/#comment-380</link>
		<dc:creator>josealfredo</dc:creator>
		<pubDate>Sun, 14 Mar 2010 16:04:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.pablogindel.com/?p=548#comment-380</guid>
		<description>es algo muy interesante para el desarrollo de proyectos</description>
		<content:encoded><![CDATA[<p>es algo muy interesante para el desarrollo de proyectos</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: pabloxid</title>
		<link>http://www.pablogindel.com/2010/03/reconocimiento-de-voz-novedades-de-samsa-2/comment-page-1/#comment-368</link>
		<dc:creator>pabloxid</dc:creator>
		<pubDate>Wed, 10 Mar 2010 18:46:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.pablogindel.com/?p=548#comment-368</guid>
		<description>Hola Matías, muchas gracias.

El problema de la Arduino es que creo que tiene 2K de SRAM, contra los 4K de la Wiring. La red neuronal te come mucha memoria, no el audio digitalizado porque, como viste en el artículo, yo lo voy procesando a medida que llega, jamás almaceno audio digital propiamente dicho.

Existen muchos papers sobre reconocimiento de voz, pero todas las implementaciones prácticas que existen son demasiado pesadas como para correr en un micro de 8 bits. Tengo muchos papers bajados, pero no recuerdo de dónde fue que los obtuve, dejame ordenarlos un poco y te contesto con más detalle.

En mi sistema, el micrófono está conectado a un operacional (LM324) y nada más, ningún filtro por hardware, los filtros son por software (son 4 filtros de frecuencias fijas, y al igual que en el TinyVoice, los agudos están enfatizados). 

En el artículo está prácticamente todo el código que usé, excepto la red neuronal. Lo que sí puedes bajarte es el programa de entrenamiento, en la sección descargas, el PNN, un programa que yo mismo hice y que dio buen resultado para esto. La implementación de red neuronal en el micro es trivial, se reduce a una fórmula para calcular las salidas en función de las entradas y los pesos, básicamente es cada entrada multiplicada por cada peso y todo sumado pasado por la función sigmoide, eso en cada nodo. Para generar los ejemplos, lo único que hago es mandar los 8 datos por serial y los capturo con el Putty y así como salen los cargo en el PNN. 

Lo importante es que no puedes ingresar el audio digital directamente a la red neuronal, antes tienes que extraer la &quot;firma&quot;, de eso se trata todo el artículo.

1seg de audio muestreado a 8KHz son 16KB, o sea, imposible almacenarlo en la memoria del micro, por eso te repito lo de arriba, hay que hacer un procesamiento real-time, no almacenar y luego procesar.

Gracias por tu comentario, seguimos en contacto, veré de ampliar con más información ni bien tenga tiempo.

Saludos,
P.G.</description>
		<content:encoded><![CDATA[<p>Hola Matías, muchas gracias.</p>
<p>El problema de la Arduino es que creo que tiene 2K de SRAM, contra los 4K de la Wiring. La red neuronal te come mucha memoria, no el audio digitalizado porque, como viste en el artículo, yo lo voy procesando a medida que llega, jamás almaceno audio digital propiamente dicho.</p>
<p>Existen muchos papers sobre reconocimiento de voz, pero todas las implementaciones prácticas que existen son demasiado pesadas como para correr en un micro de 8 bits. Tengo muchos papers bajados, pero no recuerdo de dónde fue que los obtuve, dejame ordenarlos un poco y te contesto con más detalle.</p>
<p>En mi sistema, el micrófono está conectado a un operacional (LM324) y nada más, ningún filtro por hardware, los filtros son por software (son 4 filtros de frecuencias fijas, y al igual que en el TinyVoice, los agudos están enfatizados). </p>
<p>En el artículo está prácticamente todo el código que usé, excepto la red neuronal. Lo que sí puedes bajarte es el programa de entrenamiento, en la sección descargas, el PNN, un programa que yo mismo hice y que dio buen resultado para esto. La implementación de red neuronal en el micro es trivial, se reduce a una fórmula para calcular las salidas en función de las entradas y los pesos, básicamente es cada entrada multiplicada por cada peso y todo sumado pasado por la función sigmoide, eso en cada nodo. Para generar los ejemplos, lo único que hago es mandar los 8 datos por serial y los capturo con el Putty y así como salen los cargo en el PNN. </p>
<p>Lo importante es que no puedes ingresar el audio digital directamente a la red neuronal, antes tienes que extraer la &#8220;firma&#8221;, de eso se trata todo el artículo.</p>
<p>1seg de audio muestreado a 8KHz son 16KB, o sea, imposible almacenarlo en la memoria del micro, por eso te repito lo de arriba, hay que hacer un procesamiento real-time, no almacenar y luego procesar.</p>
<p>Gracias por tu comentario, seguimos en contacto, veré de ampliar con más información ni bien tenga tiempo.</p>
<p>Saludos,<br />
P.G.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Matias</title>
		<link>http://www.pablogindel.com/2010/03/reconocimiento-de-voz-novedades-de-samsa-2/comment-page-1/#comment-366</link>
		<dc:creator>Matias</dc:creator>
		<pubDate>Tue, 09 Mar 2010 22:11:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.pablogindel.com/?p=548#comment-366</guid>
		<description>Que tal Pablo... Estuve leyendo tu articulo y me parecio muy interesante, felicitaciones.

Te molestaba porque estoy desarrollando un sistema domotico controlado, por ahora, con un Arduino Duemilanove y me parece una buena idea incorporar reconocimiento de ciertos comandos por voz que no dependa de la PC. Por ejemplo, &quot;encender cocina&quot;, &quot;apagar living&quot;.

Queria consultarte si tenes a mano alguna pagina o paper que me pueda servir para profundizar el desarrollo tanto del hardware (supongo que la señal de entrada viene de preamplificar un microfono, pero antes de ingresarla la filtras por hardware?) como software (redes neuronales programadas en C aplicadas a la comparacion de señales analogicas digitalizadas).

Para tener una idea si da abasto la memoria del micro, cuanto pesa un comando de voz de 1seg a un muestreo de 8KHz?

Saludos!</description>
		<content:encoded><![CDATA[<p>Que tal Pablo&#8230; Estuve leyendo tu articulo y me parecio muy interesante, felicitaciones.</p>
<p>Te molestaba porque estoy desarrollando un sistema domotico controlado, por ahora, con un Arduino Duemilanove y me parece una buena idea incorporar reconocimiento de ciertos comandos por voz que no dependa de la PC. Por ejemplo, &#8220;encender cocina&#8221;, &#8220;apagar living&#8221;.</p>
<p>Queria consultarte si tenes a mano alguna pagina o paper que me pueda servir para profundizar el desarrollo tanto del hardware (supongo que la señal de entrada viene de preamplificar un microfono, pero antes de ingresarla la filtras por hardware?) como software (redes neuronales programadas en C aplicadas a la comparacion de señales analogicas digitalizadas).</p>
<p>Para tener una idea si da abasto la memoria del micro, cuanto pesa un comando de voz de 1seg a un muestreo de 8KHz?</p>
<p>Saludos!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
