import matplotlib.pyplot as plt import numpy as np from scipy import signal import gradio as gr def spectrogram(audio): sr, data = audio if len(data.shape) == 2: data = np.mean(data, axis=0) frequencies, times, spectrogram_data = signal.spectrogram( data, sr, window="hamming" ) plt.pcolormesh(times, frequencies, np.log10(spectrogram_data)) return plt demo = gr.Interface(spectrogram, "audio", "plot") if __name__ == "__main__": demo.launch()