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