Unverified Commit 4b411030 authored by Manoj Plakal's avatar Manoj Plakal Committed by GitHub
Browse files

Add sanity checks to mel computation.

Clamp the requested frequency range to [0, Nyquist].
parent d9f6b6f3
...@@ -153,9 +153,15 @@ def spectrogram_to_mel_matrix(num_mel_bins=20, ...@@ -153,9 +153,15 @@ def spectrogram_to_mel_matrix(num_mel_bins=20,
ValueError: if frequency edges are incorrectly ordered. ValueError: if frequency edges are incorrectly ordered.
""" """
nyquist_hertz = audio_sample_rate / 2. nyquist_hertz = audio_sample_rate / 2.
if upper_edge_hertz > nyquist_hertz:
raise ValueError("upper_edge_hertz %.1f is greater than Nyquist %.1f" %
(upper_edge_hertz, nyquist_hertz))
if lower_edge_hertz >= upper_edge_hertz: if lower_edge_hertz >= upper_edge_hertz:
raise ValueError("lower_edge_hertz %.1f >= upper_edge_hertz %.1f" % raise ValueError("lower_edge_hertz %.1f >= upper_edge_hertz %.1f" %
(lower_edge_hertz, upper_edge_hertz)) (lower_edge_hertz, upper_edge_hertz))
if upper_edge_hertz > nyquist_hertz:
raise ValueError("upper_edge_hertz %.1f is greater than Nyquist %.1f" %
(upper_edge_hertz, nyquist_hertz))
spectrogram_bins_hertz = np.linspace(0.0, nyquist_hertz, num_spectrogram_bins) spectrogram_bins_hertz = np.linspace(0.0, nyquist_hertz, num_spectrogram_bins)
spectrogram_bins_mel = hertz_to_mel(spectrogram_bins_hertz) spectrogram_bins_mel = hertz_to_mel(spectrogram_bins_hertz)
# The i'th mel band (starting from i=1) has center frequency # The i'th mel band (starting from i=1) has center frequency
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment