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

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

?? voicing.m

?? 語音編碼
?? M
字號:
% MATLAB SIMULATION OF FS-1015 LPC-10e
% COPYRIGHT (C) 1996-99 ANDREAS SPANIAS and TED PAINTER
%
% This Copyright applies only to this particular MATLAB implementation
% of the LPC-10e coder.  The MATLAB software is intended only for educational
% purposes.  No other use is intended or authorized.  This is not a public
% domain program and unauthorized distribution to individuals or networks 
% is prohibited. Be aware that use of the standard in any form is goverened
% by rules of the US DoD.  
% This program is free software. It 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.  There is no commitment 
% or even implied commitment on behalf of Andreas Spanias or Ted Painter
% for maintenance or support of this code.
%
% MATLAB is trademark of The Mathworks Inc
%
% ALL DERIVATIVE WORKS MUST INCLUDE THIS COPYRIGHT NOTICE.
%
% ******************************************************************************
% VOICING
%
% PORTED TO MATLAB FROM LPC-55 C RELEASE
% 3-8-94
%
% ******************************************************************************
%
% DESCRIPTION
%
%   Voicing Detection (VOICIN) makes voicing decisions for each half
%   frame of input speech.
%
% DESIGN NOTES
%
%   Tentative voicing decisions are made two frames
%   in the future (2F) for each half frame.  These decisions are carried
%   through one frame in the future (1F) to the present (P) frame where
%   they are examined and smoothed, resulting in the final voicing
%   decisions for each half frame.
%
%        The voicing parameter (signal measurement) column vector (VALUE)
%   is based on a rectangular window of speech samples determined by the
%   window placement algorithm.  The voicing parameter vector contains the
%   AMDF windowed maximum-to-minimum ratio, the zero crossing rate, energy
%   measures, reflection coefficients, and prediction gains.  The voicing
%   window is placed to avoid contamination of the voicing parameter vector
%   with speech onsets.
%
%        The input signal is then classified as unvoiced (including
%   silence) or voiced.  This decision is made by a linear discriminant
%   function consisting of a dot product of the voicing decision
%   coefficient (VDC) row vector with the measurement column vector
%   (VALUE).  The VDC vector is 2-dimensional, each row vector is optimized
%   for a particular signal-to-noise ratio (SNR).  So, before the dot
%   product is performed, the SNR is estimated to select the appropriate
%   VDC vector.
%
%        The smoothing algorithm is a modified median smoother.  The
%   voicing discriminant function is used by the smoother to determine how
%   strongly voiced or unvoiced a signal is.  The smoothing is further
%   modified if a speech onset and a voicing decision transition occur
%   within one half frame.  In this case, the voicing decision transition
%   is extended to the speech onset.  For transmission purposes, there are
%   constraints on the duration and transition of voicing decisions.  The
%   smoother takes these constraints into account.
%
%        Finally, the energy estimates are updated along with the dither
%   threshold used to calculate the zero crossing rate (ZC).
%
% VARIABLES
%
% INPUTS
%   vwin           - Voicing window limits
%   inbuf          - Input speech buffer
%   lpbuf          - Low-pass filtered speech buffer
%   half           - Present analysis half frame number
%   minamd         - Minimum value of the AMDF
%   maxamd         - Maximum value of the AMDF
%   mintau         - Pointer to the lag of the minimum AMDF value
%   ivrc           - Inverse filter's RC's
%   obound         - Onset boundary descriptions
%
% OUTPUT
%   voibuf         - Buffer of voicing decisions
%
% INTERNAL
%   qs             - Ratio of preemphasized to full-band energies
%   rc1            - First reflection coefficient
%   ar_b           - Product of the causal forward and reverse pitch
%                    prediction gains
%   ar_f           - Product of the noncausal forward and rev. pitch
%                    prediction gains
%   zc             - Zero crossing rate
%   dither         - Zero crossing threshold level
%   maxmin         - AMDF's 1 octave windowed maximum-to-minimum ratio
%   minptr         - Location  of minimum AMDF value
%   nvdc           - Number of elements in each VDC vector
%   nvdcl          - Number of VDC vectors
%   vdcl           - SNR values corresponding to the set of VDC's
%   vdc            - 2-D voicing decision coefficient vector
%   value          - Voicing Parameters
%   voice          - History of LDA results
%   lbe            - Ratio of low-band instantaneous to average energies
%   fbe            - Ratio of full-band instantaneous to average energies
%   lbve           - Low band voiced energy
%   lbue           - Low band unvoiced energy
%   fbve           - Full band voiced energy
%   fbue           - Full band unvoiced energy
%   ofbue          - Previous full-band unvoiced energy
%   olbue          - Previous low-band unvoiced energy
%   ref            - Reference energy for initialization and DITHER
%                    threshold
%   snr            - Estimate of signal-to-noise ratio
%   snr2           - Estimate of low-band signal-to-noise ratio
%   snrl           - SNR level number
%   ot             - Onset transition present
%   vstate         - Decimal interpretation of binary voicing classifications
%
% ******************************************************************************

function voibuf = voicing( vwin, inbuf, lpbuf, half, minamd, maxamd,...
			   mintau, ivrc, obound, voibuf )

% DECLARE GLOBAL VARIABLES
global vstate dither snr maxmin voice vdc;
global lbve lbue fbve fbue ofbue olbue;
global sfbue slbue;
global MAXVDC MXVDCL;
global nvdc nvdcl;
global vdcl;

% DECLARE AND INITIALIZE LOCAL VARIABLES
value = zeros( 9, 1 );
ot = 0;
ref = 3000;

% The VOICE array contains the result of the linear discriminant function
% (analog values).  The VOIBUF array contains the hard-limited binary
% voicing decisions.  The VOICE and VOIBUF arrays, according to FORTRAN
% memory allocation, are addressed as:
%
%          (half-frame number, future-frame number)
%
%          |   Past    |  Present  |  Future1  |  Future2  |
%          | 1,0 | 2,0 | 1,1 | 2,1 | 1,2 | 2,2 | 1,3 | 2,3 |  --->  time
%
% Update linear discriminant function history each frame:
if half == 1
    voice(1,1) = voice(1,2);
    voice(2,1) = voice(2,2);
    voice(1,2) = voice(1,3);
    voice(2,2) = voice(2,3);
    maxmin = maxamd / max( [ minamd, 1.0 ] );
end

% CALCULATE VOICING PARAMETERS TWICE PER FRAME
[ dither, zc, lbe, fbe, qs, rc1, ar_b, ar_f ] = ...
vparms( vwin, inbuf, lpbuf, half, dither, mintau );

% ESTIMATE SIGNAL-TO-NOISE RATIO TO SELECT THE APPROPRIATE VDC VECTOR.
% THE SNR IS ESTIMATED AS THE RUNNING AVERAGE OF THE RATIO OF THE
% RUNNING AVERAGE FULL-BAND VOICED ENERGY TO THE RUNNING AVERAGE
% FULL-BAND UNVOICED ENERGY. SNR FILTER HAS GAIN OF 63.
snr = round( 63 * ( snr + ( fbve / ( max ( [ fbue, 1.0 ] ) ) ) ) / 64.0 );
snr2 = ( snr * fbue ) / max( [ lbue, 1 ] );

% QUANTIZE SNR TO SNRL ACCORDING TO VDCL THRESHOLDS.
snrl = 1;
while snrl < nvdcl
    if snr2 > vdcl(snrl)
	break;
    end
    snrl = snrl + 1;
end

% NOTE: SNRL = NVDCL Here
% LINEAR DISCRIMINANT VOICING PARAMETERS
value(1) = maxmin;
value(2) = lbe / max( [ lbve, 1.0 ] );
value(3) = zc;
value(4) = rc1;
value(5) = qs;
value(6) = ivrc(2);
value(7) = ar_b;
value(8) = ar_f;
value(9) = 0.0;

% EVALUATION OF LINEAR DISCRIMINANT FUNCTION
voice(half,3) = vdc(10,snrl) + sum( vdc(1:9,snrl) .* value(1:9) );

% CLASSIFY AS VOICED IF DISCRIMINANT > 0, OTHERWISE UNVOICED
% VOICING DECISION FOR CURRENT HALF-FRAME: 1 = VOICED, 0 = UNVOICED
if voice(half,3) > 0.0
    voibuf(half,4) = 1;
else
    voibuf(half,4) = 0;
end

%   VOICING DECISION SMOOTHING RULES (OVERRIDE OF LINEAR COMBINATION)
%
%   UNVOICED HALF-FRAMES:  AT LEAST TWO IN A ROW.
%       --------------------
%
%       VOICED HALF-FRAMES:    AT LEAST TWO IN A ROW IN ONE FRAME.
%       -------------------    OTHERWISE AT LEAST THREE IN A ROW.
%                              (DUE TO THE WAY TRANSITION FRAMES ARE ENCODED)
%
%       IN MANY CASES, THE DISCRIMINANT FUNCTION DETERMINES HOW TO SMOOTH.
%       IN THE FOLLOWING CHART, THE DECISIONS MARKED WITH A * MAY BE OVERRIDDEN.
%
%   VOICING OVERRIDE OF TRANSITIONS AT ONSETS:
%       IF A V/UV OR UV/V VOICING DECISION TRANSITION OCCURS WITHIN ONE-HALF
%       FRAME OF AN ONSET BOUNDING A VOICING WINDOW, THEN THE TRANSITION IS
%       MOVED TO OCCUR AT THE ONSET.
%
%       P       1F
%       -----   -----
%       0   0   0   0
%       0   0   0*  1   (IF THERE IS AN ONSET THERE)
%       0   0   1*  0*  (BASED ON 2F AND DISCRIMINANT DISTANCE)
%       0   0   1   1
%       0   1*  0   0   (ALWAYS)
%       0   1*  0*  1   (BASED ON DISCRIMINANT DISTANCE)
%       0*  1   1   0*  (BASED ON PAST, 2F, AND DISCRIMINANT DISTANCE)
%       0   1*  1   1   (IF THERE IS AN ONSET THERE)
%       1   0*  0   0   (IF THERE IS AN ONSET THERE)
%       1   0   0   1
%       1   0*  1*  0   (BASED ON DISCRIMINANT DISTANCE)
%       1   0*  1   1   (ALWAYS)
%       1   1   0   0
%       1   1   0*  1*  (BASED ON 2F AND DISCRIMINANT DISTANCE)
%       1   1   1*  0   (IF THERE IS AN ONSET THERE)
%       1   1   1   1
%

% SKIP VOICING DECISION SMOOTHING IN FIRST HALF-FRAME
if half ~= 1

    % DETERMINE IF THERE IS AN ONSET TRANSITION BETWEEN P AND 1F.
    % OT (ONSET TRANSITION) IS TRUE IF THERE IS AN ONSET BETWEEN
    % P AND 1F BUT NOT AFTER 1F.
    if ( (rem(fix(obound(1)/2),2) ~= 0) | (obound(2) == 1) ) & (rem(obound(3),2) == 0)
	ot = 1;
    else
	ot = 0;
    end

    % MULTI-WAY DISPATCH ON VOICING DECISION HISTORY
    vstate = voibuf(1,2)*8 + voibuf(2,2)*4 + voibuf(1,3)*2 + voibuf(2,3);
    vs = vstate + 1;
    if vs == 1
	% DO NOTHING
    elseif vs == 2
	if ot & (voibuf(1,4)==1)
	    voibuf(1,3) = 1;
	end
    elseif vs == 3
	if (voibuf(1,4)==0) | (voice(1,2) < -voice(2,2))
	    voibuf(1,3) = 0;
	else
	    voibuf(2,3) = 1;
	end
    elseif vs == 4
	% DO NOTHING
    elseif vs == 5
	voibuf(2,2) = 0;
    elseif vs == 6
	if voice(2,1) < -voice(1,2)
	    voibuf(2,2) = 0;
	else
	    voibuf(1,3) = 1;
	end
    elseif vs == 7
	if (voibuf(1,1)==1) | (voibuf(1,4)==1) | (voice(2,2)>voice(1,1))
	    voibuf(2,3) = 1;
	else
	    voibuf(1,2) = 1;
	end
    elseif vs == 8
	if ot
	    voibuf(2,2) = 0;
	end
    elseif vs == 9
	if ot
	    voibuf(2,2) = 1;
	end
    elseif vs == 10
	% DO NOTHING
    elseif vs == 11
	if voice(1,2) < -voice(2,1)
	    voibuf(1,3) = 0;
	else
	    voibuf(2,2) = 1;
	end
    elseif vs == 12
	voibuf(2,2) = 1;
    elseif vs == 13
	% DO NOTHING
    elseif vs == 14
	if (voibuf(1,4)==0) & (voice(2,2) < -voice(1,2))
	    voibuf(2,3) = 0;
	else
	    voibuf(1,3) = 1;
	end
    elseif vs == 15
	if ot & (voibuf(1,4)==0)
	    voibuf(1,3) = 0;
	end
    else
	% DO NOTHING
    end
end

% NOW UPDATE PARAMETERS
% ---------------------
% DURING UNVOICED HALF-FRAMES, UPDATE THE LOW BAND AND FULL BAND UNVOICED
% ENERGY ESTIMATES (LBUE AND FBUE) AND ALSO THE ZERO CROSSING
% THRESHOLD (DITHER).  (THE INPUT TO THE UNVOICED ENERGY FILTERS IS
% RESTRICTED TO BE LESS THAN 10DB ABOVE THE PREVIOUS INPUTS OF THE
% FILTERS.)
% DURING VOICED HALF-FRAMES, UPDATE THE LOW-PASS (LBVE) AND ALL-PASS
% (FBVE) VOICED ENERGY ESTIMATES.                                       */
if voibuf(half,4) == 0
    sfbue = round( ((63*sfbue)+(8*min([fbe,3*ofbue]))) / 64.0 );
    fbue  = fix(sfbue/8);
    ofbue = fbe;
    slbue = round( ((63*slbue)+(8*min([lbe,3*olbue]))) / 64.0 );
    lbue  = fix(slbue/8);
    olbue = lbe;
else
    lbve = round( ((63*lbve)+lbe) / 64.0 );
    fbve = round( ((63*fbve)+fbe) / 64.0 );
end

% SET DITHER THRESHOLD TO YIELD PROPER ZERO CROSSING RATES IN THE
% PRESENCE OF LOW FREQUENCY NOISE AND LOW LEVEL SIGNAL INPUT.
% NOTE: THE DIVISOR IS A FUNCTION OF REF, THE EXPECTED ENERGIES.
dither = min( [ max([((64*sqrt(lbue*lbve))/ref),1.0]), 20.0 ] );

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝袜脚交一区二区| 精品日韩在线观看| 国产午夜精品一区二区三区视频| 亚洲另类色综合网站| 国产成人av影院| 在线播放91灌醉迷j高跟美女 | 亚洲人成伊人成综合网小说| 久久精品二区亚洲w码| 欧美午夜电影网| 亚洲欧美日韩在线| 成人免费视频免费观看| 亚洲精品一区在线观看| 日韩在线观看一区二区| 欧美日韩一二三| 一区二区三区四区不卡在线| 成人午夜视频在线| 亚洲自拍欧美精品| 国产一区美女在线| 日韩三级视频中文字幕| 一区二区不卡在线视频 午夜欧美不卡在| 国产精品乡下勾搭老头1| 日韩手机在线导航| 亚洲国产日产av| 91蜜桃婷婷狠狠久久综合9色| 国产丝袜美腿一区二区三区| 精品一区中文字幕| 欧美tk—视频vk| 麻豆精品一区二区三区| 在线成人小视频| 亚洲高清视频中文字幕| 欧美在线高清视频| 亚洲最色的网站| 欧美少妇xxx| 亚洲成av人片观看| 欧美色精品在线视频| 亚洲午夜久久久久久久久久久 | 97久久久精品综合88久久| 日本一区二区三区电影| 粉嫩aⅴ一区二区三区四区| 中文字幕免费在线观看视频一区| 国产成人在线观看| 国产日韩欧美高清| 成人一级视频在线观看| 中文字幕一区二区三区四区| zzijzzij亚洲日本少妇熟睡| 中文字幕一区二区三区四区| 91无套直看片红桃| 洋洋av久久久久久久一区| 欧美偷拍一区二区| 日韩经典一区二区| 日韩欧美国产一区在线观看| 韩国v欧美v亚洲v日本v| 国产欧美日韩卡一| 99久久er热在这里只有精品15| 亚洲免费av高清| 欧美日韩免费观看一区二区三区 | 亚洲精品欧美专区| 在线影视一区二区三区| 日本中文字幕一区二区视频| 日韩欧美中文字幕精品| 国产精品一卡二卡在线观看| 国产精品久久久99| 91极品美女在线| 日韩国产欧美在线视频| 久久久精品蜜桃| 94-欧美-setu| 日韩中文欧美在线| 精品99一区二区三区| 99久久精品久久久久久清纯| 亚洲一区二区高清| 精品久久久久久最新网址| 国产成人在线视频网址| 亚洲精品中文字幕乱码三区| 91精品国产91久久久久久一区二区 | 日日噜噜夜夜狠狠视频欧美人| 日韩精品中文字幕一区二区三区| 国产成人精品一区二区三区四区| 中文字幕一区二区三区av| 欧美日韩国产乱码电影| 国产一区二区三区观看| 一区二区三区四区蜜桃 | 99这里只有精品| 亚洲动漫第一页| 久久久99精品久久| 欧美在线观看一区| 国产精品一二三四五| 亚洲精品乱码久久久久| 精品久久国产字幕高潮| 色综合一个色综合| 极品少妇一区二区| 亚洲精品成人天堂一二三| 欧美大片拔萝卜| 色综合天天综合网天天看片| 久久99精品国产麻豆婷婷| 亚洲欧美一区二区三区孕妇| 日韩三级.com| 日本高清不卡一区| 国产一区二区三区久久悠悠色av| 一区二区成人在线观看| 久久久亚洲午夜电影| 欧美日韩亚洲丝袜制服| 成人的网站免费观看| 卡一卡二国产精品| 一区二区三区产品免费精品久久75| 日韩欧美另类在线| 欧美亚洲丝袜传媒另类| 懂色一区二区三区免费观看| 日韩成人一级大片| 亚洲乱码国产乱码精品精的特点| 26uuu精品一区二区三区四区在线| 91久久精品网| 成人av在线资源网站| 日本成人在线看| 亚洲综合男人的天堂| 国产精品午夜在线| 欧美不卡视频一区| 欧美另类z0zxhd电影| 日本精品视频一区二区三区| 国产成人精品aa毛片| 精品午夜一区二区三区在线观看| 亚洲高清视频在线| 亚洲人xxxx| 国产精品美女久久福利网站| 精品国产一区二区三区久久影院| 欧美日韩国产高清一区二区 | 国内精品视频666| 日日摸夜夜添夜夜添精品视频| 一区二区三区在线免费播放| 国产精品久久久久久久久免费相片| 久久综合久久综合九色| 日韩视频在线永久播放| 91精选在线观看| 欧美日韩国产经典色站一区二区三区| 91麻豆福利精品推荐| 99麻豆久久久国产精品免费 | 美女一区二区在线观看| 亚洲成人免费影院| 亚洲一区二区三区四区中文字幕| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 久久机这里只有精品| 天堂在线一区二区| 亚洲第一精品在线| 亚洲午夜av在线| 亚洲午夜影视影院在线观看| 久久精工是国产品牌吗| 天天操天天干天天综合网| 一区二区免费视频| 亚洲精品免费一二三区| 亚洲欧洲成人自拍| 中文字幕一区二区三区在线播放| 国产精品伦理在线| 中文字幕一区日韩精品欧美| 中文字幕在线观看不卡| 中文字幕在线不卡视频| 亚洲人成影院在线观看| 一区二区三区四区中文字幕| 亚洲国产精品久久久久婷婷884| 亚洲国产一区二区在线播放| 午夜影院在线观看欧美| 免费在线观看不卡| 久久99精品国产麻豆婷婷| 韩国在线一区二区| 国产东北露脸精品视频| 成人av电影在线观看| 色噜噜偷拍精品综合在线| 欧美亚洲愉拍一区二区| 欧美日韩成人综合在线一区二区| 91精品视频网| 精品久久国产97色综合| 欧美国产97人人爽人人喊| 综合久久久久综合| 亚洲国产视频a| 久久精品99国产国产精| 国产不卡视频在线观看| 99久久久免费精品国产一区二区| 日本高清成人免费播放| 91精品国产品国语在线不卡| 日韩精品一区二区三区视频播放| 亚洲精品在线网站| 国产精品麻豆一区二区 | 欧美一级高清片| 久久午夜国产精品| 亚洲天堂2014| 天堂在线一区二区| 国产福利一区二区三区视频| 色综合久久中文综合久久97| 欧美福利一区二区| 久久精品在线免费观看| 亚洲精品视频免费看| 美女脱光内衣内裤视频久久影院| 国产在线精品一区在线观看麻豆| 成人激情免费视频| 欧美午夜精品一区二区三区| 精品日韩一区二区三区免费视频| 国产精品久久网站| 首页综合国产亚洲丝袜| 国产69精品一区二区亚洲孕妇| 在线观看一区二区视频| 欧美精品一区二区三区高清aⅴ | 国产色产综合产在线视频|