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

📄 initial.c

📁 语音LPC压缩算法源代码(C语音)
💻 C
字号:
/*  This routine initializes all the routine's arrays for all the routinesso that the "first" variable won't have to be checked every time theroutine is entered*/#include "lpcdefs.h"#include "config.ch"#include <string.h>/* analys */extern float lparray[LBUFH-LBUFL+1], ivarray[PWINH-PWINL+1];extern float pearray[SBUFH-SBUFL+1], inarray[SBUFH-SBUFL+1];extern float *inbuf, *pebuf, *lpbuf, *ivbuf;extern int vwin[2][AF], awin[2][AF], voibuf[2][AF+1];extern float rmsbuf[AF], amdf[LTAU], psi[MAXORD], rcbuf[MAXORD][AF];/* bsynz */extern float exc[MAXPIT+MAXORD],  exc2[MAXPIT+MAXORD];/* decode */extern int drc[3][MAXORD], dpit[3], drms[3];/* dyptrk */extern float s[60];extern int p[60][2];/* onset */extern float l2buf[16];/* synths */extern int ipiti[11], ivuv[11];extern float rci[MAXORD][11], rmsi[11], pc[MAXORD];initialize1(){int i, j;/* ---------------------- bsynz -------------------------- */for(i=0;i<MAXPIT+MAXORD;i++)	{  exc[i] = 0.0;  exc2[i] = 0.0;}/* ---------------------- dyptrk -------------------------- */memset(p, 0, 60*2);for(i=0;i<60;i++)  s[i] = 0.0;	/* ----------------------- decode ----------------------- */memset(dpit, 0, 3);memset(drms, 0, 3);memset(drc, 0, MAXORD*3);/* ----------------------- synths ----------------------- */memset(ipiti, 0, 11);memset(ivuv, 0, 11);for(i=0;i<10;i++)	{	rmsi[i] = 0.0;	pc[i] = 0.0;}for(i=0;i<MAXORD;i++)  for(j=0;j<11;j++)    rci[i][j] = 0.0;}initialize2(){	int i;/* ----------------------- analys.c ----------------------- *//* allocate space for the arrays */inbuf = inarray;lpbuf = lparray;ivbuf = ivarray;pebuf = pearray;/* Initialize space created */for(i=0;i<SBUFH-SBUFL+1;i++)	{	inarray[i] = 0.0;	pearray[i] = 0.0;}for(i=0;i<LBUFH-LBUFL+1;i++)  lparray[i] = 0.0;for(i=0;i<PWINH-PWINL+1;i++)  ivarray[i] = 0.0;/* align C arrays to FORTRAN indexing */inbuf -= SBUFL;pebuf -= SBUFL;lpbuf -= LBUFL;ivbuf -= PWINL;/* assign initial values to arrays - with C indexing */vwin[0][AF-1] = DVWINL;vwin[1][AF-1] = DVWINH;vwin[0][1] = 0.;vwin[1][1] = 0.;awin[0][AF-1] = DVWINL;awin[1][AF-1] = DVWINH;awin[0][1] = 0.;awin[1][1] = 0.;for(i=0;i<MAXORD;i++)  rcbuf[0][i] = rcbuf[1][i] = rcbuf[2][i] = 0.0;for(i=0;i<AF;i++)  rmsbuf[i] = 0.0;for(i=0;i<LTAU;i++)  amdf[i] = 0.0;memset(voibuf, 0, (AF+1)*2);/* onset */for(i=0;i<16;i++)  l2buf[i] = 0.0;}

⌨️ 快捷键说明

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