audio_image.py 文件源码

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

项目:jrm_ssl 作者: Fhrozen 项目源码 文件源码
def wav_to_image(filename, wlen, mindata, maxdata, save=False, name_save=None, ):
    h = wlen/4
    K = np.sum(hamming(wlen, False))/wlen

    nfft = int(2**(np.ceil(np.log2(wlen))))
    Fs, data_seq = wavfile.read(filename) 
    raw_data = data_seq.astype('float32')
    max_dt = np.amax(np.absolute(raw_data))
    raw_data = raw_data/max_dt
    stft_data,_,_ = STFT(raw_data,wlen,h,nfft,Fs)
    s = abs(stft_data)/wlen/K;
    if np.fmod(nfft,2):
        s[1:,:] *=2
    else:
        s[1:-2] *=2        
    data_temp = 20*np.log10(s + 10**-6)
    outdata = data_temp.transpose()

    """Scaling"""
    mindata = np.amin(outdata, axis=0, keepdims = True)
    maxdata = np.amax(outdata, axis=0, keepdims = True)
    outdata -=mindata
    outdata /=(maxdata-mindata)
    outdata *=0.8
    outdata +=0.1
    figmin = np.zeros((5,outdata.shape[1]))
    figmax = np.ones((5,outdata.shape[1]))
    outdata = np.concatenate((outdata,figmin,figmax), axis=0)

    dpi = 96
    a = float(outdata.shape[0])/dpi
    b = float(outdata.shape[1])/dpi

    f = plt.figure(figsize=(b,a), dpi=dpi)
    f.figimage(outdata)
    if save:
        f.savefig(name_save, dpi=f.dpi)
    return f
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号