Primeros pasos con PySoundFile

PySoundFile es un módulo de Python utilizado para leer y escribir archivos de audio, ver un archivo de audio como una array NumPy que incluye tonos y todo. Este módulo puede leer el archivo de audio, es decir, extrae la array NumPy del audio (archivos .wav) y también puede escribirlo

Instalación : ejecute el siguiente comando pip:

pip install PySoundFile 

PySoundFile admite todos los formatos compatibles con libsndfile, por ejemplo, archivos WAV, FLAC, OGG y MAT

Aquí está el enlace del archivo de audio utilizado en el enlace de ejemplos.

Lectura de archivo de audio:

Los archivos de audio se pueden leer usando la función read() .

Sintaxis: lectura (archivo, fotogramas = -1, inicio = 0, parada = ninguno, valor de relleno = ninguno, frecuencia de muestreo = ninguno, canales = ninguno, subtipo = ninguno)

Parámetros: 

  • archivo: ruta del archivo de audio
  • fotogramas : este argumento se utiliza para especificar el número de fotogramas que se van a leer; de forma predeterminada, tiene un valor de -1 que indica el archivo completo que se va a leer.
  • iniciar, detener : para especificar el inicio y el final para leer el archivo de audio, por defecto se lee todo el archivo
  • fill_value : si quedan menos datos en el archivo de los solicitados, el resto de los marcos se rellenan con fill_value. Si no se especifica fill_value, se devuelve la array más pequeña

Devoluciones: 2 valores

  • datos: array numpy (la longitud debe ser de 44,100 elementos) Si se devuelve una array numpy 1-D, la lectura de audio es monocanal
  • frecuencia de muestreo : la frecuencia de muestreo (o «frecuencia de muestreo») define cuántas veces por segundo se muestrea un sonido. Técnicamente, es la frecuencia de las muestras utilizadas en una grabación digital. La frecuencia de muestreo estándar utilizada para los CD de audio es de 44,1 kilohercios para este archivo, también es la misma

Formatos de archivo compatibles: WAV, AIFF, AU, PAF, SVX, NIST, VOC, IRCAM, W64, MAT4, MAT5, PVF, XI, HTK, SDS, AVR, WAVEX, SD2, FLAC, CAF, WVE, OGG, MPC2K, RF64     

Ejemplo: Estaremos leyendo el siguiente archivo: 

Python3

# import the module
import soundfile as sf
 
# read the file
data, samplerate = sf.read('noise.wav')
 
# display the data
print(data)
print("---------------------")
print("Sample Rate is ", samplerate)
print("---------------------")
print("Done")

Producción:

Escribiendo un archivo: Podemos escribir un archivo usando la función write() .

Sintaxis: write(file, data, samplerate, subtype=Ninguno, endian=Ninguno, format=Ninguno, closefd=True)

Parámetros: 

  • archivo: ruta del archivo de salida
  • datos:

Devoluciones: Nada

Para escribir un archivo de audio, necesitamos una array NumPy (es decir, datos) ya que la frecuencia de muestreo tiene un valor estándar, abre el archivo en modo wb, es decir, si existe el mismo nombre, el programa lo reescribirá  

Ejemplo: Estaremos leyendo el siguiente archivo:

Python3

# importing the module
import soundfile as sf
 
# reading the file
data, samplerate = sf.read('Sample.wav')
 
# writing the file
sf.write('writing_file_output.wav', data, samplerate)
 
# You may compare both audio, link is given in the output

Salida: Este es el archivo de salida:

Publicación traducida automáticamente

Artículo escrito por akshaypawar4 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 *