From 1ad9c9a59a6ccc9fbb9d27d17c95c23d3cbabcc3 Mon Sep 17 00:00:00 2001 From: Hiroshiba Kazuyuki Date: Tue, 14 Nov 2017 23:49:37 +0900 Subject: [WIP] add f0 --- tests/test_dataset.py | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 tests/test_dataset.py (limited to 'tests/test_dataset.py') diff --git a/tests/test_dataset.py b/tests/test_dataset.py new file mode 100644 index 0000000..5283f7d --- /dev/null +++ b/tests/test_dataset.py @@ -0,0 +1,51 @@ +import unittest + +import numpy +from become_yukarin.dataset import dataset + + +class TestDataset(unittest.TestCase): + def setUp(self): + self.sample_rate = 24000 + self.len_time = len_time = 100 + self.fft_size = fft_size = 1024 + self.order = order = 59 + self.dummy_feature = dataset.AcousticFeature( + f0=numpy.arange(len_time).reshape((len_time, -1)), + spectrogram=numpy.arange(len_time * (fft_size // 2 + 1)).reshape((len_time, -1)), + aperiodicity=numpy.arange(len_time * (fft_size // 2 + 1)).reshape((len_time, -1)), + mfcc=numpy.arange(len_time * (order + 1)).reshape((len_time, -1)), + voiced=(numpy.arange(len_time) % 2 == 1).reshape((len_time, -1)), + ) + self.feature_sizes = dataset.AcousticFeature.get_sizes( + sampling_rate=self.sample_rate, + order=self.order, + ) + + def test_encode_decode_feature(self): + encode_feature = dataset.EncodeFeatureProcess(['mfcc']) + decode_feature = dataset.DecodeFeatureProcess(['mfcc'], self.feature_sizes) + e = encode_feature(self.dummy_feature, test=True) + d = decode_feature(e, test=True) + self.assertTrue(numpy.all(self.dummy_feature.mfcc == d.mfcc)) + + def test_encode_decode_feature2(self): + encode_feature = dataset.EncodeFeatureProcess(['mfcc', 'f0']) + decode_feature = dataset.DecodeFeatureProcess(['mfcc', 'f0'], self.feature_sizes) + e = encode_feature(self.dummy_feature, test=True) + d = decode_feature(e, test=True) + self.assertTrue(numpy.all(self.dummy_feature.mfcc == d.mfcc)) + self.assertTrue(numpy.all(self.dummy_feature.f0 == d.f0)) + + def test_encode_decode_feature3(self): + encode_feature = dataset.EncodeFeatureProcess(['mfcc', 'f0']) + decode_feature = dataset.DecodeFeatureProcess(['mfcc', 'f0'], self.feature_sizes) + e = encode_feature(self.dummy_feature, test=True) + e[0] = numpy.nan + d = decode_feature(e, test=True) + self.assertFalse(numpy.all(self.dummy_feature.mfcc == d.mfcc)) + self.assertTrue(numpy.all(self.dummy_feature.f0 == d.f0)) + + +if __name__ == '__main__': + unittest.main() -- cgit v1.2.3-70-g09d2