in Plot lokales Min und Max heraus finden
Verfasst: Mittwoch 13. Oktober 2021, 08:05
Hii!
Ich bin grade an dem Versuch dran ein kleines ML Modell zu erstellen und möchte dies mit Audiosignalen realisieren.
Der einzige Unterschied der Audiosignale liegt in einem bestimmten Freuquenzbereich und ist über FFT Magnitude erkennbar.
Den Plot habe mich mithilfer der def. plot_sepctrum und der bestimmten Frequenzachse realisiert.:
def plot_spectrum(y,sr):
samples=len(y)
spec=abs(np.fft.fft(y))
freq_axis=np.arange(float(samples))*sr/samples
plt.plot(freq_axis[0:round(samples/2)],20*np.log10(spec[0:round(samples/2)]))
plt.xlim( [2000, 3500] )
plt.xticks( range(2000,3500,100) )
plt.xlabel('Frequency in Hz')
plt.title('FFT Magnitude in dB')
Aus diesem Plot, benötige ich jetzt das Minimum in gewähltem Frequenzbereich und das Maximum gewähltem Frequenzbereich (am liebsten dann auch als plot ''eingezeichnet''). Leider bin ich bisher jedes mal gescheitert. Ich habe bisher nicht verstanden, wie ich in einen Plot andere Funktionen oder Plots einfügen/einbeziehen kann.
In der Folge muss die Steigung zwischen der beiden Min Max Punkte berechnet werden.
Danke sehr für eure Hilfe!
Ich bin grade an dem Versuch dran ein kleines ML Modell zu erstellen und möchte dies mit Audiosignalen realisieren.
Der einzige Unterschied der Audiosignale liegt in einem bestimmten Freuquenzbereich und ist über FFT Magnitude erkennbar.
Den Plot habe mich mithilfer der def. plot_sepctrum und der bestimmten Frequenzachse realisiert.:
def plot_spectrum(y,sr):
samples=len(y)
spec=abs(np.fft.fft(y))
freq_axis=np.arange(float(samples))*sr/samples
plt.plot(freq_axis[0:round(samples/2)],20*np.log10(spec[0:round(samples/2)]))
plt.xlim( [2000, 3500] )
plt.xticks( range(2000,3500,100) )
plt.xlabel('Frequency in Hz')
plt.title('FFT Magnitude in dB')
Aus diesem Plot, benötige ich jetzt das Minimum in gewähltem Frequenzbereich und das Maximum gewähltem Frequenzbereich (am liebsten dann auch als plot ''eingezeichnet''). Leider bin ich bisher jedes mal gescheitert. Ich habe bisher nicht verstanden, wie ich in einen Plot andere Funktionen oder Plots einfügen/einbeziehen kann.
In der Folge muss die Steigung zwischen der beiden Min Max Punkte berechnet werden.
Danke sehr für eure Hilfe!