⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 init.m

📁 语音编码
💻 M
📖 第 1 页 / 共 2 页
字号:
h9          = -0.0455563702;
h10         = -0.0403068550;
h11         =  0.0005029835;
h12         =  0.0729262903;
h13         =  0.1572008878;
h14         =  0.2247288674;
h15         =  0.2505359650;
blpf31      =  [ h0,  h1,  h2,  h3,  h4,  h5,  h6,  h7,...
		 h8,  h9,  h10, h11, h12, h13, h14, h15...
		 h14, h13, h12, h11, h10, h9,  h8,  h7,...
		 h6,  h5,  h4,  h3,  h2,  h1,  h0 ];
alpf31      =  zeros( 1, 31 );
zlpf31      =  zeros( 30, 1 );
alpf31(1,1) =  1.0;

% IVFILT.M
global ziv;

% INVERSE FILTER MEMORY
ziv = zeros( 8, 1 );

% TBDM.M
global tau2;
tau2 = zeros( 6, 1 );

% VOICE.M
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;

% INIT GENERAL VOICING DETECTION PARAMETERS
MAXVDC = 10;
MXVDCL = 10;
nvdcl = 5;
ref = 3000;
vstate = 0;
dither = 20;
sfbue = 0;
slbue = 0;
lbve = ref;
fbve = ref;
fbue = fix( ref/16 );
ofbue = fix( ref/16 );
lbue = fix( ref/32 );
olbue = fix( ref/32 );
snr = 64.0 * ( fbve/fbue );
vdcl = zeros( MXVDCL, 1 );
vdcl(1) = 600;
vdcl(2) = 450;
vdcl(3) = 300;
vdcl(4) = 200;
vdcl(5) = 0;
voice = zeros( 2,3 );


% INIT VOICING COEFFICIENT AND LINEAR DISCRIMINANT ANALYSIS VARIABLES
% VOICING DECISION PARAMETER VECTOR (* DENOTES ZERO COEFFICIENT)
%
%       * MAXMIN
%         LBE/LBVE
%         ZC
%         RC1
%         QS
%         IVRC2
%         aR_B
%         aR_F
%       * LOG(LBE/LBVE)

% Define 2-D voicing decision coefficient vector according to the voicing
% parameter order above.  Each row (VDC vector) is optimized for a specific
% SNR.  The last element of the vector is the constant.

%           E      ZC     RC1            Qs       IVRC2  aRb aRf  c

vdc = ...
    [ ...
	 0.,     0.,     0.,      0.,      0., 0., 0., 0., 0., 0.;...
      1714.,   874.,   510.,    500.,    500., 0., 0., 0., 0., 0.;...
     - 110.,   -97.,   -70.,    -10.,      0., 0., 0., 0., 0., 0.;...
       334.,   300.,   250.,    200.,      0., 0., 0., 0., 0., 0.;...
     -4096., -4096., -4096.,  -4096.,  -4096., 0., 0., 0., 0., 0.;...
      -654., -1021., -1270.,  -1300.,  -1300., 0., 0., 0., 0., 0.;...
      3752.,  2451.,  2194.,   2000.,   2000., 0., 0., 0., 0., 0.;...
      3769.,  2527.,  2491.,   2000.,   2000., 0., 0., 0., 0., 0.;...
	 0.,     0.,     0.,      0.,      0., 0., 0., 0., 0., 0.;...
      1181.,  -500., -1500.,  -2000.,  -2500., 0., 0., 0., 0., 0. ...
    ];

% DYPTRK.M
global ipoint alphax s p

% INIT DYNAMIC PROGRAMMING CONSTANTS
ipoint = 0;
alphax = 0;
p = zeros( 60, 2 );
s = zeros( 60, 1 );

% PLACEA.M
global allv

% INIT ANALYSIS WINDOW PLACEMENT FLAG
allv = 0;

% ENCODE.M
global enctab entau enadd enscl enbits entab6 rmst;

% LPC PARAMETER ENCODING TABLES
enctab = [ 0, 7, 11, 12, 13, 10, 6, 1, 14, 9, 5, 2, 3, 4, 8, 15 ]';

entau = [ ...
	19, 11, 27, 25, 29, 21, 23, 22, 30, 14, 15, 7, 39, ...
	38, 46, 42, 43, 41, 45, 37, 53, 49, 51, 50, 54, 52, ...
	60, 56, 58, 26, 90, 88, 92, 84, 86, 82, 83, 81, 85, ...
	69, 77, 73, 75, 74, 78, 70, 71, 67, 99, 97, 113, 112, ...
	114, 98, 106, 104, 108, 100, 101, 76 ...
	]';

enadd = [ 1920, -768, 2432, 1280, 3584, 1536, 2816, -1152]';

enscl = [ .0204, .0167, .0145, .0147, .0143, .0135, .0125, .0112 ]';

enbits = [ 6, 5, 4, 4, 4, 4, 3, 3 ]';

entab6 = [ ...
	 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, ...
	 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, ...
	 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, ...
	 9, 9, 9, 10, 10, 11, 11, 12, 13, 14, 15 ...
	 ]';

rmst = [ ...
	1024, 936, 856, 784, 718, 656, 600, 550, ...
	502, 460, 420, 384, 352, 328, 294, 270, ...
	246, 226, 206, 188, 172, 158, 144, 132, ...
	120, 110, 102, 92, 84, 78, 70, 64, ...
	60, 54, 50, 46, 42, 38, 34, 32, ...
	30, 26, 24, 22, 20, 18, 17, 16, ...
	15, 14, 13, 12, 11, 10, 9, 8, ...
	7, 6, 5, 4, 3, 2, 1, 0 ...
       ]';

% DECODE.M
global ivtab corth detau detab7 descl deadd qb nbit zrc abit;
global drc dpit drms ivp2h erate iovoic first;

% LPC PARAMETER DECODING TABLES
ivtab = [ ...
	  24960, 24960, 24960, 24960, 25480, 25480, 25483, 25480, ...
	  16640,  1560,  1560,  1560, 16640,  1816,  1563,        ...
	   1560, 24960, 24960, 24859, 24856, 26001,               ...
	  25881, 25915, 25913, 1560,   1560,  7800,               ...
	   3640,  1561,  1561, 3643,   3641                       ...
	]';

corth = [ ...
	  32767., 32767., 32., 32.,  32.,  32., 16., 16.;  ...
	     10.,     8., 6.4, 6.4, 11.2, 11.2, 5.6, 5.6;  ...
	      5.,     4., 3.2, 3.2,  6.4,  6.4, 3.2, 3.2;  ...
	      0.,     0.,  0.,  0.,   0.,   0.,  0., 0.    ...
	];

detau = [ ...
	  0,     0,   0,   3,   0,   3,   3,  31,   0,  3,   3, 21,   3,  3, 29, 30, ...
	  0,     3,   3,  20,   3,  25,  27,  26,   3, 23,  58, 22,   3, 24, 28,  3, ...
	  0,     3,   3,   3,   3,  39,  33,  32,   3, 37,  35, 36,   3, 38, 34,  3, ...
	  3,    42,  46,  44,  50,  40,  48,   3,  54,  3,  56,  3,  52,  3,  3,  1, ...
	  0,     3,   3, 108,   3,  78, 100, 104,   3, 84,  92, 88, 156, 80, 96,  3, ...
	  3,    74,  70,  72,  66,  76,  68,   3,  62,  3,  60,  3,  64,  3,  3,  1, ...
	  3,   116, 132, 112, 148, 152,   3,   3, 140,  3, 136,  3, 144,  3,  3,  1, ...
	  124, 120, 128,   3,   3,   3,   3,   1,   3,  3,   3,  1,   3,  1,  1,  1  ...
	]';

detab7 = [ ...
	     4,  11,  18,  25,  32,  39,  46,  53, ...
	    60,  66,  72,  77,  82,  87,  92,  96, ...
	   101, 104, 108, 111, 114, 115, 117, 119, ...
	   121, 122, 123, 124, 125, 126, 127, 127  ...
	 ]';

descl = [ .6953, .6250, .5781, .5469, .5312, .5391, .4688, .3828 ]';
deadd = [ 1152, -2816, -1536, -3584, -1280, -2432, 768, -1920 ]';
qb    = [ 511, 511, 1023, 1023, 1023, 1023, 2047, 4095 ]';
nbit  = [ 8, 8, 5, 5, 4, 4, 4, 4, 3, 2 ]';
zrc   = [ 0, 0, 0, 0, 0, 3, 0, 2, 0, 0 ]';
abit  = [ 2, 4, 8, 16, 32 ]';

% INIT DECODING VARIABLES
drc = zeros( 3, MAXORD );
dpit = zeros( 3 );
drms = zeros( 3 );
ivp2h = 0;
erate = 0;
iovoic = 0;
first = 1;

% HAM84.M
global dactab;

% INIT HAMMING 8,4 DECODING TABLE
dactab = [ ...
	   16,  0,  0,  3,  0,  5, 14,  7,  0,  9, 14, 11,           ...
	   14, 13, 30, 14,  0,  9,  2,  7,  4,  7,  7, 23,  9,       ...
	   25, 10,  9, 12,  9, 14,  7,  0,  5,  2, 11,  5, 21,       ...
	    6,  5,  8, 11, 11, 27, 12,  5, 14, 11,  2,  1, 18,       ...
	    2, 12,  5,  2,  7, 12,  9,  2, 11, 28, 12, 12, 15,       ...
	    0,  3,  3, 19,  4, 13,  6,  3,  8, 13, 10,  3, 13, 29,   ...
	   14, 13,  4,  1, 10,  3, 20,  4,  4,  7, 10,  9, 26,       ...
	   10,  4, 13, 10, 15,  8,  1,  6,  3,  6,  5, 22,  6, 24,   ...
	    8,  8, 11,  8, 13,  6, 15,  1, 17,  2,  1,  4,  1,  6,   ...
	   15,  8,  1, 10, 15, 12, 15, 15, 31                        ...
	 ]';

% SYNTHS.M
global ivuv ipiti rmsi rci pc sout;

% INITIALIZE SYNTHS PITCH EPOCH VARIABLES
ivuv = zeros(11,1);
ipiti = zeros(11,1);
rmsi = zeros(11,1);
rci = zeros(MAXORD,11);
pc = zeros(MAXORD,1);
sout = zeros(LFRAME,1);

% PITSYN.M
global ivoico ipito rmso psFirst rco yarc jsamp;

% INITIALIZE PITSYN INTERNALS
ivoico = 0;
ipito = 0;
rmso = 0;
psFirst = 1;
rco = zeros(MAXORD,1);
yarc = zeros(MAXORD,1);
jsamp = 0;

% BSYNZ.M
global kexc exc exc2 ipo bsRmso Zhpf Zlpf

% INITIALIZE SYNTHESIS VARIABLES
kexc = [                                                        ...
	   8, -16,   26,  -48,  86, -162, 294, -502, 718, -728, ...
	 184, 672, -610, -672, 184,  728, 718,  502, 294,  162, ...
	  86,  48,   26,   16,   8                              ...
       ]';
exc = zeros( MAXPIT+MAXORD, 1 );
exc2 = zeros( MAXPIT+MAXORD, 1 );
ipo = 0;
bsRmso = 0;
Zlpf = zeros(2,1);
Zhpf = zeros(2,1);

% RANDOM.M
global j k y;

% INITIALIZE RANDOM NUMBER GENERATOR
y = [ -21161, -8478, 30892, -10216, 16950 ]';
j = MIDTAP;
k = MAXTAP;

% DEEMPH.M
global Zdemph;

% INITIALIZE DEEMPHASIS FILTER TAPS
Zdemph = zeros(4,1);

% BUFMAN.M
global BigBuf sPtr ePtr BBUFSIZE;

% INITIALIZE BUFFER MANAGEMENT CONSTANTS
sPtr = 1;
ePtr = 361;
BBUFSIZE = 600;
BigBuf = zeros( BBUFSIZE,1 );

% GUI.M
global guiSbuf1 guiSbuf2 guiSin guiDisplayMode guiState guiSline guiDisplayType;
global guiExcit guiFrames;

% INIT GRAPHICAL USER INTERFACE (GUI)
close;
guiDisplayMode = 0;
guiDisplayType = 0;
guiSline = 0;
guiSbuf1 = zeros( LFRAME, 1 );
guiSbuf2 = zeros( LFRAME, 1 );
guiSin = zeros( LFRAME, 1 );
guiFrames = 0;
guiExcit = [];

% INITIALIZE FUNCTION STATIC VARIABLES
analysState = zeros( 10, 6 );     % 1=osbuf,2=osptr,3:5=vwin,6=obound
analysState( 1, 5 ) = DVWINL;     % vwin(1,AF)=DVWINH
analysState( 2, 5 ) = DVWINH;     % vwin( 2, AF ) = DVWINH
onsetState = zeros( 15, 6 );
onsetState( 1, 4 ) = 63.0/64.0;   % zd = 63./64. same as d=1. in C code.

% START GUI
guiinit(0);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -