def combine_mel_sampling(
    samples, overlap_ms = 200, sample_rate = 16000, padded_ms = 50
):
    """
    To combine results from `mel_sampling`, output from melspectrogram generative model.

    Parameters
    ----------
    samples: List[np.array]
    overlap_ms: int, optional (default=200)
    sample_rate: int, optional (default=16000)

    Returns
    -------
    result: List[np.array]
    """
    n_overlap = int(sample_rate * (overlap_ms / 1000.0))
    n_padded = int(sample_rate * (padded_ms / 1000.0))
    results = []
    for no, sample in enumerate(samples):
        if no:
            sample = sample[n_overlap - n_padded :]
        results.append(sample[:-n_padded])
    return results