{"id":149,"date":"2022-08-06T20:17:00","date_gmt":"2022-08-06T20:17:00","guid":{"rendered":"http:\/\/localhost\/ferplace\/?p=149"},"modified":"2022-08-17T05:05:43","modified_gmt":"2022-08-17T05:05:43","slug":"comenzando-con-integracion-de-ia-en-python","status":"publish","type":"post","link":"https:\/\/fersite.net\/index.php\/2022\/08\/06\/comenzando-con-integracion-de-ia-en-python\/","title":{"rendered":"Comenzando con integraci\u00f3n de IA en Python"},"content":{"rendered":"\n<p>Primera publicaci\u00f3n en el blog de este mortal, que lleva el nombre de Fernando, o bueno, as\u00ed es como me conocen en este mundo terrenal, as\u00ed que, pues de mi parte te doy la m\u00e1s cordial bienvenida a este blog, un blog m\u00e1s en este enorme mundo de la Internet. Realmente no se si este vaya a ser un lugar muy visitado o no, si esta publicaci\u00f3n sea la adecuada para iniciar con el blog que hoy en d\u00eda inicio, pero bueno, supongo que por alguna parte se ha de empezar.<\/p>\n\n\n\n<p>Yendo al asunto de esta publicaci\u00f3n, es incre\u00edble los pasos agigantados a los que ha avanzado la tecnolog\u00eda en las ultimas d\u00e9cadas. Lo que podemos hacer hoy de manera muy sencilla tal vez es algo que hace unas d\u00e9cadas no nos imagin\u00e1bamos que podr\u00edamos llegar a hacer en el corto plazo. Es as\u00ed que con unas cuantas l\u00edneas de c\u00f3digo hoy podemos llegar a implementar cuestiones de IA en nuestros dispositivos personales.<\/p>\n\n\n\n<p>Es as\u00ed como, curioseando por Internet, se pueden encontrar infinidad de tutoriales sobre como implementar IA en el c\u00f3digo que desarrollamos, en este caso con el lenguaje de programaci\u00f3n Python, pues vamos a ver lo f\u00e1cil y simple que es implementar IA, y sacarle jugo, en uno de nuestros proyectos, y todo esto en alrededor de 30 lineas de c\u00f3digo.<\/p>\n\n\n\n<p>Primero que nada deberemos instalar las siguientes librer\u00edas, en nuestro caso ser\u00e1 speech-recognition, pyaudio y googletrans. Lo anterior podemos hacerlo a trav\u00e9s de pip:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash line-numbers\">$ pip install pyaudio\n$ pip install speechrecognition\n$ pip install googletrans<\/code><\/pre>\n\n\n\n<p>Comenzaremos importando las librer\u00edas speech_recognition y translator junto con constants de googletrans.<\/p>\n\n\n\n<pre class=\"wp-block-code has-text-color\" style=\"color:#00dd21\"><code lang=\"python\" class=\"language-python line-numbers\">#Importamos las librerias necesarias\nimport speech_recognition as sr\nfrom googletrans import Translator, constants<\/code><\/pre>\n\n\n\n<p>Luego iniciamos el reconocedor de voz, el cual dejaremos el que es por defecto de la librer\u00eda, y el traductor que utilizaremos para traducir lo que digamos por el micr\u00f3fono, en este caso, de la computadora.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\">#Iniciamos el reconocedor de voz y el traductor\nr = sr.Recognizer()\ntranslator = Translator()<\/code><\/pre>\n\n\n\n<p>Despu\u00e9s iniciamos la grabaci\u00f3n de audio con el micr\u00f3fono, en nuestro caso dejamos el micr\u00f3fono que se tiene por defecto activado en la computadora.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\">#Grabamos audio\nwith sr.Microphone() as source:\n    print('D\u00ed algo: ')\n    audio = r.listen(source)<\/code><\/pre>\n\n\n\n<p>Ahora vamos a tratar de reconocer lo que se dice en el audio que hemos obtenido de nuestro micr\u00f3fono, para que as\u00ed, sea pasado a texto por la librer\u00eda speech_recognition, cabe mencionar que aqu\u00ed estamos intentando reconocer lo que se esta diciendo en idioma espa\u00f1ol, pero se puede tratar de reconocer en otros idiomas.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\">#Tratamos de reconocer lo dicho en el audio y lo pasamos a una nueva variable    \ntry:\n    text = r.recognize_google(audio, language='es-MX')\n    print('Has dicho: {}'.format(text))\n    textf = format(text)\n\n#Si no se logra escuchar lo que se ha dicho mandamos mensaje de error\nexcept:\n    print('Lo siento, no te he podido escuchar.')<\/code><\/pre>\n\n\n\n<p>Por ultimo, intentamos traducir al ingles lo que se ha dicho en a trav\u00e9s del micr\u00f3fono, esto a trav\u00e9s del texto reconocido por la librer\u00eda speech_recognition.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\">#Tratamos de traducir lo dicho en la grabaci\u00f3n\ntry:    \n    translation = translator.translate(textf, dest=\"en\", src=\"es\")\n    print('La traducci\u00f3n al ingles es: ' + translation.text)\n\n#Si no se logra traducir mandamos mensaje de error\nexcept:\n    print('No se ha podido traducir.')<\/code><\/pre>\n\n\n\n<p>Y bueno, as\u00ed de simple podemos traducir lo que digamos a trav\u00e9s de nuestro microfono, todo esto a trav\u00e9s de la termianl. La verdad que son solo unas cuantas lineas de codigo y es muy sencillo de programar y de entender algo as\u00ed. Como puntos de mejora que podemos tratar de hacer nuestro script con soporte multiidiomas y, ya un poco m\u00e1s avanzado, crear una GUI para nuestro script, cosas que creo estar\u00e9 haciendo en un futuro. Gracias por haber le\u00eddo hasta el final la entrada y les envi\u00f3 un saludo a todos.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/fersite.net\/wp-content\/uploads\/2022\/08\/vid.mp4\"><\/video><\/figure>\n\n\n\n<p>Enlace al script completo en mi Github: <\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/Goshujinsama88\/simple-test-speechrecognition\/blob\/main\/Prueba.py\" target=\"_blank\">https:\/\/github.com\/Goshujinsama88\/simple-test-speechrecognition\/blob\/main\/Prueba.py<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Primera publicaci\u00f3n en el blog de este mortal, que lleva el nombre de Fernando, o bueno, as\u00ed es como me conocen en este mundo terrenal, as\u00ed que, pues de mi parte te doy la m\u00e1s cordial bienvenida a este blog, un blog m\u00e1s en este enorme mundo de la Internet. Realmente no se si este [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":237,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/fersite.net\/index.php\/wp-json\/wp\/v2\/posts\/149"}],"collection":[{"href":"https:\/\/fersite.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fersite.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fersite.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fersite.net\/index.php\/wp-json\/wp\/v2\/comments?post=149"}],"version-history":[{"count":50,"href":"https:\/\/fersite.net\/index.php\/wp-json\/wp\/v2\/posts\/149\/revisions"}],"predecessor-version":[{"id":239,"href":"https:\/\/fersite.net\/index.php\/wp-json\/wp\/v2\/posts\/149\/revisions\/239"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fersite.net\/index.php\/wp-json\/wp\/v2\/media\/237"}],"wp:attachment":[{"href":"https:\/\/fersite.net\/index.php\/wp-json\/wp\/v2\/media?parent=149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fersite.net\/index.php\/wp-json\/wp\/v2\/categories?post=149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fersite.net\/index.php\/wp-json\/wp\/v2\/tags?post=149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}