def test_extract_feats_opensmile_config(recording): config = OpenSmileConfig( feature_set=opensmile.FeatureSet.ComParE_2016, feature_level=opensmile.FeatureLevel.LowLevelDescriptors, sampling_rate=recording.sampling_rate, ) feature_extractor = OpenSmileExtractor(config=config) y = feature_extractor.extract(recording.load_audio(), recording.sampling_rate) assert np.shape(y) == (1604, 65)
def test_extract_feats_config_defined_by_string(recording, feature_set, feature_level, expected_shape): config = OpenSmileConfig( feature_set=feature_set, feature_level=feature_level, sampling_rate=recording.sampling_rate, ) feature_extractor = OpenSmileExtractor(config=config) y = feature_extractor.extract(recording.load_audio(), recording.sampling_rate) assert np.shape(y) == expected_shape
def test_num_frames( feature_set, feature_level, ): sr = 8000 duration = 12.059 config = OpenSmileConfig( feature_set=feature_set, feature_level=feature_level, sampling_rate=sr, resample=True, ) feature_extractor = OpenSmileExtractor(config=config) num_frames = compute_num_frames(duration, feature_extractor.frame_shift, sr) num_samples = compute_num_samples(duration, sr) signal = np.random.rand(1, num_samples) y = feature_extractor.extract(signal, sr) assert np.shape(y)[0] == num_frames
def test_extract_feats_default_config(recording): feature_extractor = OpenSmileExtractor() y = feature_extractor.extract(recording.load_audio(), recording.sampling_rate) assert np.shape(y) == (1604, 65)
def test_sampling_rate_mismatch(recording): config = OpenSmileConfig(sampling_rate=8000) feature_extractor = OpenSmileExtractor(config=config) with pytest.raises(ValueError): y = feature_extractor.extract(recording.load_audio(), recording.sampling_rate)