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

📄 testana.c

📁 speech signal process tools
💻 C
字号:
#include <stdio.h>#include <sps/sps.h>#include <sps/ana.h>#define max(a,b) (a>b) ? a : b;main (argc, argv)int argc;char **argv;{struct header *ih, *ah, *bh;struct header *oh;struct ana_data *dp, *np;int i,order;FILE *ostrm;	ih = new_header(FT_ANA);	strcpy(ih->common.prog,"testana");	strcpy(ih->common.vers,"1.0");	strcpy(ih->common.progdate,"April 3, 1986");	ih->common.ndrec = 5;	ih ->hd.ana->start = 1;	ih ->hd.ana->nan = 10000; /*this is a fake and may lead to trouble*/	ih ->hd.ana->frmlen = 180;	ih ->hd.ana->order_vcd = 10;	ih ->hd.ana->order_unvcd = 4;	ih ->hd.ana->piq_method = 0;	ih ->hd.ana->rcq_method = 0;	ih ->hd.ana->pwq_method = 0;	ih ->hd.ana->lpq_method = 0;	ih ->hd.ana->src_sf = 8000.; 	ih ->hd.ana->psynch = 1;	ih ->hd.ana->maxpulses = 10;	ih ->hd.ana->maxraw = 10;	ih ->hd.ana->maxlpc = 10;	ih->variable.comment = (char *)calloc(1,sizeof "this is a test");	printf("%d\n",add_comment(ih,"hello, this is comment 1\n",NULL));	printf("%d\n",add_comment(ih,"hello, this is comment 1\n",NULL));	printf("%d\n",add_comment(ih,"this is the last one\n",NULL));/* first sub header */	ah = new_header(FT_ANA);	strcpy(ah->common.prog,"testana1");	ah ->common.nchar = 3;	ah ->hd.ana->start = 2;	add_source_file (ih, "first", ah);/* second new header */	bh = new_header(FT_ANA);	bh ->hd.ana->start = 2;	bh ->hd.ana->p_offset =55;	strcpy(bh->common.prog,"testana2");	bh ->common.nchar = 3;	add_source_file (ih, "second", bh);        TRYOPEN ( "testana","testana.ana",  "w", ostrm );        write_header(ih, ostrm);	/* write some data */	dp = allo_ana_rec(ih);	/* get data structure */        order = max(ih->hd.ana->order_vcd,ih->hd.ana->order_unvcd);/* frist frame */	dp->tag = 1;	dp->raw_power[0] = 10; dp->raw_power[1] = 10;	dp->raw_power[2] = 50; dp->raw_power[3] = 500;	dp->raw_power[4] = 800;	dp->lpc_power[0] = 10; dp->lpc_power[1] = 10;	dp->lpc_power[2] = 50; dp->lpc_power[3] = 500;	dp->lpc_power[4] = 800;	dp->p_pulse_len[0] = 20; dp->p_pulse_len[1] = 30;	dp->p_pulse_len[2] = 50; dp->p_pulse_len[3] = 20;	dp->p_pulse_len[4] = 40;		dp->ref_coeff[0] = .004; dp->ref_coeff[1] = .001;	dp->ref_coeff[2] = .09; dp->ref_coeff[3] = .4;	dp->ref_coeff[4] = .9; dp->ref_coeff[5] = .001;	dp->ref_coeff[6] = .01; dp->ref_coeff[7] = .08;	dp->ref_coeff[8] = .0111; dp->ref_coeff[9] = .0983;printf("%f \n",dp->ref_coeff[8]);	for (i=0; i<order; i++) 		dp->frame_len += dp->p_pulse_len[i];		printf("put_ana %d\n",put_ana_rec(dp,ih,ostrm));/* next frame */	dp->tag += dp->frame_len;	dp->raw_power[0] = 10; dp->raw_power[1] = 10;	dp->raw_power[2] = 50; dp->raw_power[3] = 500;	dp->raw_power[4] = 800;	dp->lpc_power[0] = 10; dp->lpc_power[1] = 10;	dp->lpc_power[2] = 50; dp->lpc_power[3] = 500;	dp->lpc_power[4] = 800;	dp->p_pulse_len[0] = 20; dp->p_pulse_len[1] = 30;	dp->p_pulse_len[2] = 50; dp->p_pulse_len[3] = 20;	dp->p_pulse_len[4] = 40;		dp->ref_coeff[0] = .004; dp->ref_coeff[1] = .001;	dp->ref_coeff[2] = .09; dp->ref_coeff[3] = .4;	dp->ref_coeff[4] = .9; dp->ref_coeff[5] = .001;	dp->ref_coeff[6] = .04; dp->ref_coeff[7] = .08;	dp->ref_coeff[8] = .0222; dp->ref_coeff[9] = .0983;	dp->frame_len = 0;	for (i=0; i<order; i++) 		dp->frame_len += dp->p_pulse_len[i];		printf("put_ana %d\n",put_ana_rec(dp,ih,ostrm));/* third frame */	dp->tag += dp->frame_len;	dp->raw_power[0] = 10; dp->raw_power[1] = 0;	dp->raw_power[2] = 0; dp->raw_power[3] = 0;	dp->raw_power[4] = 0;	dp->lpc_power[0] = 10; dp->lpc_power[1] = 0;	dp->lpc_power[2] = 0; dp->lpc_power[3] = 0;	dp->lpc_power[4] = 0;	dp->p_pulse_len[0] = 0; dp->p_pulse_len[1] = 0;	dp->p_pulse_len[2] = 0; dp->p_pulse_len[3] = 0;	dp->p_pulse_len[4] = 0;		dp->ref_coeff[0] = .004; dp->ref_coeff[1] = .001;	dp->ref_coeff[2] = .09; dp->ref_coeff[3] = .4;	dp->ref_coeff[4] = .9; dp->ref_coeff[5] = .001;	dp->ref_coeff[6] = .04; dp->ref_coeff[7] = .08;	dp->ref_coeff[8] = .0333; dp->ref_coeff[9] = .0983;	dp->frame_len = 200;		printf("put_ana %d\n",put_ana_rec(dp,ih,ostrm));/* frame 4 */		dp->tag += dp->frame_len;	dp->raw_power[0] = 10; dp->raw_power[1] = 10;	dp->raw_power[2] = 50; dp->raw_power[3] = 500;	dp->raw_power[4] = 800;	dp->lpc_power[0] = 10; dp->lpc_power[1] = 10;	dp->lpc_power[2] = 50; dp->lpc_power[3] = 500;	dp->lpc_power[4] = 800;	dp->p_pulse_len[0] = 20; dp->p_pulse_len[1] = 30;	dp->p_pulse_len[2] = 50; dp->p_pulse_len[3] = 20;	dp->p_pulse_len[4] = 40;		dp->ref_coeff[0] = .004; dp->ref_coeff[1] = .001;	dp->ref_coeff[2] = .09; dp->ref_coeff[3] = .4;	dp->ref_coeff[4] = .9; dp->ref_coeff[5] = .001;	dp->ref_coeff[6] = .04; dp->ref_coeff[7] = .08;	dp->ref_coeff[8] = .0555; dp->ref_coeff[9] = .0983;	dp->frame_len = 0;	for (i=0; i<order; i++) 		dp->frame_len += dp->p_pulse_len[i];		printf("put_ana %d\n",put_ana_rec(dp,ih,ostrm));/* frame 5 */		dp->tag += dp->frame_len;	dp->raw_power[0] = 10; dp->raw_power[1] = 10;	dp->raw_power[2] = 50; dp->raw_power[3] = 500;	dp->raw_power[4] = 800;	dp->lpc_power[0] = 10; dp->lpc_power[1] = 10;	dp->lpc_power[2] = 50; dp->lpc_power[3] = 500;	dp->lpc_power[4] = 800;	dp->p_pulse_len[0] = 20; dp->p_pulse_len[1] = 30;	dp->p_pulse_len[2] = 50; dp->p_pulse_len[3] = 20;	dp->p_pulse_len[4] = 40;		dp->ref_coeff[0] = .004; dp->ref_coeff[1] = .001;	dp->ref_coeff[2] = .09; dp->ref_coeff[3] = .4;	dp->ref_coeff[4] = .9; dp->ref_coeff[5] = .001;	dp->ref_coeff[6] = .04; dp->ref_coeff[7] = .08;	dp->ref_coeff[8] = .0666; dp->ref_coeff[9] = .0983;	dp->frame_len = 0;	for (i=0; i<order; i++) 		dp->frame_len += dp->p_pulse_len[i];		printf("put_ana %d\n",put_ana_rec(dp,ih,ostrm));	fclose(ostrm);	TRYOPEN("testana", "testana.ana", "r", ostrm);	oh = read_header(ostrm);	printf("main header\n");	printf("type %d\n",ih->common.type);	printf("check %d\n",ih->common.check);	printf("prog %s\n",ih->common.prog);	printf("nchar %d\n",ih->common.nchar);	printf("start %d\n",ih->hd.ana->start);	printf("order_vcd %d\n",ih->hd.ana->order_vcd);	printf("order_unvcd %d\n",ih->hd.ana->order_unvcd);	printf("comment %s\n",ih->variable.comment);	printf("sub header 1\n");	printf("type %d\n",ih->variable.srchead[0]->common.type);	printf("check %d\n",ih->variable.srchead[0]->common.check);	printf("prog %s\n",ih->variable.srchead[0]->common.prog);	printf("nchar %d\n",ih->variable.srchead[0]->common.nchar);	printf("start %d\n",ih->variable.srchead[0]->hd.ana->start);	printf("comment %s\n",ih->variable.srchead[0]->variable.comment);	printf("sub header 2\n");	printf("type %d\n",ih->variable.srchead[1]->common.type);	printf("check %d\n",ih->variable.srchead[1]->common.check);	printf("prog %s\n",ih->variable.srchead[1]->common.prog);	printf("nchar %d\n",ih->variable.srchead[1]->common.nchar);	printf("start %d\n",ih->variable.srchead[1]->hd.ana->start);	printf("p_offset %d\n",ih->variable.srchead[1]->hd.ana->p_offset);	printf("comment %s\n",ih->variable.srchead[1]->variable.comment);		np = allo_ana_rec(ih);        order = max(ih->hd.ana->order_vcd,ih->hd.ana->order_unvcd);	while(get_ana_rec(np,ih,ostrm))print_ana_rec(np,ih,stdout);	}

⌨️ 快捷键说明

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