[Python] Comment FFT des données mp3

0. Aperçu

Comment FFT des données mp3 en utilisant Python. Puisque pydub et ffmpeg sont utilisés comme bibliothèques, veuillez les télécharger à l'avance.

1. Télécharger la bibliothèque

sudo apt install ffmpeg
pip install pydub

2. Code

FFT.py


#! /usr/bin/env python
# -*- coding: utf-8 -*-
from pydub import AudioSegment as AS
import ffmpeg
import numpy as np
import matplotlib.pyplot as plt

file = "Entrez le nom du fichier"

sound = AS.from_file(file + ".mp3", "mp3")
data = np.array(sound.get_array_of_samples())
spec = np.fft.fft(data)   #Un tableau bidimensionnel(Partie réelle, partie imaginaire)
freq = np.fft.fftfreq(data.shape[0], 1.0/sound.frame_rate) 
spec = spec[:int(spec.shape[0]/2 + 1)]    #Suppression des éléments spectraux avec des fréquences négatives
freq = freq[:int(freq.shape[0]/2 + 1)]    #Suppression des éléments de fréquence qui ont une fréquence négative
max_spec=max(np.abs(spec))    #Obtenez une pression acoustique maximale(Utilisé pour normaliser la pression acoustique)
plt.plot(freq, np.abs(spec)/max_spec)

plt.grid()
plt.xlim([0,4000])    #Plage de fréquences à afficher sur le graphique[Hz]
plt.xlabel("Frequency[Hz]")
plt.ylabel("Sound Pressure[-]")
#plt.yscale("log")
plt.savefig(file + ".png ")  #Sortie sous forme de fichier png

3. Supplément

Vous pouvez passer à l'échelle du journal en décommentant plt.yscale ("log").

Recommended Posts

[Python] Comment FFT des données mp3
Comment utiliser "deque" pour les données Python
Comment installer Python
Comment installer python
[Python] Comment lire les données de CIFAR-10 et CIFAR-100
[Introduction à Python] Comment gérer les données au format JSON
Comment installer Python [Windows]
python3: Comment utiliser la bouteille (2)
[Python] Comment utiliser la liste 1
Comment mettre à jour Tkinter de Python vers la version 8.6
Comment utiliser Python Argparse
Python: comment utiliser pydub
[Python] Comment utiliser checkio
Comment exécuter Notepad ++ Python
Comment changer la version de Python
Comment développer en Python
Comment gérer les trames de données
[python] Comment juger scalaire
[Python] Comment utiliser input ()
Comment utiliser Python lambda
[Python] Comment utiliser virtualenv
python3: Comment utiliser la bouteille (3)
python3: Comment utiliser la bouteille
Comment utiliser les octets Python
[Pour les débutants] Comment étudier le test d'analyse de données Python3
Comment récupérer des données d'image de Flickr avec Python
Comment mesurer le temps de lecture d'un fichier mp3 avec python
Comment installer Python à l'aide d'Anaconda
[Python] Comment faire PCA avec Python
Python: comment utiliser async avec
Comment lire les données de la sous-région e-Stat
[Python] Comment dériver nCk (ABC156-D)
[Python] Comment utiliser la série Pandas
Comment collecter des images en Python
Comment utiliser les requêtes (bibliothèque Python)
Comment utiliser SQLite en Python
[Introduction à Python] Comment analyser JSON
Comment gérer les données déséquilibrées
Comment obtenir la version Python
Conversion MP3 → WAV avec Python
Comment démarrer avec Python
Comment convertir Youtube en mp3 et le télécharger en toute sécurité [Python]
[Python] Comment utiliser la liste 3 Ajouté
Comment utiliser Mysql avec python
Comment utiliser l'API Python d'OpenPose
Comment augmenter les données avec PyTorch
[Python] Comment permuter les valeurs de tableau
Comment envelopper C en Python
Comment utiliser ChemSpider en Python
Python: Comment utiliser pydub (lecture)
Comment utiliser PubChem avec Python
Comment accélérer les calculs Python
Comment calculer la date avec python
Comment accéder à wikipedia depuis python
Comment utiliser la fonction zip de python
[Nanonets] Comment publier un mémo [Python]