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

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

?? fs_lib.c

?? Melp Federal Vocoder 2.4 kbps low bit rate high qualitytexas instrument Melp encoder decoder c-code
?? C
字號:
/*

2.4 kbps MELP Proposed Federal Standard speech coder

version 1.2

Copyright (c) 1996, Texas Instruments, Inc.  

Texas Instruments has intellectual property rights on the MELP
algorithm.  The Texas Instruments contact for licensing issues for
commercial and non-government use is William Gordon, Director,
Government Contracts, Texas Instruments Incorporated, Semiconductor
Group (phone 972 480 7442).


*/

/*

  fs_lib.c: Fourier series subroutines 

*/

/*  compiler include files  */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "spbstd.h"
#include "mat.h"
#include "fs.h"

/*  compiler constants */
#define PRINT 1

/*								*/
/*	Subroutine FIND_HARM: find Fourier coefficients using	*/
/*	FFT of input signal divided into pitch dependent bins.	*/
/*								*/
#define	FFTLENGTH	512

/* Memory definition		*/
static float find_hbuf[2*FFTLENGTH];
static float mag[FFTLENGTH];

void find_harm(float input[], float fsmag[], float pitch, int num_harm, 
	       int length)

{
    int	i, j, k, iwidth, i2;
    float temp, avg, fwidth;

    for (i = 0; i < num_harm; i++)
      fsmag[i] = 1.0;
    avg = 0.0;

    /* Perform peak-picking on FFT of input signal */

    /* Calculate FFT of complex signal in scratch buffer	*/
    v_zap(find_hbuf,2*FFTLENGTH);
    for (i = 0; i < 2*length; i+=2)
	find_hbuf[i] = input[i/2];
    fft(find_hbuf,FFTLENGTH,-1);
	
    /* Calculate magnitude squared of coefficients		*/
    for (i = 0; i < FFTLENGTH; i++ )
	mag[i] = find_hbuf[2*i]*find_hbuf[2*i] +
	    find_hbuf[(2*i)+1]*find_hbuf[(2*i)+1];
	
    /* Implement pitch dependent staircase function		*/
    fwidth = FFTLENGTH / pitch;	/* Harmonic bin width	*/
    iwidth = (int) fwidth;
    if (iwidth < 2)
	iwidth = 2;
    i2 = iwidth/2;
    avg = 0.0;
    if (num_harm > 0.25*pitch)
	num_harm = 0.25*pitch;
    for (k = 0; k < num_harm; k++) {
	i = ((k+1)*fwidth) - i2 + 0.5; /* Start at peak-i2 */
	j = i + findmax(&mag[i],iwidth);
	fsmag[k] = mag[j];
	avg += mag[j];
    }

    /* Normalize Fourier series values to average magnitude */
    temp = num_harm/(avg+ .0001);
    for (i = 0; i < num_harm; i++) {
	fsmag[i] = sqrt(temp*fsmag[i]);
    }

}

/*	Subroutine FFT: Fast Fourier Transform 		*/
/**************************************************************
* Replaces data by its DFT, if isign is 1, or replaces data   *
* by inverse DFT times nn if isign is -1.  data is a complex  *
* array of length nn, input as a real array of length 2*nn.   *
* nn MUST be an integer power of two.  This is not checked    *
* The real part of the number should be in the zeroeth        *
* of data , and the imaginary part should be in the next      *
* element.  Hence all the real parts should have even indeces *
* and the imaginary parts, odd indeces.			      *

* Data is passed in an array starting in position 0, but the  *
* code is copied from Fortran so uses an internal pointer     *
* which accesses position 0 as position 1, etc.		      *

* This code uses e+jwt sign convention, so isign should be    *
* reversed for e-jwt.                                         *
***************************************************************/
#define	SWAP(a,b) tempr = (a);(a) = (b); (b) = tempr

void fft(float *datam1,int nn,int isign)

{
	int	n,mmax,m,j,istep,i;
	double	wtemp,wr,wpr,wpi,wi,theta;
	float register	tempr,tempi;
	float	*data;

	/*  Use pointer indexed from 1 instead of 0	*/
	data = &datam1[-1];

	n = nn << 1;
	j = 1;
	for( i = 1; i < n; i+=2 ) {
	  if ( j > i) {
		SWAP(data[j],data[i]);
		SWAP(data[j+1],data[i+1]);
	  }
	  m = n >> 1;
	  while ( m >= 2 && j > m ) {
		j -= m;
		m >>= 1;
	  }
	  j += m;
	}
	mmax = 2;
	while ( n > mmax) {
	  istep = 2 * mmax;
	  theta = 6.28318530717959/(isign*mmax);
	  wtemp = sin(0.5*theta);
	  wpr   = -2.0*wtemp*wtemp;
	  wpi   = sin(theta);
	  wr = 1.0;
	  wi = 0.0;
	  for ( m = 1; m < mmax;m+=2) {
	    for ( i = m; i <= n; i += istep) {
   	      	j = i + mmax;
		tempr = wr * data[j] - wi * data[j+1];
	      	tempi = wr * data[j+1] + wi * data[j];
	   	data[j] = data[i] - tempr;
		data[j+1] = data[i+1] - tempi;
		data[i] += tempr;
		data[i+1] += tempi;
	    }
	    wr = (wtemp=wr)*wpr-wi*wpi+wr;
	    wi = wi*wpr+wtemp*wpi+wi;
	  }
	  mmax = istep;
	}
}

/*								*/
/*	Subroutine FINDMAX: find maximum value in an 		*/
/*	input array.						*/
/*								*/
int 	findmax(float input[], int npts)

{
int register	i, maxloc;
float register  maxval, *p_in;

	p_in = &input[0];
	maxloc = 0;
	maxval = input[maxloc];
	for (i = 1; i < npts; i++ ) {
		if (*(++p_in) > maxval) {
			maxloc = i;
			maxval = *p_in;
		}
	}
	return(maxloc);
}

/*								*/
/*	Subroutine IDFT_REAL: take inverse discrete Fourier 	*/
/*	transform of real input coefficients.			*/
/*	Assume real time signal, so reduce computation		*/
/*	using symmetry between lower and upper DFT		*/
/*	coefficients.						*/
/*								*/
#define DFTMAX 160

/* Memory definition	*/
static float	idftc[DFTMAX];

void	idft_real(float real[], float signal[], int length)

{
    int	i, j, k, k_inc, length2;
    float	w;

#if (PRINT)
    if (length > DFTMAX) {
	printf("****ERROR: IDFT size too large **** \n");
	exit(1);
    }
#endif
    
    length2 = (length/2)+1;
    w = TWOPI / length;
    for (i = 0; i < length; i++ ) {
	idftc[i] = cos(w*i);
    }
    real[0] *= (1.0/length);
    for (i = 1; i < length2-1; i++ ) {
	real[i] *= (2.0/length);
    }
    if ((i*2) == length)
	real[i] *= (1.0/length);
    else
	real[i] *= (2.0/length);

    for (i = 0; i < length; i++ ) {
	signal[i] = real[0];
	k_inc = i;
	k = k_inc;
	for (j = 1; j < length2; j++ ) {
	    signal[i] += real[j] * idftc[k];
	    k += k_inc;
	    if (k >= length)
		k -= length;
	}
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人性生交大片免费看中文网站| 亚洲精品乱码久久久久久黑人| av在线综合网| 国产美女av一区二区三区| 亚洲综合激情网| 国产精品久久久久三级| 久久久久国产一区二区三区四区| 日韩精品一区国产麻豆| 911精品产国品一二三产区| 欧美日韩精品高清| 欧美麻豆精品久久久久久| 欧美日本国产视频| 欧美一区二区精品久久911| 717成人午夜免费福利电影| 欧美日韩一级片在线观看| 欧美三级韩国三级日本一级| 欧美日韩在线播| 精品污污网站免费看| 欧美喷水一区二区| 日韩手机在线导航| 久久精品一区二区三区不卡| 国产精品午夜免费| 亚洲三级在线播放| 五月天久久比比资源色| 麻豆91免费看| 国产91精品在线观看| 91日韩精品一区| 欧美视频在线一区二区三区| 欧美日韩小视频| 日韩欧美国产成人一区二区| 2023国产精品| 亚洲精品水蜜桃| 亚洲一区二区三区自拍| 久久99精品久久只有精品| 国产91精品一区二区麻豆网站| av不卡在线观看| 91精品在线观看入口| 久久久天堂av| 亚洲免费观看高清完整版在线观看 | 91精品视频网| 久久精品日产第一区二区三区高清版| 亚洲桃色在线一区| 久久不见久久见免费视频7| 99这里只有久久精品视频| 欧美精品色一区二区三区| 欧美精品一区二区三区高清aⅴ| 中文字幕在线不卡一区二区三区| 亚洲成人激情社区| 成人在线视频一区| 日韩一级免费观看| 一区二区日韩电影| 国产99久久久久久免费看农村| 欧美性猛交xxxxxx富婆| 国产日产欧产精品推荐色 | 亚洲一区二区成人在线观看| 久久9热精品视频| 色婷婷国产精品| 欧美激情在线观看视频免费| 亚洲v中文字幕| 91天堂素人约啪| 久久网站热最新地址| 亚洲一区视频在线| 99re热这里只有精品视频| 精品久久久久av影院| 亚洲成人av电影在线| 91麻豆免费视频| 国产精品色婷婷| 国产精品12区| 久久久久久久久久看片| 日本va欧美va欧美va精品| 欧美在线一区二区| 亚洲美女视频一区| 99久久精品情趣| 国产精品护士白丝一区av| 激情久久久久久久久久久久久久久久 | 日韩国产高清在线| 一本大道综合伊人精品热热| 国产精品美女久久久久久久久| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美色图免费看| 亚洲午夜电影在线| 欧美日韩和欧美的一区二区| 亚洲久草在线视频| 91国内精品野花午夜精品| 亚洲免费看黄网站| 在线观看欧美日本| 亚洲国产综合91精品麻豆| 欧美日精品一区视频| 亚洲午夜三级在线| 日韩一级二级三级精品视频| 日韩不卡一区二区| 亚洲精品一区二区三区香蕉| 久久精品国产999大香线蕉| 日韩欧美国产麻豆| 国产精品亚洲一区二区三区妖精| 国产视频一区二区三区在线观看| 国产美女主播视频一区| 国产精品嫩草影院av蜜臀| av中文字幕亚洲| 亚洲福利视频一区二区| 5858s免费视频成人| 国产在线精品不卡| 国产精品免费久久| 欧美午夜片在线观看| 日韩成人av影视| 国产亚洲一区二区三区| 97se亚洲国产综合自在线观| 亚洲电影一级片| 欧美成人vps| 99久久国产综合色|国产精品| 亚洲在线观看免费| 精品三级av在线| 成人激情小说乱人伦| 亚洲综合网站在线观看| 精品国产免费人成电影在线观看四季 | 欧美日韩一区中文字幕| 美女脱光内衣内裤视频久久影院| 久久久精品一品道一区| 91高清视频免费看| 久久精品av麻豆的观看方式| 亚洲国产精品成人综合 | 亚洲1区2区3区视频| 欧美精品一区二| 欧洲色大大久久| 国产露脸91国语对白| 亚洲精品视频在线观看网站| 欧美一区二区三区啪啪| av亚洲精华国产精华精华| 日本不卡一二三区黄网| 亚洲色图欧洲色图婷婷| 欧美tickling挠脚心丨vk| 在线中文字幕一区| 国产不卡视频在线播放| 奇米色777欧美一区二区| 亚洲欧洲精品一区二区精品久久久| 日韩一区二区三区高清免费看看| 国产91在线|亚洲| 精品一区二区三区在线视频| 一片黄亚洲嫩模| 中文字幕制服丝袜一区二区三区| 精品欧美乱码久久久久久1区2区| 在线观看免费一区| 91免费观看国产| 成人免费毛片嘿嘿连载视频| 久久精品国产秦先生| 亚洲国产一区二区三区青草影视| 国产精品区一区二区三| 精品理论电影在线观看| 91精品国产色综合久久| 欧美亚洲一区二区在线| 91丝袜国产在线播放| 国产成人av电影在线观看| 国产在线精品不卡| 狠狠网亚洲精品| 天堂一区二区在线免费观看| 亚洲国产精品麻豆| 亚洲综合久久久| 亚洲一区二区成人在线观看| 一区二区在线观看av| 亚洲免费观看高清完整版在线观看 | 国产精品自拍在线| 国产一区二区精品久久99| 久久99最新地址| 极品少妇xxxx精品少妇偷拍| 捆绑紧缚一区二区三区视频| 日本va欧美va瓶| 久久99久久精品欧美| 久久国产精品99久久人人澡| 久久99精品久久久久久国产越南 | 国产午夜精品久久| 国产亚洲制服色| 欧美国产丝袜视频| 亚洲欧洲精品成人久久奇米网| 一区在线观看视频| 一区二区三区加勒比av| 亚洲福利视频一区| 免费高清成人在线| 国产成人精品免费网站| 成人av在线播放网址| eeuss鲁片一区二区三区| 在线亚洲一区观看| 日韩视频一区二区三区在线播放 | 久久久99精品久久| 1区2区3区精品视频| 一区二区激情视频| 免费观看成人av| 国产91精品精华液一区二区三区| 成人av动漫网站| 欧美日韩视频在线一区二区 | 2023国产精品| 亚洲品质自拍视频网站| 调教+趴+乳夹+国产+精品| 激情综合亚洲精品| 91麻豆6部合集magnet| 777精品伊人久久久久大香线蕉| www国产精品av| 一区二区日韩av| 国产精品自拍毛片| 91福利在线看| 欧美精品一区二区三|