Mercurial > hg > plosone_underreview
diff tests/test_OPMellin.py @ 39:0e70021f251e branch-tests
some tests on OPmellin
author | Maria Panteli |
---|---|
date | Thu, 14 Sep 2017 16:30:41 +0100 |
parents | |
children | 9b2beffa5fdd |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test_OPMellin.py Thu Sep 14 16:30:41 2017 +0100 @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +""" +Created on Fri Sep 1 19:11:52 2017 + +@author: mariapanteli +""" + +import pytest + +import numpy as np + +import scripts.OPMellin as OPMellin + + +opm = OPMellin.OPMellin() + + +def test_load_audiofile(): + audiofile = 'data/sample_dataset/Audio/mel_1_2_1.wav' + opm.load_audiofile(audiofile, segment=False) + assert opm.y is not None and opm.sr is not None + + +def test_mel_spectrogram(): + audiofile = 'data/sample_dataset/Audio/mel_1_2_1.wav' + opm.load_audiofile(audiofile, segment=False) + opm.mel_spectrogram(y=opm.y, sr=opm.sr) + # assume 40 mel bands + assert opm.melspec.shape[0] == 40 + + +def test_post_process_spec(): + audiofile = 'data/sample_dataset/Audio/mel_1_2_1.wav' + opm.load_audiofile(audiofile, segment=False) + opm.mel_spectrogram(y=opm.y, sr=opm.sr) + melspec = opm.melspec + opm.post_process_spec(melspec=melspec) + proc_melspec = opm.melspec + assert melspec.shape == proc_melspec.shape + + +def test_onset_patterns_n_frames(): + audiofile = 'data/sample_dataset/Audio/mel_1_2_1.wav' + opm.load_audiofile(audiofile, segment=False) + opm.mel_spectrogram(y=opm.y, sr=opm.sr) + opm.onset_patterns(melspec=opm.melspec, melsr=opm.melsr) + assert opm.op.shape[2] == np.round(((opm.melspec.shape[1] / opm.melsr) - opm.win2sec) * 2.) + + +def test_onset_patterns_n_bins(): + audiofile = 'data/sample_dataset/Audio/mel_1_2_1.wav' + opm.load_audiofile(audiofile, segment=False) + opm.mel_spectrogram(y=opm.y, sr=opm.sr) + opm.onset_patterns(melspec=opm.melspec, melsr=opm.melsr) + assert opm.op.shape[0] == 40 + + +def test_post_process_op(): + audiofile = 'data/sample_dataset/Audio/mel_1_2_1.wav' + opm.load_audiofile(audiofile, segment=False) + opm.mel_spectrogram(y=opm.y, sr=opm.sr) + opm.onset_patterns(melspec=opm.melspec, melsr=opm.melsr) + op = opm.op + opm.post_process_op() + proc_op = opm.op + assert op.shape == proc_op.shape \ No newline at end of file