选题自(数字语音处理理论及应用) 参数选用: 宽带声谱图如下: 在宽带声谱图中,可以看出时间分辨率很好,频率分辨率较低,不能很好反映声音的纹理特性,反映了频谱的时变特性,能很好分辨出共振峰的大致位置,但分辨不清谐波结构。
窗函数:汉明窗
宽带声谱窗长:5ms
宽带声谱FFT长度:1024
窄带声谱窗长:50ms
窄带声谱FFT长度:1024
使用对数幅度
声谱图为彩色
代码部分
import matplotlib.pyplot as plt #画图用 import librosa.core as lc #计算stft使用 import numpy as np #使用了其中的一些工具函数 import librosa.display #画声谱图用 from scipy.io import wavfile #获取wav文件的采样率 path = "/Users/mine/Desktop/wavefiles/s5.wav" fs, y_ = wavfile.read(path) #读取文件的采样率 fs = fs n_fft = 1024 #FFT长度 y, sr = librosa.load(path, sr=fs) #获取宽带声谱图 mag = np.abs(lc.stft(y, n_fft=n_fft, hop_length=10, win_length=40, window='hamming')) #进行短时傅里叶变换,并获取幅度 D = librosa.amplitude_to_db(mag, ref=np.max) #幅度转换为db单位 librosa.display.specshow(D, sr=fs, hop_length=10, x_axis='s', y_axis='linear') #画声谱图 plt.colorbar(format='%+2.0f dB') plt.title('broadband spectrogram') plt.savefig('broader.png') plt.show() #获取窄带声谱图 mag1 = np.abs(lc.stft(y, n_fft=n_fft, hop_length=100, win_length=400, window='hamming')) mag1_log = 20*np.log(mag1) D1 = librosa.amplitude_to_db(mag1, ref=np.max) librosa.display.specshow(D1, sr=fs, hop_length=100, x_axis='s', y_axis='linear') plt.colorbar(format='%+2.0f dB') plt.title('narrowband spectrogram') plt.savefig('narrowband.png') plt.show()
结果以及分析
窄带声谱图如下
结果分析:
声谱图也即是语音短时傅里叶变换的幅度画出的2D图,
宽带声谱图参数:
FFT长度:1024
声谱窗长:5ms(8k采样率时设置为40)
窗移:(8k采样率时设置为10)
窄带声谱图参数:
FFT长度:1024
声谱窗长:50ms(8k采样率时设置为400)
窗移:(8k采样率时设置为100)
在窄带声谱图中可以观察到有清楚的谐波结构,而且频率分辨率非常好,可以清楚地看到各音阶出现的时刻,以及各时刻对应频率处的能量强弱,但是时间上的分辨率不太理想,因为频率分辨率太过精细,因而不能很好体现出共振峰的大致位置,即反映不出基波的变化特性。
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算