Skip to content

Análisis de datos de audio con Python – Editor de audio básico

Este artículo explica sobre el análisis de datos de audio con python. La actividad a continuación da una idea clara sobre la lectura de archivos de audio, su trazado y edición, agregando convoluciones.
Aprenderemos todo esto creando un editor de audio básico que ayude a introducir ecos y modulaciones en un archivo de audio y guardarlos en su sistema.

¿Qué es el audio?

El audio siempre ha sido una señal unidimensional utilizada para describir cualquier ruido o sonido que esté dentro del alcance de los oídos humanos para escuchar.

La unidad básica de medición de audio es hertz.
Pocos formatos de audio famosos incluyen MP3, WAV, MPEG, etc.

¿Por qué necesitamos análisis de audio?

Con un gran revuelo en el procesamiento del lenguaje natural y el análisis de audio, este campo incluye el procesamiento de señal digital, el reconocimiento automático de voz, la generación y clasificación de música, el análisis de audio está ganando gran atención.

El análisis de datos de audio se trata de analizar y comprender señales de audio o datos de voz / ruido / música.


Pocas aplicaciones de análisis de audio en palabras reales incluyen alexa, echo, etc.

A análise de dados de áudio tem como objetivo analisar e entender sinais de áudio ou dados de voz / ruído / música.

Poucas aplicações de palavras reais da análise de áudio incluem alexa, eco etc.

¿Cómo podemos hacer análisis de audio?

Con un gran revuelo en el procesamiento del lenguaje natural y el análisis de audio, este campo incluye el procesamiento de señal digital, el reconocimiento automático de voz, la generación y clasificación de música, el análisis de audio está ganando gran atención.

El análisis de datos de audio se trata de analizar y comprender señales de audio o datos de voz / ruido / música.

Pocas aplicaciones de análisis de audio en palabras reales incluyen alexa, echo, etc. 

gif_1
Este curso no necesita ningún requisito previo importante.
 
Versión de Pythonnivel de dificultadRequisito previo
2.7+fácilfundamentos de python

Descargue el archivo de entrada de   THIS LINK

”’

Sobre el archivo de audio
(haga clic derecho y verifique las propiedades o la sección de información):
letra: “oh yeah everything is fine”
tipo: “.wav”
frecuencia de muestreo = 48000 Hz
bits por muestra = 16

”’
”’
importar bibliotecas necesarias
si obtiene el error “No se encontró ningún módulo”; Intenta instalar usando:
pip install <Nombre del módulo>
”’
import sys
import numpy as np
from scipy.io.wavfile import write
import wave
import matplotlib.pyplot as plt
%matplotlib inline
 
”’
lee el archivo
”’
f = wave.open(‘oh-yeah-everything-is-fine.wav’, ‘r’)
”’
Extrae ondas de audio en una matriz numpy
”’
audio = f.readframes(-1)
audio = np.fromstring(audio, ‘Int16’)
”’
Trazar las señales
”’
plt.plot(audio)
plt.title(“My Audio Signals”)
audio_1
Estamos agregando otra convolución al audio. ¡Esto es como agregar otra dimensión de audio que crea eco y efectos de sonido!
”’
Intentemos modificar el audio.
np.convolve se usa para agregar una nueva convolución lineal discreta de dos
secuencias unidimensionales.
”’
delta = np.array([1., 0., 0.])
modified_audio = np.convolve(audio, delta)
modified_audio.shape
#(169772,)
 
#np.int16 — >Hecho para mantener el audio en el rango normal. De lo contrario, el audio se pone demasiado fuerte
#4800 — > tasa de muestreo
modified_audio = modified_audio.astype(np.int16)
write(‘modified_audio.wav’, 48000, modified_audio)
 

¡Esto crea un archivo de audio en su sistema! Solo escucha el eco 🙂

Podemos cortar, agregar, cortar, editar cualquier parte del audio según el índice de señal (aquí es 48000, es decir, frecuencia de muestreo)
”’
Sobrescribamos algunos índices de audio y creemos un nuevo eco.
”’
modified_audio = np.zeros(48000)
#modified_audio[0] = 1. Intente descomentarlos y vea la diferencia.
modified_audio[14000] = 0.1
#modified_audio[18000] = 1
#modified_audio[22000] = 1
#modified_audio[46000] = 1
#modified_audio[47800] = 1
modified_audio = np.convolve(audio, modified_audio)
modified_audio = modified_audio.astype(np.int16)

write(‘modified_audio2.wav’, 48000, modified_audio)

plt.plot(modified_audio)
plt.title(“Audio edited”)

¡Esto crea un archivo de audio en su sistema! Solo escucha las ediciones 🙂

aaudio_2

no te lo pierdas!