mirror of
https://github.com/csukuangfj/kaldifeat.git
synced 2025-08-09 10:02:20 +00:00
* Add pickle support to FrameExtractionOptions. * Add pickle support to MelBanksOptions. * Add pickle support. * Update README to mention other projects. * Fix style issues.
108 lines
2.2 KiB
Python
Executable File
108 lines
2.2 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
#
|
|
# Copyright (c) 2021 Xiaomi Corporation (authors: Fangjun Kuang)
|
|
|
|
import pickle
|
|
|
|
import kaldifeat
|
|
|
|
|
|
def test_default():
|
|
opts = kaldifeat.MelBanksOptions()
|
|
assert opts.num_bins == 25
|
|
assert opts.low_freq == 20
|
|
assert opts.high_freq == 0
|
|
assert opts.vtln_low == 100
|
|
assert opts.vtln_high == -500
|
|
assert opts.debug_mel is False
|
|
assert opts.htk_mode is False
|
|
|
|
|
|
def test_set_get():
|
|
opts = kaldifeat.MelBanksOptions()
|
|
opts.num_bins = 100
|
|
assert opts.num_bins == 100
|
|
|
|
opts.low_freq = 22
|
|
assert opts.low_freq == 22
|
|
|
|
opts.high_freq = 1
|
|
assert opts.high_freq == 1
|
|
|
|
opts.vtln_low = 101
|
|
assert opts.vtln_low == 101
|
|
|
|
opts.vtln_high = -100
|
|
assert opts.vtln_high == -100
|
|
|
|
opts.debug_mel = True
|
|
assert opts.debug_mel is True
|
|
|
|
opts.htk_mode = True
|
|
assert opts.htk_mode is True
|
|
|
|
|
|
def test_from_empty_dict():
|
|
opts = kaldifeat.MelBanksOptions.from_dict({})
|
|
opts2 = kaldifeat.MelBanksOptions()
|
|
|
|
assert str(opts) == str(opts2)
|
|
|
|
|
|
def test_from_dict_partial():
|
|
d = {"num_bins": 10, "debug_mel": True}
|
|
|
|
opts = kaldifeat.MelBanksOptions.from_dict(d)
|
|
|
|
opts2 = kaldifeat.MelBanksOptions()
|
|
assert str(opts) != str(opts2)
|
|
|
|
opts2.num_bins = 10
|
|
assert str(opts) != str(opts2)
|
|
|
|
opts2.debug_mel = True
|
|
assert str(opts) == str(opts2)
|
|
|
|
opts2.debug_mel = False
|
|
assert str(opts) != str(opts2)
|
|
|
|
|
|
def test_from_dict_full_and_as_dict():
|
|
opts = kaldifeat.MelBanksOptions()
|
|
opts.num_bins = 80
|
|
opts.vtln_high = 2
|
|
|
|
d = opts.as_dict()
|
|
for key, value in d.items():
|
|
assert value == getattr(opts, key)
|
|
|
|
opts2 = kaldifeat.MelBanksOptions.from_dict(d)
|
|
assert str(opts2) == str(opts)
|
|
|
|
d["htk_mode"] = True
|
|
opts3 = kaldifeat.MelBanksOptions.from_dict(d)
|
|
assert opts3.htk_mode is True
|
|
|
|
|
|
def test_pickle():
|
|
opts = kaldifeat.MelBanksOptions()
|
|
opts.num_bins = 100
|
|
opts.low_freq = 22
|
|
data = pickle.dumps(opts)
|
|
|
|
opts2 = pickle.loads(data)
|
|
assert str(opts) == str(opts2)
|
|
|
|
|
|
def main():
|
|
test_default()
|
|
test_set_get()
|
|
test_from_empty_dict()
|
|
test_from_dict_partial()
|
|
test_from_dict_full_and_as_dict()
|
|
test_pickle()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|