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