Exemple #1
0
             sr=sr,
             feature_type='signal',
             title='Clean Speech',
             subprocess=True)

##########################################################
# Filter the noisy speech
# ^^^^^^^^^^^^^^^^^^^^^^^

##########################################################
# Wiener Filter
# ~~~~~~~~~~~~~

##########################################################
# Let's filter with a Wiener filter:
noisy_wf, sr = sp.filtersignal(noisy, sr=sr, filter_type='wiener')  # default

##########################################################
ipd.Audio(noisy_wf, rate=sr)

##########################################################
sp.plotsound(noisy_wf,
             sr=sr,
             feature_type='signal',
             title='Noisy Speech: Wiener Filter',
             subprocess=True)

#################################################################
# Wiener Filter with Postfilter
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def test_filtersignal_bandsubtraction_simple_doesitrun_uselibrosa_False():
    signal, sr = sp.filtersignal(test_noisyfile, filter_type = 'bandsubtraction',
                                   use_scipy=True, remove_dc=False, control_vol = True)
    sig_expected, sr_expected = librosa.load(test_filtered_bandsub,sr=sr)
    assert np.allclose(signal, sig_expected)
    assert sr == sr_expected
Exemple #3
0
sp.feats.plot_vad(y_snr05,
                  sr=sr,
                  beg_end_clipped=True,
                  percent_overlap=percent_overlap,
                  win_size_ms=win_size_ms)

######################################################
clipped_samples, vad_matrix = sp.feats.get_samples_clipped(
    y_snr05, sr=sr, percent_overlap=percent_overlap, win_size_ms=win_size_ms)
sp.feats.plot(clipped_samples, sr=sr, feature_type='signal', subprocess=True)
ipd.Audio(clipped_samples, rate=sr)

######################################################
# Improves with Wiener filter and padding?
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
y_snr05_wf, sr = sp.filtersignal(y_snr05, sr=sr, apply_postfilter=True)

sp.feats.plot_vad(y_snr05_wf,
                  sr=sr,
                  beg_end_clipped=True,
                  percent_overlap=percent_overlap,
                  win_size_ms=win_size_ms,
                  extend_window_ms=300)

######################################################
clipped_samples, vad_matrix = sp.feats.get_samples_clipped(
    y_snr05_wf,
    sr=sr,
    percent_overlap=percent_overlap,
    win_size_ms=win_size_ms,
    extend_window_ms=300)
def test_filtersignal_wiener_posfilter_simple_doesitrun_uselibrosa_False():
    signal, sr = sp.filtersignal(test_noisyfile, filter_type = 'wiener_pf',
                                   use_scipy=True, remove_dc=False, control_vol = True)
    sig_expected, sr_expected = librosa.load(test_filtered_wiener_postfilter, sr=sr)
    assert np.allclose(signal, sig_expected)
    assert sr == sr_expected