From 575d9b59922642c9d479ccbcb17561c2aab0e95e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matt=C3=A9o=20Delabre?= Date: Fri, 18 Dec 2020 19:59:55 +0100 Subject: [PATCH] =?UTF-8?q?Graphe=20du=20FFT=20en=20=C3=A9chelle=20log=20e?= =?UTF-8?q?t=20style=20ggplot?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- analyze-single.py | 29 +++++++++++++++++------------ fig/synth-single.png | Bin 24603 -> 33134 bytes 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/analyze-single.py b/analyze-single.py index 3b32d76..5e205a8 100644 --- a/analyze-single.py +++ b/analyze-single.py @@ -17,21 +17,26 @@ output_file = sys.argv[2] # Calcul du FFT signal = soundbox.load_signal(source_file) -freqs = np.fft.fft(signal) +freqs = np.fft.fft(signal)[:soundbox.samp_rate // 2] +values = np.absolute(freqs) / np.max(np.absolute(freqs)) # Génération du graphe -ampl_scale = 1 / np.max(np.absolute(freqs)) -freq_scale = soundbox.samp_rate / len(signal) - +plt.style.use('ggplot') plt.rcParams.update({ - 'figure.figsize': (8, 4), + 'figure.figsize': (10, 5), 'font.size': 16, 'font.family': 'Concourse T4', }) fig, ax = plt.subplots() ax.tick_params(axis='both', which='major', labelsize=12) -ax.plot(np.absolute(freqs)) + +remove = values < 0.01 +x = np.arange(len(values)) +ax.plot(x[remove == False], values[remove == False]) + +# Configuration des axes +freq_scale = soundbox.samp_rate / len(signal) def freq_format(value, pos): @@ -39,19 +44,19 @@ def freq_format(value, pos): def ampl_format(value, pos): - return f'{value * ampl_scale:.1f}' + return f'{value:.1f}' -ax.set_xlabel('Fréquence') -ax.set_xlim(0 / freq_scale, 800 / freq_scale) +ax.set_xlabel('Fréquence', labelpad=10) +ax.set_xscale('log', base=2) ax.xaxis.set_major_formatter(matplotlib.ticker.FuncFormatter(freq_format)) ax.xaxis.set_major_locator(plt.MultipleLocator(100 / freq_scale)) -ax.set_ylabel('Amplitude') +ax.set_ylabel('Amplitude relative', labelpad=10) ax.yaxis.set_major_formatter(matplotlib.ticker.FuncFormatter(ampl_format)) -ax.yaxis.set_major_locator(plt.MultipleLocator(.2 / ampl_scale)) +ax.yaxis.set_major_locator(plt.MultipleLocator(.2)) -# Rend le résultat +# Rendu du résultat if output_file == '-': plt.show() else: diff --git a/fig/synth-single.png b/fig/synth-single.png index e6b9279022ab5f8a8ad63ccfa2c74484d68e382b..9639631ac4d3bdb4b8cacab6bf7f4a45c881e325 100644 GIT binary patch literal 33134 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≀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 I!P#}}Uk2XCY5)KL