>> Technologie Électronique >  >> Audio pour la maison >> Platines vinyles

Comment puis-je créer une onde sonore à partir de l'audio?

Vous ne pouvez pas directement * créer * une onde sonore à partir de l'audio; L'audio * est * le Soundwave (ou plutôt, une représentation numérique de celui-ci). Ce que vous pouvez faire, c'est * visualiser * le son à partir d'un fichier audio. Cela implique d'extraire les données d'amplitude de l'audio, puis de les tracer.

Voici comment vous pouvez le faire en utilisant différents langages de programmation et bibliothèques:

1. Utilisation de Python avec Librosa et Matplotlib:

Il s'agit d'une méthode populaire et relativement simple.

`` Python

Importer Librosa

importer librosa.display

Importer Matplotlib.pyplot en tant que plt

Chargez le fichier audio

file_path ='your_audio_file.wav' # Remplacez par votre chemin de fichier

y, sr =librosa.load (file_path)

Affichez la forme d'onde

Plt.Figure (FigSize =(14, 5))

librosa.display.waveshow (y, sr =sr)

plt.title («forme d'onde»)

plt.xLabel ('temps (s)')

plt.ylabel («amplitude»)

plt.show ()

éventuellement, pour enregistrer la figure:

plt.savefig ('wave forme.png')

`` '

Ce code fait ce qui suit:

* Importe des bibliothèques nécessaires: «Librosa» pour le traitement audio et «Matplotlib» pour le traçage.

* charge l'audio: `librosa.load ()` lit le fichier audio et renvoie les données audio (`y`) et la fréquence d'échantillonnage (` sr`).

* Affiche la forme d'onde: `librosa.display.waveshow ()` crée l'intrigue. Il gère automatiquement la mise à l'échelle du temps en fonction de la fréquence d'échantillonnage.

2. Utilisation de Python avec Scipy et Matplotlib:

Cette approche utilise des bibliothèques de niveau inférieur, vous donnant plus de contrôle mais nécessitant un peu plus de code:

`` Python

importer scipy.io.wavfile

Importer Matplotlib.pyplot en tant que plt

Importer Numpy comme NP

Chargez le fichier audio

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

tracer la forme d'onde

Plt.Figure (FigSize =(14, 5))

plt.plot (données)

plt.title («forme d'onde»)

plt.xLabel («échantillon»)

plt.ylabel («amplitude»)

plt.show ()

Pour l'audio stéréo, tracez chaque canal séparément

Si data.ndim ==2:

Plt.Figure (FigSize =(14, 5))

plt.plot (data [:, 0], label ='Left Channel')

plt.plot (data [:, 1], label ='right canal')

plt.legend ()

Plt.Title («Forme d'onde (stéréo)»)

plt.xLabel («échantillon»)

plt.ylabel («amplitude»)

plt.show ()

`` '

Ce code:

* Utilise `scipy.io.wavfile` pour lire le fichier wav. Notez que cela chargera les données audio brutes; Vous devrez peut-être gérer différents types de données (par exemple, convertir en point flottant).

* Trace les données directement à l'aide de `Matplotlib.pyplot.plot () '. L'axe X représente le numéro d'échantillon, pas le temps (contrairement à l'exemple Librosa).

avant d'exécuter l'un ou l'autre code:

* Installez les bibliothèques nécessaires: Vous devrez installer `Librosa`,« Matplotlib »,« Scipy »et« Numpy ». Vous pouvez le faire en utilisant PIP:`PIP Installer Librosa Matplotlib Scipy Numpy`

* Remplacez `'votre_audio_file.wav'` par le chemin réel vers votre fichier audio. Assurez-vous que le fichier est un fichier WAV; D'autres formats peuvent nécessiter des bibliothèques ou des étapes de conversion supplémentaires.

N'oubliez pas que ces méthodes visualisent l'onde de son. L'onde du son réelle est le phénomène physique des variations de la pression de l'air; La visualisation est une représentation graphique des données numériques représentant ces variations.

Platines vinyles