English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La identificación de voz es una de las funciones más útiles en varias aplicaciones como la automatización del hogar y la inteligencia artificial. En esta sección, aprenderemos cómo realizar la identificación de voz usando Python y el API de Speech de Google.
En este caso, usaremos el micrófono para proporcionar audio para la identificación de voz. Para configurar el micrófono, hay algunos parámetros.
Para usar este módulo, debemos instalar el módulo SpeechRecognition. También hay otro módulo llamado pyaudio, que es opcional. Con esta función, podemos configurar diferentes modos de audio.
sudo pip3 instalar SpeechRecognition sudo apt-instalar python3-pyaudio
Para micrófonos externos o micrófonos USB, necesitamos proporcionar un micrófono preciso para evitar dificultades. En Linux, si escribes 'lsusb' para mostrar información sobre los dispositivos USB.
El segundo parámetro es 'tamaño de bloque'. Con esta opción, podemos especificar cuántos datos se leerán en una vez. Esto será2potencia, por ejemplo1024o2048etc.
También debemos especificar la tasa de muestreo para determinar la frecuencia con la que se procesan los datos grabados.
Dado que puede haber algunos ruidos inevitables en los alrededores, debemos ajustar el ruido ambiental para obtener un sonido preciso.
Obtener otra información relacionada con el micrófono.
Usar el tamaño de bloque, la tasa de muestreo, la ajuste de ruido ambiental y otras configuraciones del micrófono.
Esperar un tiempo para obtener el sonido
Después de identificar el habla, intenta convertirla en texto, de lo contrario puede causar algunos errores.
Detener este proceso.
import speech_recognition as spreg #Configurar la tasa de muestreo y el tamaño de los datos sample_rate = 48000 data_size = 8192 recog = spreg.Recognizer() with spreg.Microphone(sample_rate = sample_rate, chunk_size = data_size) as source: recog.adjust_for_ambient_noise(source) print('Diga algo: ') speech = recog.listen(source) try: text = recog.recognize_google(speech) print('Has dicho: ') + text) except spreg.UnknownValueError: print('No se puede reconocer el audio') except spreg.RequestError as e: print("Error de solicitud de servicio de Reconocimiento de Voz de Google; {}".format(e))
Resultado de salida
$ python3 318.speech_recognition.py Dí algo: Has dicho: aquí estamos considerando la notación asintótica Pico para calcular el límite superior de la complejidad temporal, por lo tanto, la definición de la notación big O es como esta $
Sin usar micrófono, también podemos tomar algunos archivos de audio como entrada y convertirlos en voz.
import speech_recognition as spreg sound_file = 'sample_audio.wav' recog = spreg.Recognizer() with spreg.AudioFile(sound_file) as source: speech = recog.record(source) # use record instead of listening try: text = recog.recognize_google(speech) print('El archivo contiene: ') + text) except spreg.UnknownValueError: print('No se puede reconocer el audio') except spreg.RequestError as e: print("Error de solicitud de servicio de Reconocimiento de Voz de Google; {}".format(e))
Resultado de salida
$ python3 318a.speech_recognition_file.py El archivo contiene: planificación de demanda de nueva tecnología para mantenerse a la vanguardia, también te ayuda a avanzar en tu carrera $