reconomiento de voz con python

Posted by Carlos Ganoza on 23 Mar, 2014

Bueno , después de tanto tiempo sin escribir decidí migrar mi blog a este subdominio y cambiar blogger por hexo en github ( prometo hablar de hexo en otro post, si no aguantas la curiosidad, googlealo).

Ahora a lo que toca; Hay algunas herramientas en python para reconocimiento de voz, como una implementación de CMU Sphinx que funciona muy bien para el inglés, u otras que utilizan el api de Dragon Naturally Speaking que por lo tanto solo funciona en Windows.
Hace algún tiempo programé una pequeña librería en python que usa la api de google para poder reconocer voz, su nombre es Pygsr y su uso es muy sencillo:
solo la instalamos:
pip install pygsr
instalamos sus dependencias

  • sox - apt-get install sox
  • pyaudio - apt-get install python-pyaudio

aqui un ejemplo de como usarlo:

example.py
1
2
3
4
5
6

from pygsr import Pygsr
speech = Pygsr()
speech.record(3) # duration in seconds (3)
phrase, complete_response = speech.speech_to_text('es_ES') # select the language
print phrase

como verás su uso es muy fácil solo tienes que setear el tiempo que estará a la escucha, seleccionar el idioma y luego de procesar la voz te devolverá la cadena con el texto.

  • PD: pygsr funciona muy bien en linux, pero no en mac, por que?, yo no sé, no e tenido la oportunidad de probarlo en una pero mucha gente me a reportado que hay un error con pyAudio, librería que uso para que funcione pygsr; prometo revisarlo pronto.
  • PD2: al pygsr utilizar el api de google solo funcionará con conexión a internet, esta podría ser una limitante.
    Link: https://bitbucket.org/drneox/pygsr

UPDATE

Al parecer Google ya no permite el uso gratis de su api, si deseas usarla debes pagar.
por tal motivo ya no mantendré esta libreria.
Si deseas integrar el reconocimiento de voz a tu proyecto recomiendo darle un vistazo al proyecto wit.ai
https://wit.ai


Carlos Ganoza

Software engineer with more than 6 years of experience, I have been involved in different aspects of software development, InfoSec and open-source. I <3 Python.