def _get_spectrogram(self, **kwargs):
NFFT = int(self.sound().framerate * self.windowLength())
noverlap = kwargs.get("noverlap", int(NFFT / 2))
data, ybins, xbins, im = self.ax_spectrogram.specgram(
self.sound().astype(np.int32),
NFFT=NFFT,
Fs=self.sound().framerate,
noverlap=noverlap,
window=signal.gaussian(M=NFFT, std=noverlap))
self._extent = [xbins.min(), xbins.max(), ybins.min(), ybins.max()]
self._spectrogram = self.transform(data)
评论列表
文章目录