¿Cómo puedo crear una onda sonora desde audio?

No puede * crear * un SoundWave desde Audio; El audio * es * el SoundWave (o más bien, una representación digital de la misma). Lo que puede hacer es * Visualizar * el SoundWave desde un archivo de audio. Esto implica extraer los datos de amplitud del audio y luego trazarlos.

Así es como puede hacer esto utilizando diferentes lenguajes y bibliotecas de programación:

1. Uso de Python con Librosa y Matplotlib:

Este es un método popular y relativamente directo.

`` `Python

importación de la biblioteca

Importar biblioteca.

Importar matplotlib.pyplot como PLT

Cargue el archivo de audio

file_path ='your_audio_file.wav' # Reemplazar con su ruta de archivo

y, sr =biblioteca.load (file_path)

Muestre la forma de onda

plt.figure (figsize =(14, 5))

Librosa.display.wavhow (y, Sr =Sr)

plt.title ('forma de onda')

Plt.xlabel ('Tiempo (s)')

plt.ylabel ('amplitud')

plt.show ()

opcionalmente, para guardar la figura:

plt.saveFig ('WaveForm.png')

`` `` ``

Este código hace lo siguiente:

* Importa bibliotecas necesarias: `Librosa` para procesamiento de audio y` matplotlib` para trazar.

* Carga el audio: `biblioteca.load ()` lee el archivo de audio y devuelve los datos de audio (`y`) y la frecuencia de muestreo (` sr`).

* muestra la forma de onda: `Librosa.display.waveshow ()` Crea la trama. Maneja automáticamente la escala del tiempo en función de la frecuencia de muestreo.

2. Usando Python con Scipy y Matplotlib:

Este enfoque utiliza bibliotecas de nivel inferior, lo que le brinda más control pero requiere un poco más de código:

`` `Python

import scipy.io.wavfile

Importar matplotlib.pyplot como PLT

importar numpy como np

Cargue el archivo de audio

tasa, data =scipy.io.wavfile.read ('your_audio_file.wav')

traza la forma de onda

plt.figure (figsize =(14, 5))

Plt.Plot (datos)

plt.title ('forma de onda')

plt.xlabel ('muestra')

plt.ylabel ('amplitud')

plt.show ()

Para audio estéreo, traza cada canal por separado

if data.ndim ==2:

plt.figure (figsize =(14, 5))

plt.plot (data [:, 0], etiqueta ='canal izquierdo')

plt.plot (data [:, 1], etiqueta ='canal recto')

plt.legend ()

plt.title ('Forma de onda (estéreo)')

plt.xlabel ('muestra')

plt.ylabel ('amplitud')

plt.show ()

`` `` ``

Este código:

* Usa `scipy.io.wavfile` para leer el archivo WAV. Tenga en cuenta que esto cargará los datos de audio sin procesar; Es posible que deba manejar diferentes tipos de datos (por ejemplo, convertir en punto flotante).

* Plota los datos directamente usando `matplotlib.pyplot.plot ()`. El eje X representa el número de muestra, no el tiempo (a diferencia del ejemplo de Librosa).

Antes de ejecutar cualquier código:

* Instale las bibliotecas necesarias: Deberá instalar `biblioteca`,` matplotlib`, `scipy` y` numpy`. Puede hacer esto usando PIP:`PIP Instale Librosa Matplotlib Scipy Numpy`

* Reemplace `'Your_audio_File.Wav'` con la ruta real a su archivo de audio. Asegúrese de que el archivo sea un archivo WAV; Otros formatos pueden requerir bibliotecas o pasos de conversión adicionales.

Recuerde que estos métodos visualizan el SoundWave. La onda sonora real es el fenómeno físico de las variaciones de presión del aire; La visualización es una representación gráfica de los datos digitales que representan esas variaciones.