Cree una GUI de grabadora de voz usando Python

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

Deja una respuesta

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