specgram.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:chainer-speech-recognition 作者: musyoku 项目源码 文件源码
def _plot_features(out_dir, signal, sampling_rate, logmel, delta, delta_delta, specgram, filename):
    try:
        os.makedirs(out_dir)
    except:
        pass

    sampling_interval = 1.0 / sampling_rate
    times = np.arange(len(signal)) * sampling_interval
    pylab.clf()
    plt.rcParams['font.size'] = 18
    pylab.figure(figsize=(len(signal) / 2000, 16)) 

    ax1 = pylab.subplot(511)
    pylab.plot(times, signal)
    pylab.title("Waveform")
    pylab.xlabel("Time [sec]")
    pylab.ylabel("Amplitude")
    pylab.xlim([0, len(signal) * sampling_interval])

    ax2 = pylab.subplot(512)
    specgram = np.log(specgram)
    pylab.pcolormesh(np.arange(0, specgram.shape[0]), np.arange(0, specgram.shape[1]) * 8000 / specgram.shape[1], specgram.T, cmap=pylab.get_cmap("jet"))
    pylab.title("Spectrogram")
    pylab.xlabel("Time [sec]")
    pylab.ylabel("Frequency [Hz]")
    pylab.colorbar()

    ax3 = pylab.subplot(513)
    pylab.pcolormesh(np.arange(0, logmel.shape[0]), np.arange(1, 41), logmel.T, cmap=pylab.get_cmap("jet"))
    pylab.title("Log mel filter bank features")
    pylab.xlabel("Frame")
    pylab.ylabel("Filter number")
    pylab.colorbar()

    ax4 = pylab.subplot(514)
    pylab.pcolormesh(np.arange(0, delta.shape[0]), np.arange(1, 41), delta.T, cmap=pylab.get_cmap("jet"))
    pylab.title("Deltas")
    pylab.xlabel("Frame")
    pylab.ylabel("Filter number")
    pylab.colorbar()

    ax5 = pylab.subplot(515)
    pylab.pcolormesh(np.arange(0, delta_delta.shape[0]), np.arange(1, 41), delta_delta.T, cmap=pylab.get_cmap("jet"))
    pylab.title("Delta-deltas")
    pylab.xlabel("Frame")
    pylab.ylabel("Filter number")
    pylab.colorbar()

    pylab.tight_layout()
    pylab.savefig(os.path.join(out_dir, filename), bbox_inches="tight")
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号