實(shí)驗(yàn)結(jié)果
重低音效果處理結(jié)果圖:

實(shí)驗(yàn)要求
(1)利用 NI 公司的 myDAQ“書包實(shí)驗(yàn)室”硬件和 LabVIEW 軟件平臺(tái),采集語音 信號(hào)或從網(wǎng)絡(luò)上下載數(shù)字語音信號(hào),得到一段語音數(shù)字信號(hào); (2)設(shè)計(jì)適當(dāng)?shù)奶幚硭惴ǎ瑢?duì)數(shù)字語音信號(hào)進(jìn)行數(shù)字處理,已達(dá)到對(duì)語音信號(hào)進(jìn) 行快速、慢速、倒序、拼接等回放的效果。采用 LabVIEW 或 MATLAB 軟件平臺(tái)處 理語音信號(hào),并利用 myDAQ 的 D/A 模擬輸出端口,外接音響設(shè)備驗(yàn)證處理結(jié) 果; (3)對(duì)語音信號(hào)進(jìn)行數(shù)字低通和高通濾波處理,分別提取語音信號(hào)的低頻和高頻 分量。提出濾波器的設(shè)計(jì)指標(biāo),并設(shè)計(jì)數(shù)字低通和高通濾波器。采用 LabVIEW 或 MATLAB 軟件平臺(tái),對(duì)語音信號(hào)分別進(jìn)行低通、高通濾波和低音加重處理,并利用 myDAQ 的 D/A 模擬輸出端口,外接音響設(shè)備驗(yàn)證處理后的低音、高音和重低音效 果。
實(shí)驗(yàn)分析
傅里葉變換fft函數(shù)那里縱坐標(biāo)取值有些失真,有時(shí)間仔細(xì)研究fft函數(shù),橫坐標(biāo)沒問題。最后實(shí)現(xiàn)對(duì)高頻低頻的分開并且加重低頻分量權(quán)重實(shí)現(xiàn)matlab重低音處理音頻。
實(shí)驗(yàn)代碼
clear all;close all;clc
[y,fs]=audioread('[SHANA]張學(xué)友 _ 梅艷芳 - 相愛很難 .wav');%聲音
讀取
% sound(y,fs); %聲音回放 handles.y1=y;%y1 為原聲
handles.Fs=fs;%采樣頻率 %
%時(shí)域波形圖
ft=y(:,1);%讀取一個(gè)聲道的音頻
len=length(y); t=(0:len-1)/fs;%時(shí)間序列
%原始信號(hào)時(shí)域圖
figure(1);
plot(t,ft);
title('time');
xlabel('time(s)');
ylabel('amplitude');
%頻域波形圖
plen=len/32;%改成 1 就是整個(gè)圖譜,這里只看前一部分
yf=fft(y,len);
yff=yf.*conj(yf)/len;
tf=(0:len-1)*fs/len;
figure(2);
plot(tf(1:plen),yff(1:plen));
title('fft');
xlabel('Hz');
ylabel('amplitude');
%
% %加速
% fs1=handles.Fs;
% Y1=handles.y1;
% % sound(Y1,2*fs1);
%
%
% %慢放
% fs2=handles.Fs;
% Y2=handles.y1;
% Y2=Y2(:,1);
% % sound(Y2,0.5*fs);
%
% % 倒放
% fs3=handles.Fs;
% y3=handles.y1;
% M=length(y3):-1:1;
% N = 1:1:length(y3);
% y4=y3(M);
% sound(y4,fs);%反播 %
% %拼接
% y5 = y(N)
% Z = [y4,y5]
% % sound(Z,fs);
%%低通濾波
wp = 2*pi*300,ws = 2*pi*400;Rp = 2;As = 30;
[N,wc] = cheb1ord(wp,ws,Rp,As,'s');%計(jì)算濾波器階數(shù)N和3dB截止頻
率
[B,A] = cheby1(N,Rp,wc,'s');%計(jì)算濾波器系統(tǒng)函數(shù)分子分母多項(xiàng)式系數(shù)
[Bz,Az] = impinvar(B,A,fs);%脈沖響應(yīng)不變法,這里 fs 是個(gè)高能坑??? x=filter(Bz,Az,y);
% sound(x,fs) %時(shí)域波形圖
ft=x(:,1);%讀取一個(gè)聲道的音頻 len=length(x); t=(0:len-1)/fs;%時(shí)間序列
%原始信號(hào)時(shí)域圖
figure(3);
plot(t,ft);
title('time');
xlabel('time(s)');
ylabel('amplitude');
%頻域波形圖
plen=len/32;%改成 1 就是整個(gè)圖譜,這里只看前一部分 yf=fft(x,len);
yff=yf.*conj(yf)/len;
tf=(0:len-1)*fs/len;
figure(4);
plot(tf(1:plen),yff(1:plen));
title('fft');
xlabel('Hz');
ylabel('amplitude');
%高通濾波
wpz=300/2000;wsz=600/2000;Rp = 5;As = 30;
[Nd,wdc] = cheb1ord(wpz,wsz,Rp,As);%計(jì)算濾波器階數(shù)N和3dB截止頻 率
[BHz,AHz] = cheby1(Nd,Rp,wdc,'high');%計(jì)算濾波器系統(tǒng)函數(shù)分子分母 多項(xiàng)式系數(shù)
xx=filter(BHz,AHz,y);
% sound(xx,fs)
% 時(shí)域波形圖
ft=xx(:,1);%讀取一個(gè)聲道的音頻 len=length(xx); t=(0:len-1)/fs;%時(shí)間序列
% 原始信號(hào)時(shí)域圖
figure(5);
plot(t,ft);
title('time');
xlabel('time(s)');
ylabel('amplitude');
% 頻域波形圖
plen=len/32;%改成 1 就是整個(gè)圖譜,這里只看前一部分
yf=fft(xx,len);
yff=yf.*conj(yf)/len;
tf=(0:len-1)*fs/len;
figure(6);
plot(tf(1:plen),yff(1:plen));
title('fft');
xlabel('Hz');
ylabel('amplitude');
%%重低音效果
% xx=filter([1,-0.9575],1,x); %預(yù)加重濾波器
xxx = 5*x + y;%加個(gè)系數(shù)增益 % sound(xxx,fs)
%時(shí)域波形圖
ft=xxx(:,1);%讀取一個(gè)聲道的音頻 len=length(xxx); t=(0:len-1)/fs;%時(shí)間序列
%原始信號(hào)時(shí)域圖
figure(7);
plot(t,ft);
title('time');
xlabel('time(s)');
ylabel('amplitude');
%頻域波形圖
plen=len/32;%改成 1 就是整個(gè)圖譜,這里只看前一部分
yf=fft(xxx,len);
yff=yf.*conj(yf)/len;
tf=(0:len-1)*fs/len;
figure(8);
plot(tf(1:plen),yff(1:plen));
title('fft');
xlabel('Hz');
ylabel('amplitude');