00001 #include "c_lpc10.h" 00002 00003 /**********************************************************/ 00004 /* shift buffers */ 00005 00006 VOID shift( VOID ) 00007 { 00008 INDEX i, j; 00009 00010 /* Update (shift) sample buffers */ 00011 for (i = SBUFL; i <= SBUFH-LFRAME; i++) { 00012 g_inbuf[i] = g_inbuf[LFRAME + i]; 00013 g_pebuf[i] = g_pebuf[LFRAME + i]; 00014 } 00015 for (i = LBUFL; i <= LBUFH-LFRAME; i++) 00016 g_lpbuf[i] = g_lpbuf[LFRAME + i]; 00017 for (i = PWINL; i <= PWINH-LFRAME; i++) 00018 g_ivbuf[i] = g_ivbuf[LFRAME + i]; 00019 00020 /* shift onset marks */ 00021 for (i=0; i<g_osptr; i++) 00022 if (g_osbuf[i]>LFRAME) 00023 break; 00024 g_osptr -= i; 00025 for (j=0; j<g_osptr; j++) 00026 g_osbuf[j] = g_osbuf[i+j] - LFRAME; 00027 00028 /* shift other data */ 00029 for (i = 0; i < AF-1; i++) { 00030 g_vwin[i][0] = g_vwin[i+1][0] - LFRAME; 00031 g_vwin[i][1] = g_vwin[i+1][1] - LFRAME; 00032 g_awin[i][0] = g_awin[i+1][0] - LFRAME; 00033 g_awin[i][1] = g_awin[i+1][1] - LFRAME; 00034 g_obound[i] = g_obound[i+1]; 00035 g_voibuf[i][0] = g_voibuf[i+1][0]; 00036 g_voibuf[i][1] = g_voibuf[i+1][1]; 00037 g_rmsbuf[i] = g_rmsbuf[i+1]; 00038 for (j = 0; j < ORDER; j++) 00039 g_rcbuf[i][j] = g_rcbuf[i+1][j]; 00040 } 00041 g_voibuf[AF-1][0] = g_voibuf[AF][0]; 00042 g_voibuf[AF-1][1] = g_voibuf[AF][1]; 00043 } 00044 00045 /**********************************************************/