最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【語音增強】基于 iir帶阻濾波器語音增強matlab源碼

2021-08-21 00:16 作者:Matlab工程師  | 我要投稿

?一、簡介

語音增強是指當語音信號被各種各樣的噪聲干擾、甚至淹沒后,從噪聲背景中提取有用的語音信號,抑制、降低噪聲干擾的技術(shù)。一句話,從含噪語音中提取盡可能純凈的原始語音。
實際語音遇到的干擾可以分以下幾類:①周期性噪聲,例如電氣干擾,發(fā)動機旋轉(zhuǎn)部分引起的干擾等,這類干擾表現(xiàn)為一些離散的窄頻峰;②沖激噪聲,例如-些電火花、放電產(chǎn)生的噪聲干擾;③寬帶噪聲,這是指高斯噪聲或白噪聲一類的噪聲,它們的特點是頻帶寬,幾乎覆蓋整個語音頻帶;④語音干擾,例如話筒中拾入其它人的說話,或者傳輸時遇到串音引起的語音。對付上述各種不同類型的噪聲,增強技術(shù)亦是不一樣的。
語音增強的一個主要目標是從帶噪語音信號中提取盡可能純凈的原始語音。然而,由于干擾通常都是隨機的,從帶噪語音中提取完全純凈的語音幾乎不可能。在這種情況下,語音增強的目的主要有兩個:一是改進語音質(zhì)量,消除背景噪音,使聽者樂于接受,不感覺疲勞,這是一種主觀度量;二是,這是一種客觀度量。這兩個目的往往不能兼得。目前有一些對低信噪比帶噪語音進行語音增強的方法,可以顯著地降低背景噪聲,改進語音質(zhì)量,但并不能提高語音的可懂度,甚至略有下降。
語音增強不但與語音信號數(shù)字處理理論有關(guān),而且涉及到人的聽覺感知和語音學范疇。再者,噪聲的來源眾多,因應(yīng)用場合而異,它們的特性也各不相同。所以必須針對不同噪聲,采用不同的語音增強對策。某些語音增強算法在實際應(yīng)用中己經(jīng)證明是有效的,它們大體上可分為四類:噪聲對消法、諧波增強法、基于參數(shù)估計的語音再合成法和基于語音短時譜估計的增強算法。

二、源代碼

%% P2_2_1 語音信號采樣,畫出時域和頻域的圖 [y,fs] = audioread('myname.wav');% y為采樣數(shù)據(jù);fs為采樣頻率 sound(y,fs); ? ? ? ? ?% 播放語言信號myname N = length(y); ? ? ? ?% 信號的長度 t = (0:N-1)/fs; ? ? ? % 時域范圍 figure(1);subplot(211);plot(t,y); title('音頻時域圖');%音頻信號時域圖 xlabel('Time');ylabel('Amplitude'); Y = fft(y,N); ? ? ? ? ? % FFT分析頻譜 df = fs/length(Y); ? ? ?% 計算譜線間隔 f = 0:df:(fs/2-df); ? ? % 頻譜范圍,截取前半段(抽樣頻率高于最大頻率的2倍) Yf = abs(Y); ? ? ? ? ? ?% 幅度響應(yīng) Yf = Yf(1:length(Yf)/2);% 由于幅度響應(yīng)是偶函數(shù),所以截取一半 % 畫圖 figure(1); subplot(212);axis([0,fs/5,0,5000]);plot(f,Yf);title('音頻頻譜圖'); %% P2_2_2 加入噪聲之后的時域和頻域圖 y = y(:,1); y = y'; nt = randn(1,length(y)); ? ? ? ? ? ?% 生成高斯噪聲 %設(shè)計BPF得到4KHZ到5KHZ的噪音 fp1 = 4000;fp2 = 5000; ? ? ? ? ? ? ?% BPF指標 WP1 = 2*pi*fp1/fs;WP2 = 2*pi*fp2/fs;% 將模擬指標轉(zhuǎn)換為數(shù)字指標 wn1 = [WP1 WP2]; b = fir1(34,wn1,'bandpass'); yn = filter(b,1,nt); ? % 噪聲的信號 s = y+yn; ? ? ? ? ? ? ?% 將帶限噪音和原來的音頻混合 %sound(s,fs); S = fft(s,N); Sf = abs(S); ? ? ? ? ? ? ? ?% 幅度 DF = fs/length(S); ? ? ? ? ?% 計算譜線間隔 f = 0:DF:(fs/2-DF); ? ? ? ? % 頻譜范圍,截取前半段(抽樣頻率高于最大頻率的2倍) Sf = Sf(1:length(Sf)/2); ? ?% 由于幅度響應(yīng)是偶函數(shù),所以截取一半 % 畫圖 figure(2); subplot(211);plot(t,s); title('加入噪聲的音頻時域圖'); xlabel('Time');ylabel('Amplitude');grid on; subplot(212);axis([0,fs/5,0,10000]);plot(f,Sf);title('加入噪聲的音頻頻譜圖'); xlabel('Frequency');ylabel('Amplitude');grid on; %% P2_2_3 設(shè)計濾波器,并濾波 %設(shè)計帶阻濾波器濾除噪聲 FP1 = 3500;FS1 = 3600;FP2 = 5600;FS2 = 5500; rp2 = 1;rs2 = 40; FP = [FP1 FP2];FS = [FS1 FS2]; wp = 2*pi*FP/fs; ? ? ? ? ? ? ? ? ? ?% 將模擬指標轉(zhuǎn)換為數(shù)字指標 ws = 2*pi*FS/fs; ? ? ? ? ? ? ? ? ? ?% 用切比雪夫IIR濾波器 [n,wn] = cheb1ord(wp,ws,rp2,rs2); ? % 濾波器的最小階數(shù)為n,wn為系統(tǒng)頻帶 [bz,az] = cheby1(n,rp2,wp,'stop'); sound(yfilt,fs); ? ? ? ? ? ? ? ? ? ?% 播放濾波后的語音信號 Yfil = abs(fft(yfilt,N)); Yf = Yfil(1:length(Yfil)/2);

三、運行結(jié)果

在這里插入圖片描述


在這里插入圖片描述


在這里插入圖片描述


【語音增強】基于 iir帶阻濾波器語音增強matlab源碼的評論 (共 條)

分享到微博請遵守國家法律
中方县| 贡山| 廊坊市| 福贡县| 加查县| 田东县| 南召县| 霍山县| 泰来县| 昌黎县| 赤水市| 商丘市| 阿拉善盟| 临泽县| 辰溪县| 铁力市| 温宿县| 岳阳县| 辉县市| 专栏| 布尔津县| 隆回县| 安平县| 柳江县| 黑山县| 乃东县| 石泉县| 界首市| 香格里拉县| 榕江县| 蓝田县| 北安市| 乌拉特中旗| 佛坪县| 宁城县| 广昌县| 道孚县| 民和| 鄂伦春自治旗| 麻栗坡县| 南部县|