From: Natsumi K. <koi...@us...> - 2017-10-06 03:43:17
|
Update of /cvsroot/sp-tk/SPTK/src/bin/csm2acr In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv29233 Modified Files: csm2acr.c _csm2acr.c Log Message: modify csm2acr command Index: _csm2acr.c =================================================================== RCS file: /cvsroot/sp-tk/SPTK/src/bin/csm2acr/_csm2acr.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** _csm2acr.c 25 Jul 2017 10:40:24 -0000 1.1 --- _csm2acr.c 6 Oct 2017 03:43:14 -0000 1.2 *************** *** 53,57 **** double *csm : CSM parameters double *r : autocorrelation coefficients ! int m : order of autocorrelation ****************************************************************/ --- 53,57 ---- double *csm : CSM parameters double *r : autocorrelation coefficients ! int m : number of sine waves ****************************************************************/ *************** *** 72,83 **** double *frequencies, *intensities; ! n = (m + 1) / 2; frequencies = csm; ! intensities = csm + n; ! for (l = 0; l <= m; l++) { r[l] = 0.0; ! for (i = 0; i < n; i++) { r[l] += intensities[i] * cos(l * frequencies[i]); } --- 72,83 ---- double *frequencies, *intensities; ! n = 2 * m - 1; frequencies = csm; ! intensities = csm + m; ! for (l = 0; l <= n; l++) { r[l] = 0.0; ! for (i = 0; i < m; i++) { r[l] += intensities[i] * cos(l * frequencies[i]); } Index: csm2acr.c =================================================================== RCS file: /cvsroot/sp-tk/SPTK/src/bin/csm2acr/csm2acr.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** csm2acr.c 25 Jul 2017 10:40:24 -0000 1.1 --- csm2acr.c 6 Oct 2017 03:43:14 -0000 1.2 *************** *** 52,62 **** * csm2acr [ options ] [ infile ] > stdout * * options: * ! * -m M : order of autocorrelation [25] * * infile: * * Composite Sinusoidal Modeling * ! * , w(1), ..., w((M+1)/2), m(1), ..., m((M+1)/2), * * stdout: * * autocorrelation coefficeints * ! * , r(0), r(1), ..., r(M), * * require: * * csm2acr() * --- 52,62 ---- * csm2acr [ options ] [ infile ] > stdout * * options: * ! * -m M : number of sine waves [13] * * infile: * * Composite Sinusoidal Modeling * ! * , w(1), ..., w(M), m(1), ..., m(M), * * stdout: * * autocorrelation coefficeints * ! * , r(0), r(1), ..., r(2M-1), * * require: * * csm2acr() * *************** *** 86,90 **** /* Default Values */ ! #define ORDER 25 /* Command Name */ --- 86,90 ---- /* Default Values */ ! #define DEF_M 13 /* Command Name */ *************** *** 100,105 **** fprintf(stderr, " %s [ options ] [ infile ] > stdout\n", cmnd); fprintf(stderr, " options:\n"); ! fprintf(stderr, " -m m : order of autocorrelation [%d]\n", ! ORDER); fprintf(stderr, " -h : print this message\n"); fprintf(stderr, " infile:\n"); --- 100,105 ---- fprintf(stderr, " %s [ options ] [ infile ] > stdout\n", cmnd); fprintf(stderr, " options:\n"); ! fprintf(stderr, " -m m : number of sine waves [%d]\n", ! DEF_M); fprintf(stderr, " -h : print this message\n"); fprintf(stderr, " infile:\n"); *************** *** 119,123 **** int main(int argc, char **argv) { ! int m = ORDER; FILE *fp = stdin; double *csm, *r; --- 119,123 ---- int main(int argc, char **argv) { ! int m = DEF_M; FILE *fp = stdin; double *csm, *r; *************** *** 143,157 **** fp = getfp(*argv, "rb"); ! if (m % 2 == 0) { ! fprintf(stderr, "%s : Order of autocorrelation must be odd!\n", cmnd); ! return 1; ! } ! ! csm = dgetmem(m + 1 + m + 1); ! r = csm + m + 1; ! while (freadf(csm, sizeof(*csm), m + 1, fp) == m + 1) { csm2acr(csm, r, m); ! fwritef(r, sizeof(*r), m + 1, stdout); } --- 143,152 ---- fp = getfp(*argv, "rb"); ! csm = dgetmem(2 * m + 2 * m); ! r = csm + 2 * m; ! while (freadf(csm, sizeof(*csm), 2 * m, fp) == 2 * m) { csm2acr(csm, r, m); ! fwritef(r, sizeof(*r), 2 * m, stdout); } |