Comment trouver un fichier wav
Je viens de lire un fichier wav avec scipy et maintenant je veux faire de la parcelle de terrain du fichier à l'aide de matplotlib, sur l'échelle y" je veux voir l'amplitude et sur le "x échelle" je veux voir le nombre de cadres!
Toute aide comment puis-je le faire??
Merci!!!!
from scipy.io.wavfile import read
import numpy as np
from numpy import*
import matplotlib.pyplot as plt
a=read("C:/Users/Martinez/Desktop/impulso.wav")
print a
- ce n'
print a
de sortie? - Est-ce un simple ou multi-canal wavfile?
- L'impression un, juste montrer un tuple avec les données brutes du fichier audio. Et c'est un mono wavfile.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez appeler vague lib pour lire un fichier audio.
Le tracé de la forme d'onde, utiliser le "complot" de la fonction de matplotlib
vous aurez quelque chose comme:
Pour Tracer l'axe des x en quelques secondes vous avez besoin d'obtenir le taux de trame et le diviser par la taille de votre signal, vous pouvez utiliser la fonction linspace de numpy pour créer un Temps de Vecteur espacés de façon linéaire avec la taille du fichier audio et enfin, vous pouvez utiliser de la parcelle, à nouveau, comme
plt.plot(Time,signal)
Nouveau tracé de l'axe des x en quelques secondes:
Alternativement, si vous souhaitez utiliser SciPy, vous pouvez également effectuer les opérations suivantes:
Voici une version qui prendra également en charge les entrées stéréo, basé sur la réponse de @ederwander
channels = [signal[channel::num_channels] for channel in range(num_channels)]
pour obtenir un fou rapidement.Juste un constat (je ne peux pas ajouter de commentaire).
Vous recevrez un mesage:
Ne pas utiliser de np.fromstring avec les fichiers binaires. Au lieu de
signal = np.fromstring(signal, 'Int16')
, il est préférable d'utilisersignal = np.frombuffer(signal, dtype='int16')
.Ici est une version qui gère mono/stéréo et 8-bit/16-bit PCM.
Voici le code à tirer le signal d'onde de fichier et le spectre du signal
Pour le fichier wave
Pour certains segments de la vague de fichier
Tracé de l'onde et le spectre de l'onde du signal de fichier
Je suppose que je pourrais l'ai mis dans un commentaire, mais en s'appuyant légèrement sur les réponses des deux @ederwander et @TimSC, je voulais faire quelque chose de plus fin (comme dans le détail) et esthétique. Le code ci-dessous crée ce que je pense est une très belle forme d'onde d'un son stéréo ou mono fichier wave (je n'ai pas besoin d'un titre donc, j'ai juste indiqué que, ni ai-je besoin de la méthode show - juste besoin d'enregistrer le fichier d'image).
Voici un exemple de wav stéréo rendu:
Et le code, avec les différences que j'ai mentionné:
Je suis venu avec une solution qui est plus souple et plus performant: