summaryrefslogtreecommitdiff
path: root/tests/test_dataset.py
diff options
context:
space:
mode:
authorHiroshiba Kazuyuki <kazuyuki_hiroshiba@dwango.co.jp>2017-11-14 23:49:37 +0900
committerHiroshiba Kazuyuki <kazuyuki_hiroshiba@dwango.co.jp>2017-11-14 23:49:37 +0900
commit1ad9c9a59a6ccc9fbb9d27d17c95c23d3cbabcc3 (patch)
treedbdee215d2ac9aa3a5dfacdb06fcf4a2d25f42da /tests/test_dataset.py
parent725dfcb2977ced3f374f3c92486a9a24a40b1bff (diff)
[WIP] add f0
Diffstat (limited to 'tests/test_dataset.py')
-rw-r--r--tests/test_dataset.py51
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()