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

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

?? ssubmmse.m

?? voice box tool box for 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一区二区三区免费野_久草精品视频
午夜日韩在线电影| 欧美日韩免费在线视频| 亚洲黄色片在线观看| 日本一区二区动态图| 日韩成人免费看| 亚洲伊人色欲综合网| 日韩伦理av电影| 久久久91精品国产一区二区三区| 精品国产99国产精品| 26uuu亚洲婷婷狠狠天堂| 337p日本欧洲亚洲大胆精品| 久久一留热品黄| 国产女主播视频一区二区| 久久这里只有精品6| 精品国产精品一区二区夜夜嗨| 亚洲精品一线二线三线无人区| 久久久不卡网国产精品一区| 国产精品久久久久久亚洲伦 | 在线播放一区二区三区| 欧美网站大全在线观看| 欧美日本韩国一区二区三区视频| 色婷婷综合久久久中文字幕| 欧美伊人久久久久久久久影院| 欧美午夜电影网| 精品福利在线导航| 中文字幕中文在线不卡住| 亚洲国产中文字幕| 日韩精品在线一区二区| 久久久久久麻豆| 亚洲一区二区av在线| 日韩精品一二三| 成人综合婷婷国产精品久久 | 精品福利av导航| 国产精品福利影院| 日韩精品一二三| 福利电影一区二区三区| 欧美性受极品xxxx喷水| 久久久久久一级片| 婷婷综合在线观看| 高清不卡在线观看| 欧美一区二区在线不卡| 国产精品高潮久久久久无| 丝袜亚洲另类丝袜在线| 91丨九色丨尤物| 日韩欧美国产午夜精品| 亚洲免费视频中文字幕| 激情综合网天天干| 欧美日韩国产一级| 最新热久久免费视频| 久久精品国产久精国产爱| 欧美在线一二三| 国产精品国模大尺度视频| 美女视频免费一区| 欧美三级韩国三级日本一级| 亚洲精品欧美二区三区中文字幕| 经典三级视频一区| 欧美一区二区在线不卡| 午夜视频久久久久久| 色婷婷av一区| 最新国产精品久久精品| 国产一区二区三区电影在线观看| 欧美日韩精品系列| 亚洲久草在线视频| 99精品偷自拍| 一区视频在线播放| 国产成人精品影视| 久久久不卡网国产精品二区| 久久精品国产99久久6| 91精品婷婷国产综合久久 | 日产国产欧美视频一区精品| 国产成人av电影| 精品第一国产综合精品aⅴ| 日韩电影在线观看网站| 欧美裸体bbwbbwbbw| 亚洲一区在线播放| 欧美性色综合网| 一区二区三区在线视频观看58| 成人亚洲一区二区一| 国产日韩欧美精品综合| 成人污污视频在线观看| 久久久777精品电影网影网| 免费观看一级特黄欧美大片| 欧美视频精品在线观看| 亚洲午夜久久久久久久久电影网 | 欧美色手机在线观看| 豆国产96在线|亚洲| 久久蜜桃av一区精品变态类天堂| 久久电影网电视剧免费观看| 久久九九影视网| 成人妖精视频yjsp地址| 亚洲欧美激情在线| 欧美日韩中文另类| 奇米色一区二区三区四区| 欧美精品一区在线观看| 成人永久免费视频| 亚洲综合无码一区二区| 首页国产欧美久久| 性久久久久久久久久久久| 欧美老年两性高潮| 久久se精品一区二区| 美女视频网站久久| 美女高潮久久久| 在线观看中文字幕不卡| 三级影片在线观看欧美日韩一区二区 | 在线观看亚洲专区| 天堂av在线一区| 久久久精品蜜桃| 91在线观看一区二区| 亚洲成人你懂的| 在线视频综合导航| 中文字幕日韩一区| 日韩午夜电影在线观看| 亚洲一区二区av电影| 欧美国产精品一区二区| 国产不卡在线播放| 成人黄色网址在线观看| 中文字幕一区二区视频| 欧美视频中文字幕| 国产老女人精品毛片久久| 亚洲欧美日韩国产另类专区| 3d动漫精品啪啪一区二区竹菊| 大白屁股一区二区视频| 亚洲香肠在线观看| 国产欧美日韩视频一区二区| 欧美精品乱码久久久久久| 国产乱人伦精品一区二区在线观看| 亚洲视频1区2区| ww久久中文字幕| 欧美日韩美少妇 | 精品国产伦理网| 欧美主播一区二区三区美女| 成人性生交大片免费看在线播放| 日韩高清不卡一区| 一区二区三区在线观看视频| 欧美精品一区二区三区四区| 欧美日韩精品电影| 在线免费亚洲电影| 色综合久久精品| 成人97人人超碰人人99| 国产成人免费视频一区| 麻豆精品一区二区av白丝在线| 亚洲综合成人在线| 亚洲色图.com| 亚洲视频一区二区免费在线观看| 国产午夜亚洲精品理论片色戒| 日韩一区二区三区视频在线| 欧美日韩一区二区欧美激情| 91国产免费观看| 日本韩国欧美国产| 波波电影院一区二区三区| 国产iv一区二区三区| 国内精品写真在线观看| 日韩高清欧美激情| 欧美精品久久天天躁| 欧美调教femdomvk| 91福利国产成人精品照片| 91亚洲精品久久久蜜桃| 色伊人久久综合中文字幕| 色婷婷精品久久二区二区蜜臀av| 97se亚洲国产综合在线| 91久久国产最好的精华液| 欧美性猛交xxxx黑人交| 欧美剧情片在线观看| 欧美一区二区视频网站| 欧美刺激午夜性久久久久久久| 精品欧美一区二区在线观看| 久久久国产综合精品女国产盗摄| 26uuuu精品一区二区| 国产精品网曝门| 伊人开心综合网| 天堂成人国产精品一区| 久久99久久99精品免视看婷婷 | 国产在线视视频有精品| 成人精品小蝌蚪| 91电影在线观看| 日韩你懂的电影在线观看| 国产亚洲污的网站| 一区二区三区四区蜜桃| 天堂蜜桃一区二区三区| 国产精品一区二区果冻传媒| 99久久久久久| 日韩小视频在线观看专区| 国产欧美精品日韩区二区麻豆天美| 亚洲欧美视频在线观看| 奇米精品一区二区三区在线观看| 国产在线观看免费一区| 狠狠色狠狠色合久久伊人| 99麻豆久久久国产精品免费 | 久久久久国色av免费看影院| 中文字幕在线不卡| 偷窥少妇高潮呻吟av久久免费| 国产精品18久久久久| 色偷偷久久一区二区三区| 日韩一卡二卡三卡| 欧美韩日一区二区三区| 天天综合天天做天天综合| 成人高清伦理免费影院在线观看| 欧美亚一区二区| 欧美激情一二三区| 麻豆国产欧美一区二区三区|