def test_config_format(utterances_index, capsys, tmpdir, kind): config = pipeline.get_default_config('mfcc', to_yaml=kind != 'dict') if kind == 'file': tempfile = str(tmpdir.join('foo')) open(tempfile, 'w').write(config) config = tempfile if kind == 'str': config2 = 'a:\nb\n' with pytest.raises(ValueError) as err: pipeline._init_config(config2) assert 'error in configuration' in str(err) parsed = pipeline._init_config(config, log=utils.get_logger(level='info')) output = capsys.readouterr().err for word in ('mfcc', 'pitch', 'cmvn', 'delta'): assert word in output assert word in parsed
def test_config_bad(utterances_index): with pytest.raises(ValueError) as err: pipeline.get_default_config('bad') assert 'invalid features "bad"' in str(err) config = pipeline.get_default_config('mfcc') del config['mfcc'] with pytest.raises(ValueError) as err: pipeline.extract_features(config, utterances_index) assert 'the configuration does not define any features' in str(err) config = pipeline.get_default_config('mfcc') config['plp'] = config['mfcc'] with pytest.raises(ValueError) as err: pipeline.extract_features(config, utterances_index) assert 'more than one features extraction processor' in str(err) config = pipeline.get_default_config('mfcc') config['invalid'] = config['mfcc'] with pytest.raises(ValueError) as err: pipeline.extract_features(config, utterances_index) assert 'invalid keys in configuration' in str(err) config = pipeline.get_default_config('mfcc') del config['cmvn']['with_vad'] parsed = pipeline._init_config(config) assert 'cmvn' in parsed assert parsed['cmvn']['with_vad'] config = pipeline.get_default_config('mfcc') del config['cmvn']['by_speaker'] c = pipeline._init_config(config) assert not c['cmvn']['by_speaker'] config = pipeline.get_default_config('mfcc') del config['pitch']['postprocessing'] c = pipeline._init_config(config) assert c['pitch']['postprocessing'] == {}
def fun(utts): c = pipeline._init_config( pipeline.get_default_config('mfcc', with_cmvn=False)) u = pipeline._init_utterances(utts) pipeline._Manager(c, u) return u