From 4b16e76989ff411d1c852f25969a84cadabbce62 Mon Sep 17 00:00:00 2001 From: Sting <loic.allegre@ensiie.fr> Date: Wed, 12 Jul 2023 14:14:21 +0200 Subject: [PATCH] Testing some stuff --- cnn_madmom/segment.py | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/cnn_madmom/segment.py b/cnn_madmom/segment.py index c3acd9e..1c49adc 100644 --- a/cnn_madmom/segment.py +++ b/cnn_madmom/segment.py @@ -7,14 +7,42 @@ from scipy.ndimage.filters import maximum_filter def segment(songfile): + delay = -4 + smooth = 20 + threshold = 0.4 + cnn = madmom.features.onsets.CNNOnsetProcessor() - proc = madmom.features.onsets.OnsetPeakPickingProcessor(threshold=0.4, smooth=5, delay=0, fps=100) + #proc = madmom.features.onsets.OnsetPeakPickingProcessor(threshold=threshold, smooth=smooth, delay=delay, fps=100) activation_function = cnn(songfile, num_channels=1) #onsets = proc(activation_function) - onsets = madmom.features.onsets.peak_picking(activation_function, 0.4, smooth=10)/100 + onsets = (madmom.features.onsets.peak_picking(activation_function, threshold, smooth=smooth) + delay)/100 print(onsets) - return onsets \ No newline at end of file + return onsets + + + +if __name__ == "__main__": + songfile = sys.argv[1] + + cnn = madmom.features.onsets.CNNOnsetProcessor() + + spec = spec = madmom.audio.spectrogram.Spectrogram(songfile, num_channels=1) + log_spec = madmom.audio.spectrogram.LogarithmicSpectrogram(spec, add=1) + + activation_function = cnn(songfile, num_channels=1) + #onsets = proc(activation_function) + + onsets = madmom.features.onsets.peak_picking(activation_function, 0.4, smooth=20) + + print(onsets/100) + + fig, axs = plt.subplots(nrows=2, sharex=True) + axs[0].imshow(log_spec.T, origin='lower', aspect='auto') + axs[1].plot(activation_function) + axs[1].vlines(onsets, 0, 1, colors='red') + + plt.show() -- GitLab