SpeechRecognition: Reconocimiento de voz en Python

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción

Los asistentes de voz modernos, los sistemas de transcripción y el control por voz funcionan gracias a las tecnologías de reconocimiento de voz. Python ofrece una forma sencilla de integrar estas tecnologías a través de la biblioteca SpeechRecognition — una herramienta flexible y potente para convertir señales de audio en texto.

La biblioteca admite tanto el trabajo con archivos de audio como la captura de sonido desde el micrófono, y se conecta con varios motores de reconocimiento, desde soluciones locales hasta APIs en la nube, incluyendo Google, IBM, Sphinx y otros. SpeechRecognition se ha convertido en el estándar para tareas de reconocimiento de voz en Python gracias a su facilidad de uso y versatilidad.

¿Qué es la biblioteca SpeechRecognition?

SpeechRecognition es una popular biblioteca de Python de código abierto, diseñada para simplificar la integración de tecnologías de reconocimiento de voz en aplicaciones. Creada por Anthony Zhang, proporciona una interfaz unificada para trabajar con múltiples motores de reconocimiento, lo que la convierte en una opción ideal para desarrolladores de todos los niveles.

Características clave de la biblioteca

SpeechRecognition se destaca por las siguientes capacidades:

  • Multiplataforma: funciona en Windows, macOS y Linux
  • Soporte para múltiples APIs: integración con más de 7 servicios de reconocimiento diferentes
  • Facilidad de uso: código mínimo para tareas básicas
  • Flexibilidad de configuración: amplias opciones de personalización para necesidades específicas
  • Comunidad activa: actualizaciones y soporte regulares

Arquitectura de la biblioteca

SpeechRecognition está construida bajo un principio modular, donde los componentes principales incluyen:

  • Recognizer — clase central para gestionar el reconocimiento
  • AudioSource — abstracción para fuentes de audio (archivos, micrófono)
  • AudioData — contenedor para datos de audio
  • Engines — adaptadores para varios servicios de reconocimiento

Instalación y configuración de dependencias

Instalación básica

pip install SpeechRecognition

Dependencias adicionales

Para trabajar correctamente con diferentes fuentes de audio, necesitarás paquetes adicionales:

Para usar el micrófono:

pip install pyaudio

Para soporte de formatos de audio adicionales:

pip install pydub

Para trabajar con Google Cloud Speech API:

pip install google-cloud-speech

Particularidades de instalación en diferentes plataformas

Windows

En Windows, la instalación de pyaudio puede dar problemas. Se recomienda usar archivos wheel precompilados:

pip install pipwin
pipwin install pyaudio

macOS

brew install portaudio
pip install pyaudio

Linux (Ubuntu/Debian)

sudo apt-get install python3-pyaudio

Importación y componentes principales

import speech_recognition as sr

Clases principales y su propósito

  • Recognizer() — clase principal para trabajar con el reconocimiento de voz
  • AudioFile() — clase para trabajar con archivos de audio
  • Microphone() — clase para trabajar con el micrófono

Trabajo con archivos de audio

Formatos compatibles

SpeechRecognition admite los siguientes formatos de audio:

  • WAV —

Recommendations