Ejemplo n.º 1
0
def test_num_ceps(audio, num_ceps):
    if num_ceps >= 23:
        with pytest.raises(ValueError) as err:
            PlpProcessor(num_ceps=num_ceps)
        assert 'We must have num_ceps <= lpc_order+1' in str(err)
    else:
        proc = PlpProcessor(num_ceps=num_ceps)
        if 0 < proc.num_ceps:
            feat = proc.process(audio)
            assert proc.num_ceps == num_ceps == proc.ndims
            assert feat.shape == (140, num_ceps)

            proc.use_energy = False
            feat = proc.process(audio)
            assert feat.shape == (140, num_ceps)
        else:
            with pytest.raises(RuntimeError):
                proc.process(audio)
Ejemplo n.º 2
0
def get_plp_dd(wav_fn, norm):
    """Return the MFCCs with deltas and delta-deltas for a audio file."""
    audio = Audio.load(wav_fn)
    processor = PlpProcessor(sample_rate=audio.sample_rate, window_type="hamming",frame_length=0.025, frame_shift=0.01,
                              low_freq=0, vtln_low=60, vtln_high=7200, high_freq=audio.sample_rate/2)
    plp_static = processor.process(audio, vtln_warp=1.0)
    d_processor = DeltaPostProcessor(order=2)
    plp_deltas = d_processor.process(plp_static)
    features = np.float64(plp_deltas._to_dict()["data"])
    if norm == "cmvn":
        features = (features - np.mean(features, axis=0)) / np.std(features, axis=0)

    return features