[音声ノイズ除去] matlabスペクトル減算音声ノイズ除去に基づく[Matlabソースコード571を含む]

1.はじめに

音声ノイズ除去で最も一般的に使用される方法はスペクトル減算です。スペクトル減算は、以前に開発された、より成熟した音声ノイズ除去アルゴリズムです。このアルゴリズムは、加法ノイズが音声に関連しないという特性を使用します。ノイズは統計的に安定していると想定されます。の前提として、音声ギャップなしで測定されたノイズスペクトルの推定値を使用して、スペクトルを音声中のノイズに置き換え、ノイズの多い音声スペクトルからそれを差し引いて、音声スペクトルの推定値を取得します。スペクトル減算は、アルゴリズムが単純で計算量が少ないという特徴があり、高速処理に便利で、出力信号対雑音比が高くなることが多いため、広く使用されています。このアルゴリズムの古典的な形式の欠点は、処理後に特定のリズムの変動と音楽に似た音を伴う「音楽ノイズ」を生成することです。

周波数領域に変換した後、これらのピークはフレームごとに周波数がランダムに変化するマルチ周波数トーンのように聞こえます。この状況は、無声セグメントで特に顕著です。半波整流によって引き起こされるこの種の「ノイズ」は「」と呼ばれます。音楽「ノイズ」。基本的に、通常音楽ノイズを引き起こす主な理由は次のとおりです。
(1)スペクトル減算アルゴリズムの負の部分が非線形に処理される
(2)ノイズスペクトルが不正確である
(3)抑制関数(ゲイン関数)が比較的高い。大きな変動
1の原則
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

第二に、ソースコード

clear all; clc; close all;

[xx, fs] = wavread('C5_2_y.wav');           % 读入数据文件
xx=xx-mean(xx);                         % 消除直流分量
x=xx/max(abs(xx));                      % 幅值归一化

IS=0.25;                                % 设置前导无话段长度
wlen=200;                               % 设置帧长为25ms
inc=80;                                 % 设置帧移为10ms
SNR=5;                                  % 设置信噪比SNR
N=length(x);                            % 信号长度
time=(0:N-1)/fs;                        % 设置时间

signal=awgn(x,SNR,'measured','db');               % 叠加噪声
snr1=SNR_Calc(x,signal);            % 计算初始信噪比
NIS=fix((IS*fs-wlen)/inc +1);           % 求前导无话段帧数

a=4; b=0.001;                           % 设置参数a和b
output=SpectralSub(signal,wlen,inc,NIS,a,b);% 谱减
snr2=SNR_Calc(x,output);            % 计算谱减后的信噪比
snr=snr2-snr1;
fprintf('snr1=%5.4f   snr2=%5.4f   snr=%5.4f\n',snr1,snr2,snr);
unction frameout=enframe(x,win,inc)

nx=length(x(:));            % 取数据长度
nwin=length(win);           % 取窗长
if (nwin == 1)              % 判断窗长是否为1,若为1,即表示没有设窗函数
   len = win;               % 是,帧长=win
else
   len = nwin;              % 否,帧长=窗长
end
if (nargin < 3)             % 如果只有两个参数,设帧inc=帧长
   inc = len;
end
nf = fix((nx-len+inc)/inc); % 计算帧数
frameout=zeros(nf,len);            % 初始化
indf= inc*(0:(nf-1)).';     % 设置每帧在x中的位移量位置
inds = (1:len);             % 每帧数据对应1:len
frameout(:) = x(indf(:,ones(1,len))+inds(ones(nf,1),:));   % 对数据分帧
if (nwin > 1)               % 若参数中包括窗函数,把每帧乘以窗函数
    w = win(:)';            % 把win转成行数据
    function frameout=filpframe(x,win,inc)

[nf,len]=size(x);
nx=(nf-1) *inc+len;                 %原信号长度
frameout=zeros(nx,1);
nwin=length(win);                   % 取窗长
if (nwin ~= 1)                           % 判断窗长是否为1,若为1,即表示没有设窗函数
    winx=repmat(win',nf,1);
    x=x./winx;                          % 除去加窗的影响
    x(find(isinf(x)))=0;                %去除除0得到的Inf
end

3、実行中の結果

ここに画像の説明を挿入します

四、備考

完全なコードまたは書き込み追加QQ1564658423過去のレビュー
>>>>>>
[機能の抽出] matlabウェーブレット変換に基づくオーディオ透かしの埋め込みと抽出[Matlabソースコード053を含む]
[音声処理] matlabGUIに基づく音声信号処理[Matlabを含むソースコードの問題290]
[音声取得] matlabGUI音声信号収集に基づく[Matlabソースコード291を含む]
[音声変調] matlabGUI音声振幅変調に基づく[Matlabソースコード292を含む]
[音声合成] matlabGUI音声に基づく合成[Matlabソースコードの問題293を含む]
[音声暗号化] matlabGUIに基づく音声信号の暗号化と復号化[Matlabソースコード295を使用]
[音声拡張] Matlabウェーブレット変換ベースの音声拡張[Matlabソースコード296]
[音声認識] matlabGUI音声ベース周波数認識に基づく[Matlabソースコード294を含む]
[音声拡張] Matlab GUIWienerフィルタリングベースの音声拡張[Matlabソースコード298を含む]
[音声処理] matlabGUI音声信号処理に基づく[Matlabソースコード299を含む]
[信号処理] Matlab音声信号スペクトルアナライザーに基づく[Matlabソースコード325を含む]
[変調信号] matlabGUIに基づくデジタル変調信号シミュレーション[Matlabソースコード336を含む]
[感情認識] matlabBPニューラルに基づく音声感情認識ネットワーク[Matlabソースコード349の​​問題を含む]
[音声ステガノグラフィー] Matlabウェーブレット変換に基づく定量化されたオーディオデジタルウォーターマーキング[Matlabソースコードの問題351を含む]
[特徴抽出] matlabオーディオ透かしの埋め込みと抽出に基づく[Matlabソースコード350期間を含む]
[音声ノイズ除去] matlabローパスと適応フィルターノイズ除去に
基づく[ Matlabソースコード352期間を含む] [感情認識] matlabGUIに基づく音声感情分類認識[Matlabソースコード354期間を含む]
[基本処理] Matlabベースの音声信号前処理[Matlabソースコード364期間を含む]
[音声認識] Matlabフーリエ変換0-9デジタル音声認識[Matlabソースコード384期間を含む]
[音声認識] matlab GUI DTWに基づく0〜9桁の音声認識[Matlabソースコード385を含む]
[音声再生] Matlab GUIMP3設計[Matlabソースコード425を含む]
[音声処理]人間の耳のマスキングに基づく音声強調アルゴリズム効果ノイズ比計算[Matlabソースコード428を含む]
[音声ノイズ除去] matlabスペクトル減算ノイズ除去に基づく[Matlabソースコード429を含む]
[音声認識] matlab駆動運動量項目に基づくBPニューラルネットワーク音声認識[Matlabソースコード430を含む]
[音声ステガノグラフィ] matlabLSB音声隠蔽に基づく[Matlabソースコード431を含む]
[音声認識] matlabの男性と女性の音声認識に基づく[Matlabソースコード452を含む]
[音声処理] matlab音声ノイズの追加とノイズリダクション処理に基づく[MatlabソースコードIssue473を含む]
[音声ノイズ除去] matlab最小二乗(LMS)適応フィルターに基づく[ Matlabソースコード481を含む]
[音声強調] matlabスペクトル減算、最小平均二乗、およびWienerフィルター音声強調に基づく[Matlabを含むソースコード482期間】
[通信] matlab GUIデジタル周波数帯域(ASK、PSK、QAM)変調シミュレーションに
基づく[ Matlabソースコード483を含む] [信号処理] matlabECG信号処理に基づく[Matlabソースコード484を含む]
[音声ブロードキャスト] matlabに基づく音声ブロードキャスト[Matlabソースコード507を含む]
[信号処理] matlabウェーブレット変換EEG信号特徴抽出に
基づく[ Matlabソースコード511を含む] [音声処理] matlab GUIデュアルトーンマルチ周波数(DTMF)信号検出に基づく[含むMatlabソースコード512】
【音声ステガノグラフィー】matlabLSBに基づいて音声信号のデジタル透かしを実現【Matlabソースコード513を含む】
【音声強調】matlab一致フィルターに基づく音声認識【Matlabソースコード514を含む】
【音声処理】 matlabGUI音声に基づく周波数ドメインスペクトログラム分析[Matlabソースコード527を含む]
[音声ノイズ除去] matlab LMSに基づく、RLSアルゴリズム音声ノイズ除去[Matlabソースコード528を含む]
[音声ノイズ除去] matlabLMSスペクトル減算音声ノイズ除去に基づく[含むMatlabソースコードの問題529]
[音声ノイズ除去] matlabソフトしきい値、ハードしきい値、妥協しきい値に基づく音声ノイズ除去[Matlabソースコード530を含む]
[音声認識] matlab特定の人の音声認識識別に基づく[Matlabソースコード534を含む]
[音声ノイズ除去] matlabウェーブレットソフトしきい値に基づく音声ノイズリダクション[Matlabソースコード531を含む]
[音声ノイズ除去] matlabウェーブレットハードしきい値に基づく音声ノイズリダクション[Matlabソースコード532を含む]
[音声認識] matlabMFCCおよびSVM固有に基づく人間の性別認識[Matlabソースコード533を含む]
[音声認識] MFCCに基づくGMM音声認識[Matlabソースコード535を含む]
[音声認識] matlabVQに基づく特定の人の孤立した単語音声認識[Matlabソースコード536を含む]
[音声認識] matlabGUIに基づく音声認識[含むMatlab]ソースコードの問題537]
[取得と読み取り] matlab音声収集と読み取りに基づく[Matlabソースコード538を含む]
[音声編集] matlab音声編集に基づく[Matlabソースコード539を含む]
[音声モデル] matlab音声に基づく信号数学モデル[Matlabソースコード540を含む]
[音声の健全性] matlabの音声強度とラウドネスに基づく[Matlabソースコード541を含む]
[感情認識] matlabK最近傍分類アルゴリズムに基づく音声感情認識[Matlabソースコード542を含む]
[感情認識] matlabサポートベクトルマシン(SVM)に基づく音声感情認識[Matlabソースコード543を含む]
[感情認識]ニューラルネットワークベースの音声感情認識[Matlabソースコード544を含む]
[音源定位]音源定位ベースmatlabの異なる空間スペクトル推定についてアルゴリズムの比較[Matlabソースコード545を含む]
[音源定位]異なる信号対雑音比で信号を受信するmatlabマイクに基づく[Matlabソースコード546を含む]
[音源位置]部屋のインパルス応答に基づくmatlabシングル音源とデュアルマイク[Matlabソースコード547を含む]
[音源定位] Matlab一般化相互相関ベースの音源位置[Matlabソースコード548を含む]
[音源位置] Matlabアレイマニホールドマトリックスベースの信号表示[Matlabソースコード549を含む]
[機能抽出] matlabformant推定に基づく[Matlabソースコード550期間を含む]
[特徴抽出] matlabピッチ周期推定に基づく[Matlabソースコード551を含む]
[特徴抽出] matlab音声エンドポイント検出に基づく[Matlabソースコード552を含む]
[音声コーディング] matlabADPCMコーデックに基づく[Matlabソースコード553を含む]
[音声エンコード] matlabLPCエンコードおよびデコードに基づく[Matlabソースコード期間554を含む]
[音声エンコード] matlabPCMエンコードおよびデコードに基づく[Matlabソースコード期間555を含む]
[音声分析] matlabセプストラム分析およびMFCC係数に基づく計算[Matlabソースコード期間556を含む]
[音声分析] matlab線形予測係数比較に基づく[Matlabソースコード557を含む]
[音声分析] matlab音声短時間周波数ドメイン分析に基づく[Matlabソースコード558を含む]
[音声分析] matlab音声短時間時間領域分析に
基づく[ Matlabソースコード問題559を含む] [音声分析] matlab音声ラインスペクトルペア変換に基づく[Matlabソースコード560を含む]
[音声合成] matlabに基づく信号フレーミングと復元比例オーバーラップと加算[Matlabソースコード561を含む]
[音声合成] matlab線形予測フォーマント検出とピッチパラメーターに
基づく音声合成[ Matlabソースコード562を使用] [音声合成] matlab線形予測係数とピッチパラメーターに基づく[Matlabを使用ソースコード563]
[音声合成] matlab線形予測に基づく係数と予測誤差音声合成[Matlabソースコード564を含む]
[音声合成] Matlabベースの音声信号速度の変更[Matlabソースコード565を含む]
[音声合成] Matlab音声信号ベースのトーン変更[Matlabソースコード566を含む]
[音声合成] matlabオーバーラップストレージ法に基づく信号フレーミングと復元[Matlabソースコード567を含む]
[音声合成] matlabオーバーラップ加算法に基づく信号フレーミングと復元[Matlabソースコード568を含む]
[音声ノイズ除去]スペクトル減算音声の改善matlabに基づくノイズ除去[Matlabソースコード569期間を含む]
[音声ノイズ除去] matlabの基本的なウィーナーフィルターアルゴリズムに基づく音声ノイズ除去[Matlabソースコード570期間を含む]

おすすめ

転載: blog.csdn.net/TIQCmatlab/article/details/115003290