diff options
| author | Hiroshiba Kazuyuki <kazuyuki_hiroshiba@dwango.co.jp> | 2017-11-14 23:49:37 +0900 |
|---|---|---|
| committer | Hiroshiba Kazuyuki <kazuyuki_hiroshiba@dwango.co.jp> | 2017-11-14 23:49:37 +0900 |
| commit | 1ad9c9a59a6ccc9fbb9d27d17c95c23d3cbabcc3 (patch) | |
| tree | dbdee215d2ac9aa3a5dfacdb06fcf4a2d25f42da /tests/test_dataset.py | |
| parent | 725dfcb2977ced3f374f3c92486a9a24a40b1bff (diff) | |
[WIP] add f0
Diffstat (limited to 'tests/test_dataset.py')
| -rw-r--r-- | tests/test_dataset.py | 51 |
1 files changed, 51 insertions, 0 deletions
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() |
