📄 untitled.m
字号:
frmsize = 320; % 设置贞大小
[x,fs,nbits] = wavread('4.wav'); % 读取语音文件
x = filter([1 -0.95],[1],x); % 高频预加重,抵消频谱倾斜
n = length(x);
frmcnt = floor(n/frmsize);
x = reshape(x(1:frmsize*frmcnt),frmsize,frmcnt); % 分贞
figure(1);
xFFT = abs(fft(x)); % 福利叶谱
xFFT = xFFT(1:frmsize/2,1:frmcnt); % 奈奎斯特频率以内是无效的
xFFTdB = 20*log10(xFFT); % 换算成分贝
xFFTdB(xFFTdB>+20) = +20; % 能量太高的截断
xFFTdB(xFFTdB<-40) = -40; % 能量太低的截断
xFFTdB = (xFFTdB+40); % 能量整理到 [0,60] 之间,当然你可以整理到[0,255]范围
subplot(2,1,1);plot(x(1:frmsize*frmcnt)); title('sound'); % 画波形
subplot(2,1,2);image(flipud(xFFTdB)); % 画语谱图
%for i=1:frmcnt
y=x((1-1)*frmsize+1:1*frmsize);
[y1,y2]=frame(y);
pitch_marks = find_pmark(y)
%end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -