Comment puis-je créer une onde sonore à partir de l'audio?
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.
