annotate tests/test_OPMellin.py @ 105:edd82eb89b4b branch-tests tip

Merge
author Maria Panteli
date Sun, 15 Oct 2017 13:36:59 +0100
parents 9b2beffa5fdd
children
rev   line source
Maria@39 1 # -*- coding: utf-8 -*-
Maria@39 2 """
Maria@39 3 Created on Fri Sep 1 19:11:52 2017
Maria@39 4
Maria@39 5 @author: mariapanteli
Maria@39 6 """
Maria@39 7
Maria@39 8 import pytest
Maria@39 9
Maria@39 10 import numpy as np
m@85 11 import os
Maria@39 12
Maria@39 13 import scripts.OPMellin as OPMellin
Maria@39 14
Maria@39 15
Maria@39 16 opm = OPMellin.OPMellin()
m@85 17 TEST_AUDIO_FILE = os.path.join(os.path.dirname(__file__), os.path.pardir,
m@85 18 'data', 'sample_dataset', 'Audio', 'mel_1_2_1.wav')
Maria@39 19
Maria@39 20 def test_load_audiofile():
m@85 21 audiofile = TEST_AUDIO_FILE
Maria@39 22 opm.load_audiofile(audiofile, segment=False)
Maria@39 23 assert opm.y is not None and opm.sr is not None
Maria@39 24
Maria@39 25
Maria@39 26 def test_mel_spectrogram():
m@85 27 audiofile = TEST_AUDIO_FILE
Maria@39 28 opm.load_audiofile(audiofile, segment=False)
Maria@39 29 opm.mel_spectrogram(y=opm.y, sr=opm.sr)
Maria@39 30 # assume 40 mel bands
Maria@39 31 assert opm.melspec.shape[0] == 40
Maria@39 32
Maria@39 33
Maria@39 34 def test_post_process_spec():
m@85 35 audiofile = TEST_AUDIO_FILE
Maria@39 36 opm.load_audiofile(audiofile, segment=False)
Maria@39 37 opm.mel_spectrogram(y=opm.y, sr=opm.sr)
Maria@39 38 melspec = opm.melspec
Maria@39 39 opm.post_process_spec(melspec=melspec)
Maria@39 40 proc_melspec = opm.melspec
Maria@39 41 assert melspec.shape == proc_melspec.shape
Maria@39 42
Maria@39 43
Maria@39 44 def test_onset_patterns_n_frames():
m@85 45 audiofile = TEST_AUDIO_FILE
Maria@39 46 opm.load_audiofile(audiofile, segment=False)
Maria@39 47 opm.mel_spectrogram(y=opm.y, sr=opm.sr)
Maria@39 48 opm.onset_patterns(melspec=opm.melspec, melsr=opm.melsr)
Maria@39 49 assert opm.op.shape[2] == np.round(((opm.melspec.shape[1] / opm.melsr) - opm.win2sec) * 2.)
Maria@39 50
Maria@39 51
Maria@39 52 def test_onset_patterns_n_bins():
m@85 53 audiofile = TEST_AUDIO_FILE
Maria@39 54 opm.load_audiofile(audiofile, segment=False)
Maria@39 55 opm.mel_spectrogram(y=opm.y, sr=opm.sr)
Maria@39 56 opm.onset_patterns(melspec=opm.melspec, melsr=opm.melsr)
Maria@39 57 assert opm.op.shape[0] == 40
Maria@39 58
Maria@39 59
Maria@39 60 def test_post_process_op():
m@85 61 audiofile = TEST_AUDIO_FILE
Maria@39 62 opm.load_audiofile(audiofile, segment=False)
Maria@39 63 opm.mel_spectrogram(y=opm.y, sr=opm.sr)
Maria@39 64 opm.onset_patterns(melspec=opm.melspec, melsr=opm.melsr)
Maria@39 65 op = opm.op
Maria@39 66 opm.post_process_op()
Maria@39 67 proc_op = opm.op
Maria@39 68 assert op.shape == proc_op.shape