[Python] Wie man MP3-Daten fFT

0. Übersicht

Wie man MP3-Daten mit Python FFT. Da pydub und ffmpeg als Bibliotheken verwendet werden, laden Sie diese bitte im Voraus herunter.

1. Laden Sie die Bibliothek herunter

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 = "Geben Sie den Dateinamen ein"

sound = AS.from_file(file + ".mp3", "mp3")
data = np.array(sound.get_array_of_samples())
spec = np.fft.fft(data)   #Ein zweidimensionales Array(Realteil, Imaginärteil)
freq = np.fft.fftfreq(data.shape[0], 1.0/sound.frame_rate) 
spec = spec[:int(spec.shape[0]/2 + 1)]    #Entfernung von Spektralelementen mit negativen Frequenzen
freq = freq[:int(freq.shape[0]/2 + 1)]    #Entfernen von Frequenzelementen mit negativer Frequenz
max_spec=max(np.abs(spec))    #Holen Sie sich maximalen Schalldruck(Wird zur Normalisierung des Schalldrucks verwendet.
plt.plot(freq, np.abs(spec)/max_spec)

plt.grid()
plt.xlim([0,4000])    #Frequenzbereich, der in das Diagramm ausgegeben werden soll[Hz]
plt.xlabel("Frequency[Hz]")
plt.ylabel("Sound Pressure[-]")
#plt.yscale("log")
plt.savefig(file + ".png ")  #Ausgabe als PNG-Datei

3. Ergänzung

Sie können zur Protokollskalierung wechseln, indem Sie plt.yscale ("log") auskommentieren.

Recommended Posts

[Python] Wie man MP3-Daten fFT
Verwendung von "deque" für Python-Daten
So installieren Sie Python
So installieren Sie Python
[Python] Lesen von Daten aus CIFAR-10 und CIFAR-100
[Einführung in Python] Umgang mit Daten im JSON-Format
So installieren Sie Python [Windows]
python3: Verwendung der Flasche (2)
[Python] Verwendung von Liste 1
So aktualisieren Sie Pythons Tkinter auf 8.6
Wie benutzt man Python Argparse?
Python: Wie man pydub benutzt
[Python] Verwendung von checkio
So führen Sie Notepad ++ Python aus
So ändern Sie die Python-Version
Wie man in Python entwickelt
Umgang mit Datenrahmen
[Python] Wie man Skalar beurteilt
[Python] Verwendung von input ()
Wie benutzt man Python Lambda?
[Python] Verwendung von virtualenv
python3: Verwendung der Flasche (3)
python3: Wie man eine Flasche benutzt
Verwendung von Python-Bytes
[Für Anfänger] So studieren Sie den Python3-Datenanalysetest
So kratzen Sie Bilddaten von Flickr mit Python
So messen Sie die Wiedergabezeit von MP3-Dateien mit Python
So installieren Sie Python mit Anaconda
[Python] Wie man PCA mit Python macht
Python: So verwenden Sie Async mit
Lesen von e-Stat-Subregionsdaten
[Python] Wie man nCk ableitet (ABC156-D)
[Python] Verwendung der Pandas-Serie
So sammeln Sie Bilder in Python
Verwendung von Anfragen (Python Library)
Verwendung von SQLite in Python
[Einführung in Python] So analysieren Sie JSON
Umgang mit unausgeglichenen Daten
So erhalten Sie die Python-Version
MP3 → WAV-Konvertierung mit Python
Erste Schritte mit Python
Wie man Youtube in MP3 konvertiert und es super sicher herunterlädt [Python]
[Python] Verwendung von Liste 3 Hinzugefügt
Wie man MySQL mit Python benutzt
Verwendung der Python-API von OpenPose
Aufblasen von Daten (Datenerweiterung) mit PyTorch
[Python] So tauschen Sie Array-Werte aus
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
Python: Verwendung von pydub (Wiedergabe)
Verwendung von PubChem mit Python
So beschleunigen Sie Python-Berechnungen
So berechnen Sie das Datum mit Python
So greifen Sie über Python auf Wikipedia zu
Verwendung der Zip-Funktion von Python
[Nanonets] Wie poste ich Memo [Python]