Requisitos previos: interfaz gráfica de usuario de Python: tkinter , crear una grabadora de voz con Python
Python proporciona varias herramientas y puede usarse para varios propósitos. Uno de esos propósitos es la grabación de voz. Se puede hacer usando el módulo de dispositivo de sonido . Este archivo grabado se puede guardar usando el módulo de archivo de sonido
Módulo necesario
- Dispositivo de sonido : el módulo de dispositivo de sonido proporciona enlaces para la biblioteca PortAudio y algunas funciones convenientes para reproducir y grabar arreglos NumPy que contienen señales de audio. Para instalar este tipo, escriba el siguiente comando en la terminal.
pip install sounddevice
- SoundFile: SoundFile puede leer y escribir archivos de sonido. Para instalar este tipo, escriba el siguiente comando en la terminal.
pip install SoundFile
Acercarse:
- Importe el módulo requerido.
- Establecer frecuencia y duración.
- Grabe datos de voz en la array NumPy, puede usar rec().
- Guárdelo en el archivo usando soundfile.write().
Implementación:
Paso 1: importar módulos
import sounddevice as sd import soundfile as sf
Paso 2: establezca la frecuencia y la duración y grabe los datos de voz en la array NumPy, puede usar rec()
fs = 48000 duration = 5 myrecording = sd.rec(int(duration * fs), samplerate=fs, channels=2)
Nota: fs es la frecuencia de muestreo de la grabación (generalmente 44100 o 44800 Hz)
Paso 3: ahora almacene esta array en archivos de audio.
# Save as FLAC file at correct sampling rate sf.write('My_Audio_file.flac', myrecording, fs)
Vamos a crear una aplicación GUI para lo mismo. Usaremos Tkinter para hacer lo mismo.
Python3
import sounddevice as sd import soundfile as sf from tkinter import * def Voice_rec(): fs = 48000 # seconds duration = 5 myrecording = sd.rec(int(duration * fs), samplerate=fs, channels=2) sd.wait() # Save as FLAC file at correct sampling rate return sf.write('my_Audio_file.flac', myrecording, fs) master = Tk() Label(master, text=" Voice Recoder : " ).grid(row=0, sticky=W, rowspan=5) b = Button(master, text="Start", command=Voice_rec) b.grid(row=0, column=2, columnspan=2, rowspan=2, padx=5, pady=5) mainloop()
Producción:
Publicación traducida automáticamente
Artículo escrito por kumar_satyam y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA