Crear una grabadora de voz usando Python

Python se puede utilizar para realizar una variedad de tareas. Uno de ellos es crear una grabadora de voz. Podemos usar el módulo sounddevice de python para grabar y reproducir audio. Este módulo, junto con el módulo wavio o scipy , proporciona la forma de guardar el audio grabado.

Instalación

  • dispositivo de sonido: este módulo proporciona funciones para reproducir y grabar arrays NumPy que contienen señales de audio. Vamos a instalarlo ejecutando el siguiente comando:
$ pip3 install sounddevice
  • Podemos usar wavio y scipy para guardar el audio grabado en formato de archivo . Los veremos a ambos aquí.
  • Para instalar wavio:
$ pip3 install wavio
  • Para instalar scipy :
$ pip3 install scipy

Ahora, hemos terminado con la instalación de los módulos necesarios. Entonces, escribamos el código.

Empezando

Primero, importe las bibliotecas requeridas.

# import required libraries
import sounddevice as sd
from scipy.io.wavfile import write
import wavio as wv

Ahora, antes de iniciar la grabadora, tenemos que declarar algunas variables. El primero es la frecuencia de muestreo del audio (en la mayoría de los casos será de 44100 o 48000 fotogramas por segundo) y el segundo es la duración de la grabación. Tenemos que especificar la duración en segundos para que deje de grabar después de esa duración.

Entonces, vamos a declararlos también.

# Sampling frequency
freq = 44100

# Recording duration
duration = 5

Ahora, estamos listos para iniciar la grabadora. Creará una array NumPy del audio grabado.

# Start recorder with the given values of 
# duration and sample frequency
recording = sd.rec(int(duration * freq), 
                   samplerate=freq, channels=2)

# Record audio for the given number of seconds
sd.wait()

Ahora, hemos terminado con la grabación del audio. Entonces, guardémoslo. Para guardar el archivo de audio, podemos usar el módulo scipy o el módulo wavio . Vamos a repasarlos uno por uno.

Usando Scipy:

Usaremos la función de escritura de scipy.io.wavfile para convertir la array NumPy en un archivo de audio.

# This will convert the NumPy array to an audio
# file with the given sampling frequency
write("recording0.wav", freq, recording)

Usando wavio:

También podemos usar la función de escritura de la biblioteca wavio .

# Convert the NumPy array to audio file
wv.write("recording1.wav", recording, freq, sampwidth=2)

Código completo:

Python3

# import required libraries
import sounddevice as sd
from scipy.io.wavfile import write
import wavio as wv
  
# Sampling frequency
freq = 44100
  
# Recording duration
duration = 5
  
# Start recorder with the given values 
# of duration and sample frequency
recording = sd.rec(int(duration * freq), 
                   samplerate=freq, channels=2)
  
# Record audio for the given number of seconds
sd.wait()
  
# This will convert the NumPy array to an audio
# file with the given sampling frequency
write("recording0.wav", freq, recording)
  
# Convert the NumPy array to audio file
wv.write("recording1.wav", recording, freq, sampwidth=2)

Publicación traducida automáticamente

Artículo escrito por devansh07 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *