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

📄 prnt_hdr.c.old

📁 speech signal process tools
💻 OLD
📖 第 1 页 / 共 2 页
字号:
/* psps - prints SPS data files * * This material contains proprietary software of Entropic Processing, Inc.    * Any reproduction, distribution, or publication without the the prior	    * written permission of Entropic Processing, Inc. is strictly prohibited. * Any public distribution of copies of this work authorized in writing by * Entropic Processing, Inc. must bear the notice			 *								 *            "Copyright 1986 Entropic Processing, Inc." * * psps - dumps an SPS data file on standard output.   This verison by *        Alan Parker, based on the SDS version by Joe Buck. */#ifdef SCCS static char *sccs_id = "%W% %G% EPI";#endif#include <stdio.h>#include <sps/sps.h>#define MAX(a,b) ((a>b) ? a : b)void tab(), print_generic();char *file_type();int idx_ok();static voidpr_zfunc(lev,label,zf)int lev;char *label;struct zfunc *zf;{    int i;    if(zf == NULL) {        tab (lev);	printf("No %s zfunc\n",label);	return;    }    tab (lev);    printf ("%s: nsiz: %d, dsiz: %d, { ", label,zf->nsiz,zf->dsiz);    for (i = 0; i < zf -> nsiz; i++) printf ("%.4g ", zf -> zeros[i]);    printf ("} / { ");    for (i = 0; i < zf -> dsiz; i++) printf ("%.4g ", zf -> poles[i]);    printf ("}\n");}voidtab(indent) {    while (indent--) printf("  ");}voidprint_common(indent, hdr)int indent;struct header *hdr;{  int i;  char *text = hdr->variable.typtxt;  char *comment = hdr->variable.comment;  char *refer = hdr->variable.refer;  printf("\n");  tab(indent);   (void) printf("---Common Part of Header---\n");  tab(indent);  (void) printf("File type: %s\n", file_type(hdr->common.type));  tab(indent);  (void) printf("File header date: %s, header version: %s\n",	hdr->common.date, hdr->common.hdvers);  tab(indent);  (void) printf("Produced by: %s, version: %s, of: %s\n",	hdr->common.prog, hdr->common.vers, hdr->common.progdate);  tab(indent);  (void) printf("User: %s\n",hdr->common.user);  tab(indent);  (void) printf("Number of data records: %d\n",hdr->common.ndrec);  tab(indent);  (void) printf("Data is %s tagged.\n", (hdr->common.tag ? "" : "not"));  tab(indent);  (void) printf("Data format is %d doubles, %d floats, %d longs,\n",	hdr->common.ndouble, hdr->common.nfloat, hdr->common.nlong);  tab(indent);  (void) printf("%d shorts, and %d chars (bytes).\n",hdr->common.nshort, 	hdr->common.nchar);  if(text) {	tab(indent);	printf("typtxt: ");	fputs(text,stdout);	if(text[strlen(text)-1] != '\n')		putchar('\n');  }  if(refer) {	tab(indent);	printf("refer file: ");	fputs(refer,stdout);	if(text[strlen(refer)-1] != '\n')		putchar('\n');  }  if(comment) {	tab(indent);	printf("comment text: ");	fputs(comment,stdout);	if(text[strlen(comment)-1] != '\n')		putchar('\n');  }  if(hdr->variable.source[0]) {	int i=1;	tab(indent);	printf("Source files: %s\n",hdr->variable.source[0]);	while(hdr->variable.source[i] && i < hdr->variable.nnames){		tab(indent);		printf("              %s\n",hdr->variable.source[i++]);	}  }  if(hdr->variable.refhd) {	tab(indent);	printf("There is a reference header.\n");  } else {	tab(indent);	printf("There is no reference header.\n");  }  for (i=0; i<NSPARES; i++) 	if (hdr->common.spares[i] != 0) {	 tab(indent);	 (void) printf("spares[%d]: 0x%x\n", i, (int) hdr->common.spares[i]);	}  return;}voidprint_generic(indent,hdr)int indent;struct header *hdr;{  char **names;  int j,i,k=0,num,size,type;  if(hdr->variable.ngen == 0) return;  printf("\n");  tab(indent);  (void) printf("---Generic Header---");  names = genhd_list(&num,hdr);  for (i=0; i<num; i++) {    char *cptr; double *dptr; float *fptr; long *lptr; short *sptr;    type = genhd_type(names[i],&size,hdr);    printf("\n");    tab(indent);    printf("%s[0]: ",names[i]);    k=0;    cptr = get_genhd(names[i],hdr);    if (type == CHAR && size > 1) {	printf("%s",cptr); 	tab(indent);    }    else      for (j=0;j<size; j++) {	k++;	if(k>7) { printf("\n"); tab(indent); printf("%s[%d]: ",names[i],j); 		  k=0; 		}	switch(type) {	 case DOUBLE:     		dptr = (double *)get_genhd(names[i],hdr);		printf("%lg ",dptr[j]);		break;	 case FLOAT:     		fptr = (float *)get_genhd(names[i],hdr);		printf("%g ",fptr[j]);		break;	 case SHORT:     		sptr = (short *)get_genhd(names[i],hdr);		printf("%d ",sptr[j]);		break;	 case LONG:     		lptr = (long *)get_genhd(names[i],hdr);		printf("%ld ",lptr[j]);		break;	 case CHAR:     		cptr = get_genhd(names[i],hdr);		printf("0x%x ",cptr[j]);		break;	 case CODED:  {		char **codes = genhd_codes(names[i],hdr);    		sptr = (short *)get_genhd(names[i],hdr);		if(idx_ok(sptr[j],codes))		  printf("%s ",codes[sptr[j]]);		else		  printf("invalid code %d ",sptr[j]);		break;	        }	}       }  }  printf("\n");}voidprint_ana(indent,hdr)int indent;struct header *hdr;{  struct ana_header *h = hdr->hd.ana;  int i;  printf("\n");  tab(indent);  (void) printf("---ANA Header---\n");  tab(indent);  (void) printf("start: %ld, nan: %ld, frmlen: %d\n",	h->start, h->nan, (int) h->frmlen);  tab(indent);  (void) printf("order_vcd: %d, order_unvcd: %d, p_offset: %d\n",	(int) h->order_vcd, (int) h->order_unvcd, (int) h->p_offset);  tab(indent);  if(idx_ok(h->piq_method,quant_methods))	(void) printf("piq_method: %s\n",quant_methods[h->piq_method]);  else	(void) printf("piq_method: invalid code %d\n",(int)h->piq_method);  tab(indent);  if(idx_ok(h->rcq_method,quant_methods))	(void) printf("rcq_method: %s\n",quant_methods[h->rcq_method]);  else	(void) printf("rcq_method: invalid code %d\n",(int)h->rcq_method);  tab(indent);  if(idx_ok(h->pwq_method,quant_methods))	(void) printf("pwq_method: %s\n",quant_methods[h->pwq_method]);  else	(void) printf("pwq_method: invalid code %d\n",(int)h->pwq_method);  tab(indent);  if(idx_ok(h->lpq_method,quant_methods))	(void) printf("lpq_method: %s\n",quant_methods[h->lpq_method]);  else	(void) printf("lpq_method: invalid code %d\n",(int)h->lpq_method);  tab(indent);  if(idx_ok(h->win_type,win_type_codes))	(void) printf("win_type: %s\n",win_type_codes[h->win_type]);  else	(void) printf("win_type: invalid code %d\n",(int)h->win_type);  tab(indent);  if(idx_ok(h->coh_method,coh_est_methods))	(void) printf("coh_method: %s\n",coh_est_methods[h->coh_method]);  else	(void) printf("coh_method: invalid code %d\n",(int)h->coh_method);  tab(indent);  (void) printf("src_sf: %g\n",h->src_sf);  tab(indent);  if(idx_ok(h->a_method,spec_ana_methods))	(void) printf("a_method: %s\n",spec_ana_methods[h->a_method]);  else	(void) printf("a_method: invalid code %d\n",(int)h->a_method);  tab(indent);  (void) printf("dcrem: %g, psynch: %d, maxpulses: %d\n",	h->dcrem, (int)h->psynch, (int)h->maxpulses);  tab(indent);  (void) printf("maxlpc: %d, maxraw: %d, matsiz: %d\n",	(int)h->maxlpc, (int)h->maxraw, (int)h->matsiz);  tab(indent);  (void) printf("rms_fullscale: %lf, sinc_flg: %d\n",	h->rms_fullscale, (int)h->sinc_flg);  for (i=0; i<ANA_SPARES; i++) 	if (h->spares[i] != 0) {		tab(indent);		(void) printf("spares[%d]: 0x%x\n", i, (int) h->spares[i]);	}  pr_zfunc(indent,"pre_emp",h->pre_emp);  return;}voidprint_pitch(indent, hdr)int indent;struct header *hdr;{  struct pit_header *h = hdr->hd.pit;  int i;  printf("\n");  tab(indent);  (void) printf("---Pitch File Header---\n");  tab(indent);  (void) printf("start: %ld, nan: %ld, stepsz: %d\n", h->start,	h->nan, (int) h->stepsz);  tab(indent);  (void) printf("u_pflt_order: %d, v_pflt_order: %d\n",	(int) h->u_pflt_order, (int) h->v_pflt_order);  tab(indent);  if(idx_ok(h->win_type,win_type_codes))	(void) printf("win_type: %s\n",win_type_codes[h->win_type]);  else	(void) printf("win_type: invalid code %d\n",(int)h->win_type);  tab(indent);  if(idx_ok(h->coh_method,coh_est_methods))	(void) printf("coh_method: %s\n",coh_est_methods[h->coh_method]);  else	(void) printf("coh_method: invalid code %d\n",(int)h->coh_method);  tab(indent);  (void) printf("src_sf: %g\n",h->src_sf);  tab(indent);  (void) printf("dcrem: %s\n", (h->dcrem ? "YES":"NO"));   tab(indent);  if(idx_ok(h->p_method,pitch_methods))	(void) printf("p_method: %s\n",pitch_methods[h->p_method]);  else	(void) printf("p_method: invalid code %d\n",(int)h->p_method);  tab(indent);  (void) printf("pt_wsize: %d, uv_thresh: %g\n",(int)h->pt_wsize,	h->uv_thresh);  tab(indent);  (void) printf("min_pp: %d, max_pp: %d, wflt_order: %d\n",	(int)h->min_pp, (int)h->max_pp, (int)h->wflt_order);  tab(indent);  (void) printf("coh_window_frac: %g, pb_offset: %d\n",	h->coh_window_frac, (int)h->pb_offset);  tab(indent);  (void) printf("harmonic_mult: %g, tm_uv_thresh: %g\n",	h->harmonic_mult, h->tm_uv_thresh);  tab(indent);  (void) printf("am_uv_thresh: %g, hp_thresh: %g, pulse_search: %d\n",	h->am_uv_thresh, h->hp_thresh, (int)h->pulse_search);  tab(indent);  (void) printf("gain_halt: %g, min_coh_len: %d, max_coh_len: %d\n",	h->gain_halt, (int) h->min_coh_len, (int) h->max_coh_len);  tab(indent);  if(idx_ok(h->coh_data,coh_data_codes))	(void) printf("coh_data: %s\n",coh_data_codes[h->coh_data]);  else	(void) printf("coh_data: invalid code %d\n",(int)h->coh_data);  for (i=0; i<PIT_SPARES; i++) 	if (h->spares[i] != 0) {		tab(indent);		(void) printf("spares[%d]: 0x%x\n", i,(int) h->spares[i]);	}  pr_zfunc(indent,"prefilter",h->prefilter);  pr_zfunc(indent,"lpf",h->lpf);  return;}voidprint_sd(indent, hdr)int indent;struct header *hdr;{  struct sd_header *h = hdr->hd.sd;  int i;  printf("\n");  tab(indent);  (void) printf("---Sampled Data File Header---\n");  tab(indent);  if(idx_ok(h->equip,equip_codes))	(void) printf("equip: %s\n",equip_codes[h->equip]);  else	(void) printf("equip: invalid code %d\n",(int)h->equip);  tab(indent);  (void) printf("max_value: %g, sf: %g, src_sf: %g\n",	h->max_value, h->sf, h->src_sf);  tab(indent);  if(idx_ok(h->synt_method,synt_methods))	(void) printf("synt_method: %s\n",synt_methods[h->synt_method]);  else	(void) printf("synt_method: invalid code %d\n",(int)h->synt_method);  tab(indent);  (void) printf("scale: %g, dcrem: %g\n",h->scale,h->dcrem);  tab(indent);  if(idx_ok(h->q_method,synt_methods))	(void) printf("q_method: %s\n",quant_methods[h->q_method]);  else	(void) printf("q_method: invalid code %d\n",(int)h->q_method);  tab(indent);  if(idx_ok(h->v_excit_method,excit_methods))	(void) printf("v_excit_method: %s\n",excit_methods[h->v_excit_method]);  else	(void) printf("v_excit_method: invalid code %d\n",(int)h->v_excit_method);  tab(indent);  if(idx_ok(h->uv_excit_method,excit_methods))	(void) printf("uv_excit_method: %s\n",excit_methods[h->uv_excit_method]);  else	(void) printf("uv_excit_method: invalid code %d\n",(int)h->uv_excit_method);  tab(indent);  (void) printf("spare1: %d, nchan: %d\n",(int)h->spare1,(int)h->nchan);  tab(indent);  if(idx_ok(h->synt_interp,synt_inter_methods))	(void) printf("synt_interp: %s\n",synt_inter_methods[h->synt_interp]);  else

⌨️ 快捷键说明

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