亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ssubmmse.m

?? matlab的一個第三方語音信號處理工具箱
?? M
字號:
function [ss,zo]=ssubmmse(si,fsz,pp)
%SSUBMMSE performs speech enhancement using mmse estimate of spectral amplitude or log amplitude [SS,ZO]=(S,FSZ,P)
%
% Inputs:
%   si      input speech signal
%   fsz     sample frequency in Hz
%           Alternatively, the input state from a previous call (see below)
%   pp      algorithm parameters [optional]
%
% Outputs:
%   ss      output enhanced speech (length is rounded down to the nearest frame boundary)
%   zo      output state
%
% The algorithm operation is controlled by a small number of parameters:
%
%        pp.of          % overlap factor = (fft length)/(frame increment) [2]
%        pp.ti          % desired frame increment [0.016 seconds]
%        pp.ri          % set to 1 to round ti to the nearest power of 2 samples [0]
%        pp.ta          % Time const for smoothing SNR estimate [0.396 seconds]
%        pp.gx          % maximum posterior SNR as a power ratio [1000]
%        pp.xn          % minimum prior SNR [0]
%        pp.lg          % optimal estimate for log spectrum rather than spectrum [1]
%
% In addition it is possible to specify parameters for the noise estimation algorithm
% which implements reference [3] from which equation numbers are given in parentheses.
% They are as follows:
%
%        pp.taca      % (11): smoothing time constant for alpha_c [0.0449 seconds]
%        pp.tamax     % (3): max smoothing time constant [0.392 seconds]
%        pp.taminh    % (3): min smoothing time constant (upper limit) [0.0133 seconds]
%        pp.tpfall    % (12): time constant for P to fall [0.064 seconds]
%        pp.tbmax     % (20): max smoothing time constant [0.0717 seconds]
%        pp.qeqmin    % (23): minimum value of Qeq [2]
%        pp.qeqmax    % max value of Qeq per frame [14]
%        pp.av        % (23)+13 lines: fudge factor for bc calculation  [2.12]
%        pp.td        % time to take minimum over [1.536 seconds]
%        pp.nu        % number of subwindows to use [3]
%        pp.qith      % Q-inverse thresholds to select maximum noise slope [0.03 0.05 0.06 Inf ]
%        pp.nsmdb     % corresponding noise slope thresholds in dB/second   [47 31.4 15.7 4.1]
%
%
% If convenient, you can call specsub in chunks of arbitrary size. Thus the following are equivalent:
%
%                   (a) y=ssubmmse(s,fs);
%
%                   (b) [y1,z]=ssubmmse(s(1:1000),fs);
%                       [y2,z]=ssubmmse(s(1001:2000),z);
%                       y3=ssubmmse(s(2001:end),z);
%                       y=[y1; y2; y3];
%
% Note that in all cases the number of output samples will be less than the number of input samples if
% the input length is not an exact number of frames. In addition, if two output arguments
% are specified, the last partial frame samples will be retained for overlap adding
% with the output from the next call to specsub().
%
% Refs:
%    [1] Ephraim, Y. & Malah, D.
%        Speech enhancement using a minimum-mean square error short-time spectral amplitude estimator
%        IEEE Trans Acoustics Speech and Signal Processing, 32(6):1109-1121, Dec 1984
%    [2] Ephraim, Y. & Malah, D.
%        Speech enhancement using a minimum mean-square error log-spectral amplitude estimator
%        IEEE Trans Acoustics Speech and Signal Processing, 33(2):443-445, Apr 1985
%    [3] Rainer Martin.
%        Noise power spectral density estimation based on optimal smoothing and minimum statistics.
%        IEEE Trans. Speech and Audio Processing, 9(5):504-512, July 2001.

%      Copyright (C) Mike Brookes 2004
%      Version: $Id: ssubmmse.m,v 1.1 2008/05/27 20:36:28 dmb Exp $
%
%   VOICEBOX is a MATLAB toolbox for speech processing.
%   Home page: http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   This program is free software; you can redistribute it and/or modify
%   it under the terms of the GNU General Public License as published by
%   the Free Software Foundation; either version 2 of the License, or
%   (at your option) any later version.
%
%   This program is distributed in the hope that it will be useful,
%   but WITHOUT ANY WARRANTY; without even the implied warranty of
%   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%   GNU General Public License for more details.
%
%   You can obtain a copy of the GNU General Public License from
%   http://www.gnu.org/copyleft/gpl.html or by writing to
%   Free Software Foundation, Inc.,675 Mass Ave, Cambridge, MA 02139, USA.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if isstruct(fsz)
    fs=fsz.fs;
    qq=fsz.qq;
    qp=fsz.qp;
    ze=fsz.ze;
    s=zeros(length(fsz.si)+length(si(:)),1); % allocate space for speech
    s(1:length(fsz.si))=fsz.si;
    s(length(fsz.si)+1:end)=si(:);
else
    fs=fsz;     % sample frequency
    s=si(:);
    % default algorithm constants

    qq.of=2;   % overlap factor = (fft length)/(frame increment)
    qq.ti=16e-3;   % desired frame increment (16 ms)
    qq.ri=0;       % round ni to the nearest power of 2
    qq.ta=0.396;    % Time const for smoothing SNR estimate = -tinc/log(0.98) from [1]
    qq.gx=1000;     % maximum posterior SNR = 30dB
    qq.xn=0;        % minimum prior SNR = -Inf dB
    qq.lg=1;         % use log-domain estimator by default
    if nargin>=3 && ~isempty(pp)
        qp=pp;      % save for estnoisem call
        qqn=fieldnames(qq);
        for i=1:length(qqn)
            if isfield(pp,qqn{i})
                qq.(qqn{i})=pp.(qqn{i});
            end
        end
    else
        qp=struct;  % make an empty structure
    end
end
% derived algorithm constants
if qq.ri
    ni=pow2(nextpow2(ti*fs*sqrt(0.5)));
else
    ni=round(qq.ti*fs);    % frame increment in samples
end
tinc=ni/fs;          % true frame increment time
a=exp(-tinc/qq.ta); % SNR smoothing coefficient
gmax=qq.gx;           % max posterior SNR = 20 dB
kk=sqrt(2*pi);   % sqrt(8)*Gamma(1.5) - required constant
xn=qq.xn;           % floor for prior SNR, xi

% calculate power spectrum in frames

no=round(qq.of);                                   % integer overlap factor
nf=ni*no;           % fft length
w=sqrt(hamming(nf+1))'; w(end)=[]; % for now always use sqrt hamming window
w=w/sqrt(sum(w(1:ni:nf).^2));       % normalize to give overall gain of 1
y=enframe(s,w,ni);
yf=rfft(y,nf,2);
yp=yf.*conj(yf);        % power spectrum of input speech
[nr,nf2]=size(yp);              % number of frames
if isstruct(fsz)
    [dp,ze]=estnoisem(yp,ze);   % estimate the noise using minimum statistics
    ssv=fsz.ssv;
    xu=fsz.xu;                  % saved unsmoothed SNR
else
    [dp,ze]=estnoisem(yp,tinc,qp);   % estimate the noise using minimum statistics
    ssv=zeros(ni*(no-1),1);             % dummy saved overlap
    xu=1;               % dummy unsmoothed SNR from previous frame
end
if ~nr                                  % no data frames
    ss=[];
else
    gam=min(yp./dp,gmax);               % gamma = posterior SNR
    g=zeros(nr,nf2);   % create space for gain matrix
    if qq.lg            % use log domain estimator
        for i=1:nr
            gami=gam(i,:);
            xi=a*xu+(1-a)*max(gami-1,xn);
            xir=xi./(1+xi);
            gi=xir.*exp(0.5*expint(xir.*gami));
            g(i,:)=gi;                  % save gain for later
            xu=gami.*gi.^2;         % unsmoothed prior SNR
        end
    else
        for i=1:nr
            gami=gam(i,:);
            xi=a*xu+(1-a)*max(gami-1,xn);
            v=0.5*xi.*gami./(1+xi);     % note that this is 0.5*vk in [1]
            gi=(0.277+2*v)./gami; % accurate to 0.02 dB for v>0.5
            mv=v<0.5;
            if any(mv)
                vmv=v(mv);
                gi(mv)=kk*sqrt(vmv).*((0.5+vmv).*besseli(0,vmv)+vmv.*besseli(1,vmv))./(gami(mv).*exp(vmv));
            end
            g(i,:)=gi;                  % save gain for later
            xu=gami.*gi.^2;         % unsmoothed prior SNR
        end
    end
    se=(irfft((yf.*g).',nf).').*repmat(w,nr,1);   % inverse dft and apply output window
    ss=zeros(ni*(nr+no-1),no);                      % space for overlapped output speech
    ss(1:ni*(no-1),end)=ssv;
    for i=1:no
        nm=nf*(1+floor((nr-i)/no));  % number of samples in this set
        ss(1+(i-1)*ni:nm+(i-1)*ni,i)=reshape(se(i:no:nr,:)',nm,1);
    end
    ss=sum(ss,2);
end
if nargout>1
    if nr
        zo.ssv=ss(end-ni*(no-1)+1:end);    % save the output tail for next time
        ss(end-ni*(no-1)+1:end)=[];
    else
        zo.ssv=ssv;  %
    end
    zo.si=s(length(ss)+1:end);      % save the tail end of the input speech signal
    zo.fs=fs;                       % save sample frequency
    zo.qq=qq;                       % save loval parameters
    zo.qp=qp;                       % save estnoisem parameters
    zo.ze=ze;                       % save state of noise estimation
    zo.xu=xu;
end
if ~nargout && nr>0
    ttax=(1:nr)*tinc;
    ffax=(0:size(g,2)-1)*fs/nf/1000;    ax=zeros(4,1);
    ax(1)=subplot(223);
    imagesc(ttax,ffax,20*log10(g)');
    colorbar;
    axis('xy');
    title(sprintf('Filter Gain (dB): ta=%.2g',qq.ta));
    xlabel('Time (s)');
    ylabel('Frequency (kHz)');

    ax(2)=subplot(222);
    imagesc(ttax,ffax,10*log10(yp)');
    colorbar;
    axis('xy');
    title('Noisy Speech (dB)');
    xlabel('Time (s)');
    ylabel('Frequency (kHz)');

    ax(3)=subplot(224);
    imagesc(ttax,ffax,10*log10(yp.*g.^2)');
    colorbar;
    axis('xy');
    title('Enhanced Speech (dB)');
    xlabel('Time (s)');
    ylabel('Frequency (kHz)');

    ax(4)=subplot(221);
    imagesc(ttax,ffax,10*log10(dp)');
    colorbar;
    axis('xy');
    title('Noise Estimate (dB)');
    xlabel('Time (s)');
    ylabel('Frequency (kHz)');
    linkaxes(ax);
end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆免费看片| 亚洲成人免费在线| 日韩欧美卡一卡二| 欧美日本国产一区| 91在线视频在线| 91热门视频在线观看| 91亚洲精品久久久蜜桃| 成人精品在线视频观看| 床上的激情91.| 成人av集中营| 99国产一区二区三精品乱码| 91在线丨porny丨国产| 色综合久久综合网欧美综合网| 成人蜜臀av电影| www.欧美精品一二区| 97精品视频在线观看自产线路二| 99在线精品视频| 欧洲精品视频在线观看| 欧美丰满少妇xxxxx高潮对白| 欧美日韩一区二区欧美激情| 欧美电影一区二区| 欧美一二三四在线| 久久久综合九色合综国产精品| 久久免费美女视频| 国产精品久久久久久亚洲毛片| 亚洲欧美福利一区二区| 亚洲va国产天堂va久久en| 秋霞av亚洲一区二区三| 麻豆成人在线观看| av中文字幕一区| 欧美精品视频www在线观看| 日韩视频一区二区三区| 久久久99免费| 伊人性伊人情综合网| 日日欢夜夜爽一区| 国产乱子轮精品视频| 91色porny在线视频| 欧美一区二区三区电影| 国产精品网站在线观看| 亚洲国产视频直播| 国产精品99久久久久久似苏梦涵| 99久久99久久久精品齐齐 | 国产亚洲欧洲997久久综合| 国产精品网友自拍| 日韩avvvv在线播放| www..com久久爱| 日韩欧美一区二区免费| 亚洲欧美日韩一区二区 | 日韩免费高清电影| 中文字幕一区二区三区精华液 | 日韩一区二区三区在线视频| 亚洲欧洲日本在线| 精品一区二区av| 色综合天天做天天爱| 久久蜜桃一区二区| 天堂蜜桃91精品| 91亚洲精品一区二区乱码| 精品国产免费一区二区三区四区| 一区二区三区精品| 成人午夜av在线| 亚洲精品一区二区三区影院| 亚洲va欧美va国产va天堂影院| www.日韩精品| 国产日韩影视精品| 激情综合色综合久久| 3atv一区二区三区| 亚洲123区在线观看| 一本色道亚洲精品aⅴ| 国产欧美中文在线| 国产乱码精品一区二区三 | 日韩欧美国产一区二区三区| 一区二区三区日韩欧美| 91视频91自| 亚洲乱码一区二区三区在线观看| 国产成人av电影在线| 久久精品欧美一区二区三区麻豆| 日本特黄久久久高潮| 欧美精品一二三| 视频一区二区三区中文字幕| 欧美三级欧美一级| 亚洲一区二区三区不卡国产欧美| 色狠狠色狠狠综合| 中文字幕亚洲精品在线观看| 成人美女在线视频| 亚洲色图一区二区三区| 成人精品一区二区三区中文字幕 | 国产欧美精品一区| 成人一区二区三区视频在线观看| 国产亚洲欧洲一区高清在线观看| 粉嫩久久99精品久久久久久夜| 国产亚洲精品精华液| 成人在线视频首页| 亚洲精品你懂的| 欧美人牲a欧美精品| 亚洲国产精品一区二区尤物区| 欧美日韩国产另类一区| 免费在线一区观看| 久久久久久一级片| 99视频有精品| 午夜精品久久久久影视| 久久综合中文字幕| voyeur盗摄精品| 亚洲成人精品一区二区| 欧美变态凌虐bdsm| 成人午夜大片免费观看| 亚洲黄色尤物视频| 日韩女优电影在线观看| 国产aⅴ精品一区二区三区色成熟| 中文字幕欧美日韩一区| 欧日韩精品视频| 久久 天天综合| 亚洲四区在线观看| 欧美一级日韩一级| 成人av影视在线观看| 五月婷婷激情综合| 国产视频一区不卡| 欧美午夜宅男影院| 国产麻豆一精品一av一免费| 亚洲欧美自拍偷拍| 精品久久久久久久人人人人传媒| 成人黄色免费短视频| 石原莉奈一区二区三区在线观看| 国产肉丝袜一区二区| 7777精品伊人久久久大香线蕉的| 国产99精品国产| 午夜激情久久久| 中文字幕在线免费不卡| 欧美一区二区成人| 91久久线看在观草草青青| 激情五月婷婷综合网| 亚洲小少妇裸体bbw| 中文一区在线播放| 欧美一卡2卡3卡4卡| 在线观看亚洲a| 国产91在线|亚洲| 美女视频黄 久久| 亚洲妇女屁股眼交7| 最近日韩中文字幕| 久久久青草青青国产亚洲免观| 欧美日韩一区二区三区四区| 成人免费av资源| 精品一区二区av| 六月丁香婷婷色狠狠久久| 亚洲国产精品自拍| 亚洲自拍偷拍麻豆| 亚洲美女电影在线| 中文字幕av免费专区久久| 精品福利在线导航| 精品国产亚洲在线| 日韩你懂的在线观看| 欧美一区二区三区婷婷月色| 欧美日韩免费观看一区二区三区 | 亚洲欧洲成人自拍| 国产日韩成人精品| 精品成人佐山爱一区二区| 91麻豆精品国产自产在线| 欧美日韩大陆在线| 欧美主播一区二区三区美女| 91年精品国产| 99精品视频一区二区| a4yy欧美一区二区三区| aa级大片欧美| 91婷婷韩国欧美一区二区| www.成人在线| 色久优优欧美色久优优| 欧美色中文字幕| 欧美三级韩国三级日本三斤 | 欧美一区二区三区四区五区| 91精品国产综合久久蜜臀| 7777精品久久久大香线蕉| 日韩午夜激情av| 日韩一区二区视频| 久久久综合网站| 亚洲视频免费观看| 亚洲成人自拍网| 麻豆一区二区在线| 国产精品一区二区三区乱码| 国产·精品毛片| 在线免费不卡视频| 欧美一区二区三区免费大片| 久久久不卡网国产精品二区| 中文字幕在线观看不卡视频| 亚洲一区二区精品3399| 免费成人在线视频观看| 国产精华液一区二区三区| 色综合久久综合| 日韩精品专区在线| 中文一区二区在线观看| 亚洲福中文字幕伊人影院| 精品中文字幕一区二区| av在线播放不卡| 欧美一级一级性生活免费录像| 国产三级精品三级在线专区| 一区二区三区日韩精品视频| 日韩av一区二区三区| 波波电影院一区二区三区| 777奇米四色成人影色区| 国产精品久久免费看| 日韩精品视频网站| 国产suv精品一区二区三区|