From: drowe67 Date: Thu, 12 Jan 2017 22:18:17 +0000 (+0000) Subject: 700C lives :-) X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=06e6223a62070d527165704e39d61098c677707c;p=freetel-svn-tracking.git 700C lives :-) git-svn-id: https://svn.code.sf.net/p/freetel/code@2963 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/codec2-dev/octave/tnewamp1.m b/codec2-dev/octave/tnewamp1.m index 34c87476..402eec12 100644 --- a/codec2-dev/octave/tnewamp1.m +++ b/codec2-dev/octave/tnewamp1.m @@ -188,8 +188,9 @@ function tnewamp1(input_prefix) Hm_out_name = sprintf("%s_hm.out", output_prefix); fhm = fopen(Hm_out_name,"wb"); + printf("Generating files for c2sim: "); for f=1:frames - printf("%d ", f); + printf(".", f); Wo = model_(f,1); L = min([model_(f,2) max_amp-1]); Am = model_(f,3:(L+2)); diff --git a/codec2-dev/src/c2dec.c b/codec2-dev/src/c2dec.c index 98e899c1..57f08154 100644 --- a/codec2-dev/src/c2dec.c +++ b/codec2-dev/src/c2dec.c @@ -99,8 +99,10 @@ int main(int argc, char *argv[]) mode = CODEC2_MODE_700; else if (strcmp(argv[1],"700B") == 0) mode = CODEC2_MODE_700B; - else { - fprintf(stderr, "Error in mode: %s. Must be 3200, 2400, 1600, 1400, 1300, 1200, 700 or 700B\n", argv[1]); + else if (strcmp(argv[1],"700C") == 0) + mode = CODEC2_MODE_700C; + else { + fprintf(stderr, "Error in mode: %s. Must be 3200, 2400, 1600, 1400, 1300, 1200, 700, 700B or 700C\n", argv[1]); exit(1); } bit_rate = atoi(argv[1]); diff --git a/codec2-dev/src/c2enc.c b/codec2-dev/src/c2enc.c index 66baa5e5..713ce2c1 100644 --- a/codec2-dev/src/c2enc.c +++ b/codec2-dev/src/c2enc.c @@ -46,7 +46,7 @@ int main(int argc, char *argv[]) int bit, byte,i; if (argc < 4) { - printf("usage: c2enc 3200|2400|1600|1400|1300|1200|700|700B InputRawspeechFile OutputBitFile [--natural] [--softdec]\n"); + printf("usage: c2enc 3200|2400|1600|1400|1300|1200|700|700B|700C InputRawspeechFile OutputBitFile [--natural] [--softdec]\n"); printf("e.g c2enc 1400 ../raw/hts1a.raw hts1a.c2\n"); printf("e.g c2enc 1300 ../raw/hts1a.raw hts1a.c2 --natural\n"); exit(1); @@ -68,8 +68,10 @@ int main(int argc, char *argv[]) mode = CODEC2_MODE_700; else if (strcmp(argv[1],"700B") == 0) mode = CODEC2_MODE_700B; + else if (strcmp(argv[1],"700C") == 0) + mode = CODEC2_MODE_700C; else { - fprintf(stderr, "Error in mode: %s. Must be 3200, 2400, 1600, 1400, 1300, 1200, 700 or 700B\n", argv[1]); + fprintf(stderr, "Error in mode: %s. Must be 3200, 2400, 1600, 1400, 1300, 1200, 700, 700B or 700C\n", argv[1]); exit(1); } diff --git a/codec2-dev/src/codec2.c b/codec2-dev/src/codec2.c index a6b57c8f..51b177c1 100644 --- a/codec2-dev/src/codec2.c +++ b/codec2-dev/src/codec2.c @@ -175,8 +175,6 @@ struct CODEC2 * codec2_create(int mode) c2->voicing_left = 0;; c2->phase_fft_fwd_cfg = codec2_fft_alloc(NEWAMP1_PHASE_NFFT, 0, NULL, NULL); c2->phase_fft_inv_cfg = codec2_fft_alloc(NEWAMP1_PHASE_NFFT, 1, NULL, NULL); - printf("c2->phase_fft_fwd_cfg: %x\n", c2->phase_fft_fwd_cfg); - printf("c2->phase_fft_inv_cfg: %x\n", c2->phase_fft_inv_cfg); } return c2; @@ -1794,15 +1792,12 @@ void codec2_encode_700c(struct CODEC2 *c2, unsigned char * bits, short speech[]) MODEL model; int indexes[4], i, M=4; unsigned int nbit = 0; - static int f = 0; assert(c2 != NULL); memset(bits, '\0', ((codec2_bits_per_frame(c2) + 7) / 8)); analyse_one_frame(c2, &model, speech); - fprintf(stderr,"f: %d Wo: %4.3f L: %d v: %d\n", f, model.Wo, model.L, model.voiced); - f++; int K = 20; float rate_K_vec[K], mean; @@ -1817,21 +1812,10 @@ void codec2_encode_700c(struct CODEC2 *c2, unsigned char * bits, short speech[]) rate_K_vec_no_mean, rate_K_vec_no_mean_); - for(i=0; i<5; i++) { - fprintf(stderr," %5.3f", rate_K_vec[i]); - } - fprintf(stderr,"\n"); - fprintf(stderr," %d %d %d %d\n", indexes[0], indexes[1], indexes[2], indexes[3]); - for(i=1; iphase_fft_inv_cfg, indexes); - fprintf(stderr,"f: %d\n", f); - fprintf(stderr," %d %d %d %d\n", indexes[0], indexes[1], indexes[2], indexes[3]); - for(i=0; i<4; i++) { - fprintf(stderr," Wo: %4.3f L: %d v: %d\n", model[i].Wo, model[i].L, model[i].voiced); - } - fprintf(stderr," rate_K_vec: "); - for(i=0; i<5; i++) { - fprintf(stderr,"%5.3f ", c2->prev_rate_K_vec_[i]); - } - fprintf(stderr,"\n"); - fprintf(stderr," H:\n"); - - for(int m=0; mL, sample_freqs_kHz, Ns); - fprintf(stderr, " Gdbfk: "); - for(i=0; i<5; i++) - fprintf(stderr, "%5.3f ", Gdbfk[i]); - fprintf(stderr,"\n"); - mag_to_phase(phase, Gdbfk, Nfft, fwd_cfg, inv_cfg); - fprintf(stderr, " phase: "); - for(i=0; i<5; i++) - fprintf(stderr, "%5.3f ", phase[i]); - fprintf(stderr,"\n"); - for(m=1; m<=model->L; m++) { b = floorf(0.5+m*model->Wo*Nfft/(2.0*M_PI)); - H[m].real = cosf(phase[b]); H[m].imag = -sinf(phase[b]); + H[m].real = cosf(phase[b]); H[m].imag = sinf(phase[b]); } } @@ -602,18 +592,6 @@ void newamp1_indexes_to_model(MODEL model_[], resample_rate_L(&model_[i], &interpolated_surface_[K*i], rate_K_sample_freqs_kHz, K); determine_phase(&H[(MAX_AMP+1)*i], &model_[i], NEWAMP1_PHASE_NFFT, fwd_cfg, inv_cfg); - - if (i == 0) { - int m; - fprintf(stderr, " Am: "); - for(m=1; m<=5; m++) - fprintf(stderr, "%5.3f ", model_[i].A[m]); - fprintf(stderr,"\n"); - fprintf(stderr, " H: "); - for(m=1; m<=5; m++) - fprintf(stderr, "(%5.3f %5.3f) ", H[(MAX_AMP+1)*i+m].real, H[(MAX_AMP+1)*i+m].imag); - fprintf(stderr,"\n"); - } } /* update memories for next time */ diff --git a/codec2-dev/unittest/tnewamp1.c b/codec2-dev/unittest/tnewamp1.c index a27a5d14..6c12eb27 100644 --- a/codec2-dev/unittest/tnewamp1.c +++ b/codec2-dev/unittest/tnewamp1.c @@ -37,7 +37,7 @@ #include "newamp1.h" #include "quantise.h" -#define FRAMES 100 +#define FRAMES 300 int main(int argc, char *argv[]) { short buf[N_SAMP]; /* input/output buffer */ @@ -224,8 +224,8 @@ int main(int argc, char *argv[]) { fprintf(stderr,"\n\n"); - if (f == 80) - exit(0); + //if (f == 80) + // exit(0); /* with f == 0, we don't store ouput, but memories are updated, helps to match what happens in Codec 2 mode */