Question

Comment pourrais-je aller sur l'utilisation de Python pour lire les pics de fréquence à partir d'un fichier PCM WAV et être en mesure de générer une image de celui-ci, pour l'analyse de spectogramme?

Je suis en train de faire un programme qui vous permet de lire tous les fichiers audio, convertir en PCM WAV, puis trouver les pics et les seuils de fréquence.

Était-ce utile?

La solution

bibliothèque d'onde de Python vous permettra d'importer l'audio. Après cela, vous pouvez utiliser numpy prendre une FFT du audio.

Alors, matplotlib fait des graphiques très belles et graphiques -. Absolument comparables à Matlab

Il est vieux comme saleté, mais cet article probablement vous lancer sur le problème presque exactement que vous décrivez (article en Python bien sûr).

Autres conseils

Les fichiers WAV de chargement est facile en utilisant AudioLab :

from audiolab import wavread
signal, fs, enc = wavread('test.wav')

ou pour la lecture de tous les formats audio général et la conversion au format WAV:

from audiolab import Sndfile
sound_file = Sndfile('test.w64', 'r')
signal = wave_file.read_frames(wave_file.nframes)

Le spectrogramme est construit en PyLab:

from pylab import *
specgram(signal)

Plus précisément, il fait partie de matplotlib . Voici un meilleur exemple.

from pylab import *
specgram(signal)

est le plus facile. Aussi tout à fait à portée de main dans ce contexte:

subplot

Mais attention: Matplotlib est très lent, mais il crée de belles images. Vous ne devriez pas l'utiliser pour l'animation exigeant, encore moins quand vous traitez avec 3D

Si vous avez besoin de convertir un format PCM sur les entiers, vous aurez envie d'utiliser struct.unpack.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top